Commit Graph

902 Commits

Author SHA1 Message Date
Guillaume Collic 9642b9aacc Add PaperBox 2021-01-28 13:59:47 +01:00
jomjol eea27ee74d Implementation of FlexSettings
Addding of FlexSettings to RoundedBox to adjust the flexibility setting for the corners
2020-12-29 22:29:27 +01:00
Florian Festi e6dccc4135 StorageRack: Add pictures
Thanks to https://github.com/impellerturn for providing the images!
2020-12-29 15:33:27 +01:00
Florian Festi 34260e1b01 Castle: Actually add description 2020-12-29 15:18:37 +01:00
Florian Festi 8613c64b32 Also scale line width
This in practise only affects PostScript and derived formats - basically
everything except SVG
2020-11-19 23:23:39 +01:00
Guillaume Collic b41a3114ca AgricolaInsert: better thickness range support 2020-11-16 22:46:43 +01:00
Florian Festi 632a96676a Fix typo in RoundedTriangleFingerHolesEdge 2020-11-11 00:35:22 +01:00
Florian Festi 7afe0329a2 MakitaPowerSupply: Dynamically calculate vent holes 2020-11-10 18:00:40 +01:00
Florian Festi 043f208213 AllEdges: Fix for new backend 2020-11-09 19:15:55 +01:00
Florian Festi 09b4de82de MakitaPowerSuppy: Replace hyphens parameter names 2020-11-09 19:15:55 +01:00
Florian Festi 47d3600016 Add RoundedTriangleFingerHolesEdge (T) 2020-11-09 19:15:55 +01:00
Florian Festi e5f88eda4c Fix typo 2020-11-09 19:15:48 +01:00
Florian Festi cdc89e3cde SilverwareBox: Add missing stroke() command 2020-10-20 17:00:15 +02:00
Florian Festi 2d64dcccdf Fix Context.curve_to
Didn't move to the end point properly in the new backend.
2020-10-20 17:00:15 +02:00
Florian Festi 90c783568f OttoBody: Fix issue with HexHoles that broke the generator
Thanks to https://github.com/ottobot42 for reporting.

Resolves: #250
2020-10-19 21:00:38 +02:00
Florian Festi adc3ec5210 Fix polygonWalls()
Not calling .stroke() now creates a error with the new backend.

Thanks to Michel27290 (https://hackaday.io/hacker/1123712) for reporting!
2020-10-16 11:38:30 +02:00
Florian Festi dabab1880f SpicesRack: Fix feet to support first level 2020-10-13 22:49:19 +02:00
Florian Festi 1dd567657e Fix use of roundedPlate in Display and LaserClamp
Thanks to Guillaume Collic (https://github.com/gcollic) for reporting!

Resolves: #248
2020-10-13 20:00:09 +02:00
Florian Festi 6dff8db710 Add alignment pins to BayonetBox
Also add a lower ring to the bayonet lid of the RegularBox limiting rotation
2020-10-13 16:07:31 +02:00
Florian Festi f74e86c38f BasedBox: Add description and point people to edge_width 2020-10-11 14:01:03 +02:00
Marcin Zukowski dfc2f075d9 Adding Grooved Edge (z, Z), example use in UnevenHeightBox 2020-09-29 20:40:18 +02:00
Guillaume Collic 2a55183e50 AgricolaInsert: optimize player box generation layout 2020-09-20 12:37:29 +02:00
Guillaume Collic 9e83c2ad9b Add AgricolaInsert box 2020-09-20 12:37:29 +02:00
Guillaume Collic 7495de72f7 DividerTray: refactor, and makes it easier to reuse 2020-09-20 12:37:29 +02:00
Guillaume Collic eba63d9acb Add option to do rectangular holes without centering them 2020-09-20 12:37:29 +02:00
Florian Festi 7fd4306664 Add h edge to top_edge parameter
Resolves: #244
2020-09-19 22:39:30 +02:00
Florian Festi e35447e536 Fix FlexEdge to use separate path for the flex cut
to allow continous outlines for parts.

Resolves: #242
2020-09-15 17:44:58 +02:00
Florian Festi 3513cf88a8 Fix code closing paths to look at each section separately 2020-09-15 17:44:58 +02:00
Marcin Zukowski f058ce68fb Add --lid_height in UnevenHeightBox 2020-08-28 10:35:10 +02:00
Florian Festi 812b3ad59a regularPolygonWall: Fix size calculation 2020-08-16 15:02:56 +02:00
Ba-So d34d6ed987 fixed proper use of settings in paintbox.py 2020-08-15 09:47:40 +02:00
Ba-So f6e2773810 fixed bug where the option hexpattern=True would cause an error. 2020-08-14 12:30:21 +02:00
Guillaume Collic 676772ee64 Clarify rectangularHole x,y parameters (center) 2020-08-13 00:38:54 +02:00
Florian Festi a0c04d10ca Add description to ClickSettings 2020-08-04 23:42:12 +02:00
Florian Festi 0980270dcf RectangularWall: Fix list of available edge types
M -> N
2020-08-04 23:41:08 +02:00
Florian Festi d3fa5ec0d4 UniversalBox: Add vertical_edges parameter
to allow finger hole joints for more stability

Fixes: whining by wu
2020-08-04 21:52:25 +02:00
Florian Festi efe87c3e2e TwoPiece: Add hi parameter to allow for lower inner wall 2020-08-04 19:33:11 +02:00
Florian Festi bdc6a4c110 Add screwholes param to Boxes.NEMA() 2020-08-04 19:33:11 +02:00
Florian Festi 9bbca5419f New generator: NemaPattern 2020-08-04 19:33:11 +02:00
Florian Festi 4d2db03dc4 New generator: FanHole 2020-08-04 19:33:11 +02:00
Florian Festi 59564a58a7 Only add "unless outside selected" if "outside" param is present
Void confusing users if outside param is missing but still be mentioned in
the help text.
2020-08-04 19:33:11 +02:00
Florian Festi b8432e93af New generator HexHoles 2020-08-04 19:33:11 +02:00
Florian Festi e643e07b4d Add HexHolesSettings class
to get rid of the settings tuple and to support changing them in the UI

Related: #33
2020-08-04 19:33:11 +02:00
Florian Festi 415b133822 Add new Hole Patterns group 2020-08-04 19:33:10 +02:00
Florian Festi 3dc5aa997c Console: Fix for front_height == 0
Thanks to dougw (https://hackaday.io/hacker/885177-dougw) for pointing
this out!
2020-07-23 16:19:56 +02:00
Florian Festi 262d7804a4 Console and Console2: Add outside parameter
Also rename hi param to front_height in Console
2020-07-23 16:13:59 +02:00
Florian Festi 402c04568e DividerTray: Add Finger Joint Settings
Thanks to John Hildebrand https://hackaday.io/hacker/528106-john-hildebrand
for jointing out that they were missing!
2020-07-09 00:22:13 +02:00
Florian Festi 02a7299618 Fix text alignment attributes
Was broken for "left"
Resolves: #228
2020-07-04 23:56:37 +02:00
Florian Festi 2575cc39df Add support for a bayonet mount lid to the RegularBox
Adjust BayonetBox to make the pieces usable from outside
2020-06-23 21:47:08 +02:00
Florian Festi 604ea923af New generator: BasedBox 2020-06-22 19:57:18 +02:00
Florian Festi ea0c9480e1 TriangleLamp: Fix hole position in front 2020-06-16 22:56:01 +02:00
Florian Festi cd884c63bf AngledBox: Add bottom_edge parameter
Also fix bug with non matching finger joints between side walls and
miss alignment of the bottom and top pieces
2020-06-03 21:56:55 +02:00
Florian Festi ecaba08aa6 New generator: DinRailBox 2020-05-29 22:59:15 +02:00
Florian Festi c5a35bd3ec CardBox: Fix typo 2020-05-27 17:27:23 +02:00
Florian Festi baf996764c CardBox: Add building instructions
including a new picture of lid details by https://github.com/bwente
2020-05-26 18:07:17 +02:00
Stefan Schwarz c065e154be Generator for a split Atreus keyboard 2020-05-23 23:28:35 +02:00
Florian Festi 6cd6e1826e Close paths in SVG back end 2020-05-23 15:03:16 +02:00
Florian Festi 07e53868f6 Remove duplicated "f" option in top_edge parameter
Thanks to Zhong for pointing this out!
2020-05-22 13:32:43 +02:00
Florian Festi c978266906 DividerTray: Fix bottom edge for middle walls 2020-05-22 10:25:55 +02:00
Florian Festi 2fc59b48df Remove reference to cairo 2020-05-18 22:30:28 +02:00
Florian Festi 46b1e8684f Add estimate for extents of text
Fix adjustment of SVG coordinates
2020-05-18 22:30:28 +02:00
Florian Festi 95dc7f5731 Fix padding for SVG 2020-05-18 22:30:28 +02:00
Florian Festi 39e2b0cfc3 Split all arcs > 100° into smaller pieces
This is necessary to make the approximation with Bezier curves work
2020-05-18 22:30:28 +02:00
Florian Festi 3c94b4bf76 Don't try to draw arcs with an zero angle
Thanks to Bruno Ferrarese <https://github.com/bferrarese> for finding and
reporting this issue!
2020-05-18 22:30:28 +02:00
Florian Festi 6440bcb639 Get text working for both SVG and PS
Move coordiate translation to to finish() method
Use Latin1 encoding for text PS in output

Add Boxes.set_font() to support basic font styles:
 serif, sans-serif and monospaced
 in normal, bold, italic and both bold and italic
2020-05-18 22:30:28 +02:00
Florian Festi 492e7fb4dd SVGSurface: Use horizontal and vertial lines
instead for just regular lines. This saves one number per point involved.
2020-05-18 22:30:28 +02:00
Florian Festi 9e08691e15 Remove SVG and PS post processing code
Remove Extend class from svgutil
2020-05-18 22:30:28 +02:00
Florian Festi fddf78fcc3 Add metadata to the SVG files right away 2020-05-18 22:30:28 +02:00
Florian Festi 0594ee703d Replace svgwrite with xml.ElementTree 2020-05-18 22:30:28 +02:00
Thomas Kalka fd48e57f33 Implement new backend without cairo
by providing SVGSurface, PSSurface and Context classes

Disable post processing as we want to create proper files right away
2020-05-18 22:30:28 +02:00
Thomas Kalka da0e390789 do not start holes with the corner 2020-05-18 22:30:28 +02:00
Florian Festi 89805b4804 New generator: SideDoorHousing 2020-05-12 21:54:59 +02:00
Florian Festi 6091cf955f Comsole2: Move to Box group in the UI 2020-05-10 16:13:54 +02:00
Florian Festi 27264f8c08 New fingerHoleRectangle() function 2020-05-10 16:12:27 +02:00
Florian Festi 928be1620b UniversalBox: Change default for outset to True
for edge with hinge eye (i) top_edge
2020-05-05 22:03:20 +02:00
Florian Festi 1f2d35082d Console2: Properly name front_height parameter 2020-05-05 18:28:52 +02:00
Florian Festi 0acc9c2a38 Console2: Move back wall latch down
to reduce chance of it conflicting with the front panel
2020-05-05 18:13:03 +02:00
Florian Festi 05a7e02486 Console2: Images, descriptions and parameters for hatches
Add three new parameters: removable_backwall, removable_panel and glued_panel
that control which of the service hatches are present and how to attach
the front panel
2020-05-05 09:44:07 +02:00
Florian Festi 93273f2fc7 Console2: Improve and fix latches 2020-05-02 18:42:36 +02:00
Florian Festi 949c8d8324 Fix polygonWalls() for uneven number of walls and symetrical==True
For an uneven number of walls one needs to have two different edges
to be able to close the loop.
2020-05-02 00:43:33 +02:00
Florian Festi e2d716aeb8 Console2: Fix bottom edge for front and back 2020-05-01 23:49:05 +02:00
Florian Festi d45ccba307 New generator: Console2 2020-05-01 23:36:44 +02:00
Florian Festi 966a6c77cf Add "rotated" to possible move terms 2020-05-01 23:35:55 +02:00
Florian Festi 54d4b6bebd Console: Fix x, y confusion 2020-04-29 12:25:46 +02:00
Florian Festi 279b60abc8 New generator: Console 2020-04-28 22:25:47 +02:00
Florian Festi 9ea1d55a94 Add translate param 2020-04-20 16:30:33 +02:00
Stefan Schwarz 2f2256ec7d Keypad support for CPG151101S11 hotplug sockets 2020-04-13 20:11:44 +02:00
Florian Festi c4ca1b4dfa Also translate Edge descriptions in ArgparseEdgeType 2020-04-13 18:45:17 +02:00
Florian Festi f961cd533d KeyPad: Improve parameter descriptions 2020-04-13 13:53:38 +02:00
Florian Festi 195c68c28f
Rail holes dist (#213)
* added EurorackSkiff Generator

* fixed holes distribution
2020-03-05 23:09:03 +01:00
Stefan Schwarz 3a14e1796b Generator for keypads with mechanical switches 2020-03-04 20:24:47 +01:00
Florian Festi 0178a853c3 Add Inkscape style meta data to SVG output 2020-03-01 16:53:41 +01:00
Florian Festi 80edaf5ac4 New generator: BottleStack 2020-02-29 18:19:59 +01:00
Florian Festi 4c338e1c62 RoundedBox: Add edge_style parameter 2020-02-28 17:52:57 +01:00
Florian Festi 22450a6fe7 roundedPlate: Fix placement 2020-02-28 17:52:49 +01:00
Florian Festi 6476a51fc4 roundedPlate: Fix callback positioning 2020-02-28 17:52:49 +01:00
Florian Festi 223ac26122 roundedPlate: new extend_corners param 2020-02-28 17:52:18 +01:00
Florian Festi 26b33d62ff roundedPlate: Properly lookup edge 2020-02-28 17:46:44 +01:00
Florian Festi 7c004e2d2c New primitive: Boxes.step()
Outset a line by a given margin - negative values for insetting
2020-02-28 17:46:44 +01:00
Erwin Jansen a0338a559f Add a bottom to the divider tray.
This add support for the generation of a bottom for the divider tray.
The bottom can be generated by passing the --bottom=True flag.

This makes it possible to generate ./static/samples/DividerTray.jpg
2020-02-26 21:00:26 +01:00
Florian Festi eeb1baf352 Gear: don't allow less than 2 teeth 2020-02-01 15:30:53 +01:00
Florian Festi 0394d418c1 dHole: Prevent division by zero 2020-02-01 15:30:18 +01:00
Florian Festi 7943fa2390 flex2D: Fix division by zero for too small patterns 2020-02-01 15:22:35 +01:00
Florian Festi ec9d911142 DividerTray: Use ValueError instead of assert to treat this as wrong user input 2020-02-01 15:17:18 +01:00
Florian Festi 069dd853aa BinTray: limit front parameter 2020-02-01 15:14:12 +01:00
Florian Festi 95f2fbeb82 corner(): Make more robust against division by zero 2020-02-01 15:03:49 +01:00
Florian Festi 2121228036 TrayLayout: Error out if tray is just a single wall 2020-02-01 14:51:38 +01:00
Florian Festi f8401aac75 rectangularRectangle: Make angle calculation more robust 2020-02-01 14:43:45 +01:00
Florian Festi 2a7e1e62d1 PaintStorage: Prevent division by zero 2020-02-01 14:31:24 +01:00
Florian Festi dd0f2d748c ChestHingeSettings: check pin_height for minimal size 2020-02-01 14:27:17 +01:00
Florian Festi 0f3eb5b21a StackableSettings: check angle for invalid values 2020-02-01 14:16:26 +01:00
Florian Festi 9706816fe4 gears: prevent division by zero 2020-02-01 13:59:30 +01:00
Stefan Reichhard 37bff9d358 fixed d3 diameter (mounting screw holes) 2020-01-22 16:11:18 +01:00
Florian Festi 1f3110c6fa New generator: TriangleLamp 2020-01-21 21:34:02 +01:00
Florian Festi 10e2085eef Remove Python 2 compat foo 2019-12-21 17:47:54 +01:00
Florian Festi 4d53bd17cc partsMatrix: support width=0 for all parts in one row 2019-12-16 20:07:30 +01:00
Florian Festi e2b87af2a4 UniversalBox: Add outside parameter
Fixes: #144
2019-12-14 19:13:40 +01:00
Florian Festi aba9631b00 Make joints of box sides go to the very bottom
for NotesHolder, TypeTray and UniversalBox.
The same should be done to many other boxes as soon as they get the
bottom_edge parameter

Resolves: #111
2019-12-14 14:18:38 +01:00
Florian Festi 8cb5a8e042 Check values of flex settings 2019-12-14 13:09:43 +01:00
Florian Festi fe9555a79f checkValues 2019-12-14 13:09:43 +01:00
Florian Festi c5474e7488 DiscRack: Limit lower_factor and rear_factor to smaller than one 2019-12-14 12:23:08 +01:00
Florian Festi 024b574763 TrayLayout: Add default for layout param 2019-12-14 12:14:24 +01:00
Florian Festi 093e10a3ac AngledBox: Use FingerJointSettings for vertical edges, too 2019-12-06 23:37:22 +01:00
Florian Festi bd1db150c7 New geneator: SpicesRack 2019-11-29 19:58:27 +01:00
Florian Festi 182d222f01 Prevent not having any sections at all for argparseSections 2019-11-24 19:10:35 +01:00
Florian Festi d2d97b01c9 grip(): Prevent division by zero 2019-11-24 16:42:47 +01:00
Marius Bergmann 9f8b84b3f1 add parameters for banana socket and flipswitch diameters 2019-11-20 11:57:13 +01:00
Marius Bergmann 2c367562a9 remove commented code 2019-11-20 11:57:13 +01:00
Marius Bergmann 90fdf897a9 formatting: whitespace cleanup 2019-11-20 11:57:13 +01:00
Florian Festi c67d1f874c StorageShelf: Add retainer_hole_edge param
to allow strengthening the retainer walls by using an h edge.
Also use a h edge on the bottom retainer wall if selected as bottom_edge.
2019-11-09 23:32:12 +01:00
Florian Festi e8cda89381 StorageShelf: Fix holes for inner vertical walls 2019-11-09 23:31:26 +01:00
Florian Festi 71711baa1a StorageShelf: Add retainer wall
This patch does not add finger joints to the vertical walls to attach the
retainer walls as the walls are likely to be to small to be able to make use
of them. In hte long run they should be added, though.
2019-11-09 17:10:23 +01:00
Florian Festi 0cdc930459 StorageShelf: Change front edge from E to e
This makes the shelf one thickness less deep - as it should be
2019-11-09 16:10:30 +01:00
Florian Festi 923798beb9 SBCMicroRack: Fix dowel diameter 2019-11-07 15:38:16 +01:00
Florian Festi 2860a32360 SBCMicroRack: Comment out unfinished fan parameter 2019-11-07 15:38:16 +01:00
Florian Festi d9c190073b SBCMicroRack: Don't draw bottom fingerholes twice 2019-11-07 15:38:16 +01:00
Florian Festi af6c9be8f7 SBCMicroRack: Rearrange parts 2019-11-07 15:38:16 +01:00
gmorell 569eb2f49c New generator: SBCMicroRack 2019-11-07 15:37:57 +01:00
Florian Festi 199251ae52 Add lid for StackableEdge (S) as top_edge 2019-11-04 17:13:12 +01:00
Florian Festi 83b5363bc8 StackableEdge: Fix margin for upper (S) variant 2019-11-04 17:05:18 +01:00
Florian Festi 4ac46840d2 NotesHolder: Fix various issues
Code for opening == 0.0 was broken (See #187)
Fixed placement of bottom
Fixed margin of USlotEdge

Resolves: #187
2019-11-04 08:52:26 +01:00
Florian Festi 927f483c19 New generator: LaserHoldfast - A holdfast for honey comb tables 2019-10-19 23:47:44 +02:00
Florian Festi e2cb90db89 NotesHolder: Split front into two pieces and set better default values
Resolves: #129
2019-10-19 21:49:43 +02:00
Florian Festi b0b35d6084 Mention BurnTest in docs and in the burn parameter description 2019-10-19 12:29:56 +02:00
Florian Festi cfbcbb065c Clarify doc string for FingerJointSettings.play 2019-10-19 12:03:57 +02:00
Florian Festi 011024f0a4 TrayLayout: Add comment to clarify the purpose of the classes
Resolves: #179
2019-10-18 19:06:07 +02:00
Florian Festi 228335a993 BurnTest: fix part placement 2019-10-13 18:42:40 +02:00
Florian Festi 89ea774a39 New generator: BurnTest 2019-10-13 18:39:06 +02:00
Florian Festi 13ecfc9914 Support springs for finger joints (FingerJointSettings.style)
Resolves: #177
2019-10-11 22:32:57 +02:00
Florian Festi f5ed90ca88 SlatwallWrenchHolder: Add extra_distance parameter for Jonas 2019-10-10 20:00:22 +02:00
Florian Festi 8afdfdf3f5 New generator: BaynonetBox 2019-09-23 23:44:02 +02:00
Florian Festi 877915eb74 Arcade: Make height of monitor and depth of keyboard adjustable
Resolves: #166
2019-09-23 21:42:57 +02:00
Florian Festi d6495fc7b4 DrillBox: Fix font size
Now that the text() function has a fontsize parameter, setting the font size
on ctx before calling text() has no impact.

Resolves: #173

Thanks to Marko Luther for reporting and suggesting this fix!
2019-09-23 12:15:49 +02:00
Florian Festi 3ba90c517c TrayLayout: Fix cli
TrayLayout was still trying to produce a drawing and failed. Now TrayLayout is
not using most of the infrastructure and only TrayLayout2 has the capacity to
create a drawing.

Resolves: #172
2019-09-22 22:37:33 +02:00
Florian Festi b124c96c63 UnevenHeightBox: Use lid and bottom_egde for height calculation
when "outside" is set
2019-09-08 23:26:23 +02:00
Florian Festi 657b978aa0 StorageShelf: Use top and bottom_egde for height calculation with "outside" set 2019-09-08 23:26:23 +02:00
Florian Festi 605692f751 StorageRack: Use top and bottom_egde for height calculation with "outside" set 2019-09-08 23:26:23 +02:00
Florian Festi 5c0cc4d732 SlatwallTypeTray: Remove unused code carried over from TypeTray 2019-09-08 23:26:23 +02:00
Florian Festi 2b0bdde145 SlatwallTypeTray: Adjust height according to bottom_edge if outside selected 2019-09-08 23:26:23 +02:00
Florian Festi 52484b0d55 adjustSize(): add support for edge chars 2019-09-08 23:26:23 +02:00
Guillaume Collic 6c9d23af6e New generator DividerTray 2019-08-30 21:00:32 +02:00
Florian Festi c3185f5129 Rename to Rack19HalfWidth to better fit with other Rack boxes
Move to Box group
Support more than one row of equipement
Move defaults to arguments to conform with general coding style
2019-08-30 12:27:13 +02:00
Stefan Schwarz 681ebbb694 add h19rack for a ported half 19inch rackmount 2019-08-30 11:58:21 +02:00
Florian Festi 9a17e3efa9 Precompile optimizations REs and fix performance issue 2019-08-22 00:31:45 +02:00
Florian Festi 39bd912c90 Harden Extend.addPoint for None arguments 2019-08-18 14:46:13 +02:00
Florian Festi 9db79243f8 Make Slide-on Lid with pin easier to insert
Make slot half a thickness wider and round the corners

Resolves: #156

Thanks to Matthijs Kooijman for suggesting this change!
2019-08-17 00:05:13 +02:00
Florian Festi 0409bcbe65 Fix SVG merging for Inkscape
Resolves: #163
2019-08-16 22:37:42 +02:00
Florian Festi 65d2293e25 Fix Extend.__add__ for None values 2019-08-15 23:12:35 +02:00
Florian Festi 02988d12c5 Catch exceptions from failed ps2edit calls 2019-08-15 23:12:35 +02:00
Florian Festi c81d23e605 SlatwallDrillBox: Fix all kind of errors 2019-08-15 23:12:35 +02:00
Florian Festi e4bdc190bb Flexbox3: Fix lid length 2019-08-08 22:53:08 +02:00
Florian Festi 73422b0faf Fix name space handling in new svg code 2019-07-31 23:40:48 +02:00
Florian Festi 6a3a9b984a SlatwallTypetray: Fix side joints of front wall (F -> f) 2019-07-31 23:40:06 +02:00
Matthijs Kooijman 8ecf04cbe8 Fix handling of space in LidSideRight/Left
Previously, the extra space was added above the first pin and below the
(optional) second pin. This would cause the lid to misalign with the
holes in the back wall, making it harder to close the lid.

With this commit, the extra space is divided evenly above and below the
nominal position of the pin.

For this to work, the startwidth (or endwidth, depending on the side) is
slightly adjusted (since the start of the first pin slot is actually
generated by the adjacent edge). This moves the starting point, so the
location of the spring hole is adjusted to compensate for that.
2019-07-27 13:30:06 +02:00
Matthijs Kooijman 3bd4dc9907 Fix spring hole offsets by burn in LidSideRight/Left 2019-07-27 13:30:06 +02:00
Matthijs Kooijman 4691a65a29 Let LidSideRight/Left respect edge_width
This allows modifying the height of the wall that extends above the lid.

The box back wall (with holes) would already support edge_width, so this
makes it supported on all three walls where needed.
2019-07-27 13:30:06 +02:00
Matthijs Kooijman db1da4ec12 Fix hole positions offset by burn in FingerHoleEdge
When rendering the FingerHoleEdge, the current position would be
corrected for burn (e.g. it would be on the center of the laser path,
rather than the actual edge of the final part). However, the FingerHoles
class (or actually the rectangularHole method called by it) that draws
the actual holes already corrects for burn, which caused the hole
position to be offset by the burn value.

This offset was particularly problematic when making a sliding lid,
since the holes would not align perfectly with the lid, making it hard
to close the lid. With this change, the sliding slots in the side walls
and the holes in the back wall align perfectly (though only when the lid
settings have zero play, which is a separate problem).

This commit fixes FingerHoleEdge (and its subclass LidHoleEdge), but
there might be other users of the FingerHole class (usually indirectly
through boxes.fingerHolesAt) that still have the same problem.
2019-07-27 13:30:06 +02:00
Matthijs Kooijman eeb2c344d5 Clarify where l and L edges should be used 2019-07-27 13:30:06 +02:00
Marko Luther ca1a3575d0 forward holesSettings to hexHolesRectangle from within rectangularWall 2019-07-21 01:21:55 +02:00
Rotzbua c06b95d2d0 link: http -> https 2019-07-20 00:23:29 +02:00
Florian Festi 0a55e9ca6b Optimize SVG paths
Resolves #63
2019-07-19 21:49:55 +02:00
Florian Festi a38254667c Remove no longer needed line in _template.py 2019-07-18 20:55:07 +02:00
Florian Festi 17d7cd80ab Don't show generators in modules starting with underscore (templates) 2019-07-12 00:47:09 +02:00
Florian Festi 11174f2ecc New generator SlatwallDrillBox 2019-07-12 00:43:06 +02:00
Florian Festi 88e99a5726 New generator: FlexBox5
Resolves #147
2019-07-12 00:24:50 +02:00
Florian Festi e6f431ab15 New generator: MakitaPowerSupply 2019-07-07 16:26:29 +02:00
Florian Festi fff74cf382 Add metadata as a xml comment
Resolves #66
2019-07-07 13:43:04 +02:00
Florian Festi a19debf1bd Rename remaining Slatwall generators from Sw* to Slatwall* 2019-07-04 22:59:32 +02:00
Florian Festi 573b630adc New generator: SlatwallPlaneHolder 2019-07-04 22:39:34 +02:00
Florian Festi 31d46088c2 Move drawing to origin for SVGs 2019-07-04 17:52:28 +02:00
Florian Festi 635a42a25e Use eTree to caclulate the eytend of the drawing
Also check symbols (text character) now
2019-07-04 17:52:28 +02:00
Florian Festi d162c769b4 Use built in eTree implementation instead of lxml 2019-07-04 17:52:08 +02:00
Florian Festi 4a9cdc8d8e Switch to eTree as a xml library (instead of minidom) 2019-07-04 17:48:53 +02:00
Stefan Grosshauser 443c8a1c38 properly rewrite svg viewPort using minidom for xml
This avoids raising the 'Not enough space for size' exception.
2019-07-04 17:48:53 +02:00
Florian Festi abdab6866a New generator: StorageRack - Box with rails to slide other boxes in 2019-06-30 20:53:42 +02:00
Florian Festi 2f7603b4b4 New generator: SlatWallWrenchHolder 2019-06-30 20:53:42 +02:00
Florian Festi 0105957c05 New generator: SlatWallChiselHolder 2019-06-30 17:19:02 +02:00
Florian Festi 138dffbf2a New generator: SlatWallCaliperHolder 2019-06-30 15:48:09 +02:00
Florian Festi be8aed394a New generator: Slatwall PlaneHolder 2019-06-30 15:18:11 +02:00
Florian Festi 09df973d69 New generator: SlatwallConsole - an outset and angled plate to mount stuff to 2019-06-22 00:07:23 +02:00