Commit Graph

500 Commits

Author SHA1 Message Date
Florian Festi 5a0f3d42ea Add UIGroup class and instances for structuring the box generators 2017-02-13 17:31:02 +01:00
Florian Festi c820c1b77d Move lid code from boxes/generators/box2.py to boxes/lids.py
Rename the classes to no longer show up in the list of generators
2017-02-12 23:18:37 +01:00
Florian Festi 0739fd0b94 Exclude Boxes classes starting with _ in getAllBoxGenerators()
Exclude mix-in classes that are not supposed to be used on their own
2017-02-12 22:20:32 +01:00
Florian Festi 399e5b468f New generator: UBox - a box with rounded corner at the bottom 2017-02-12 15:00:17 +01:00
Florian Festi b59de950c0 Box2: Refactor lid generation out of the Box2 class 2017-02-12 15:00:17 +01:00
Florian Festi a7d0dda9f8 New generator: Box5 box with lid attached with cabinet hinges 2017-02-11 18:15:44 +01:00
Florian Festi 305986dad8 Add cabinet hinge to top_edge and support it in Box2 2017-02-11 18:15:44 +01:00
Florian Festi fb5398b30d PoleHook: Initial commit 2017-02-11 18:15:34 +01:00
Florian Festi 250131e152 Fix previous fix *sigh* 2017-02-09 18:47:20 +01:00
Florian Festi 3e3ed3b0dd Add finger joint settings again
Got removed accidentially in 8d754c
2017-02-09 00:02:41 +01:00
Florian Festi da6dcb4c68 Box4: Use ignore_widths to get finger joints on the whole length of all edges 2017-02-07 20:18:48 +01:00
Florian Festi 1e6893d0b1 Box4: Box with boxy lid and built-in hinge 2017-02-06 22:36:11 +01:00
christopher 8d754c3855 Use default finger/width settings of 2.0 for every box 2017-01-30 10:12:27 +01:00
Florian Festi 17e2b55fcf Box2: Add flat lid
Make chestlid param a general lid param
2017-01-24 22:49:25 +01:00
Florian Festi 28ad1c6dc3 RoundedBox: Add top param for top opening and lid 2017-01-21 13:54:58 +01:00
Florian Festi a8241b2118 New generator: RoundedBox
Still very basic. Needs top parameter similar to AngledBox
2017-01-19 21:36:43 +01:00
Florian Festi fa4fd943ca New generator: DisplayShelf - a shelf with forward slanted floors 2017-01-14 23:13:22 +01:00
Florian Festi 8514ede2c3 AngledBox: Fix fingers on top of walls for "angled hole" 2017-01-08 18:56:05 +01:00
Florian Festi 7b5614659a New generator: AngledBox 2017-01-08 17:25:36 +01:00
Florian Festi 8dc13440ee Fix boolean params. Not passing 0, None, False or off works for setting them to False
Thanks to chrisjshull for pointing out how to fix this in the web UI.
Fixes #19
2017-01-08 17:25:36 +01:00
Florian Festi 0cbd713718 RegularBox: Fix outside parameter 2016-12-17 11:36:26 +01:00
Florian Festi 0dc6aef5d4 RegularBox: Add angled hole top style 2016-12-17 11:24:47 +01:00
Florian Festi 6298c80527 RegularBox: Fix angled lid 2016-12-14 21:02:49 +01:00
Florian Festi a5fd1775e0 New generator: RegularBox 2016-12-13 22:58:56 +01:00
Florian Festi 75adf0b15f TrafficLight: Add support for horizontal layout of lights 2016-11-30 21:45:17 +01:00
Florian Festi f133e2aa12 TrafficLight: Add windows to be cut from transparent (and colored) material 2016-11-30 18:31:44 +01:00
Florian Festi 16e93ca086 TrafficLight: Fix edge type for front panels 2016-11-30 11:29:55 +01:00
Florian Festi 23cf0eaa3a TrafficLight: Add param for number of lights 2016-11-29 23:43:01 +01:00
Florian Festi 273174fae8 New generator: TrafficLight 2016-11-29 23:42:17 +01:00
Florian Festi aa4c0fd1d4 Add FingerJoints to the bottom of the front plates 2016-11-28 21:11:38 +01:00
Florian Festi 0fc6527150 BinTray: Switch slots between vertical and horizontal walls
to better support the floors.

Also fix margin of BinFront edge class(es)
2016-11-13 11:58:07 +01:00
Florian Festi c39b33ad14 New BinTray generator 2016-11-13 00:40:55 +01:00
Florian Festi 0cde4a71e6 Add params for edge settings to all generators 2016-11-01 23:46:25 +01:00
Florian Festi 33d11487de Add edges for a sliding lid
Add to top_edges and support in Box2
2016-10-30 20:17:13 +01:00
Florian Festi 4e632325e3 Arcade: Increase height of keyboard 2016-10-17 21:29:58 +02:00
Florian Festi 9b4a45a1d5 Arcade: Add width as a parameter
Fix movement of side
2016-10-17 21:16:02 +02:00
Florian Festi ff6ba3595d New Generator: Arcade - a desktop arcade cabinet 2016-10-17 21:12:12 +02:00
Florian Festi 586aeb7fb3 Allow finger joints as top edge
Add matching lid to Box2
2016-10-02 20:47:02 +02:00
Florian Festi b0fb04762b Rotary: Make beam dimmensions parametric 2016-09-28 17:56:42 +02:00
Florian Festi 46f40bdae6 Planetary: Fix description 2016-08-22 20:48:21 +02:00
schinken 93af56ff9c Code Reformat #1 2016-08-17 15:07:41 +02:00
Florian Festi af167295b8 Rotary: Fix spindle mechanism. Increase width of scissor lift to 70mm. 2016-08-05 22:59:35 +02:00
Florian Festi 828cd12d49 Rotary: Add knifethickness param and support variant for honey comb table 2016-08-05 22:59:35 +02:00
Florian Festi 072845be57 Rotary: Make some clearing space over the idle rollers 2016-08-05 22:59:22 +02:00
Florian Festi 77e39669e8 Rotary attachment for laser cutter - first steps 2016-08-05 22:58:39 +02:00
Florian Festi 36d6cd77c3 Fractal jigsaw puzzle. Alpha verion without splitting stuff into pieces. 2016-08-05 21:33:41 +02:00
Florian Festi db38122125 Remove unnecessary moveTo() commands
.move() now leaves some space around parts
2016-08-03 22:20:13 +02:00
Florian Festi 419cccc7dd PlanetaryGear: add maxplanets and deltateeth params 2016-07-31 17:44:19 +02:00
Florian Festi 6dd482be9c Generate the list of generators automatically
Generate new traylayout class to make this work with the web interface
Minor fix to not error out in web interface for non existing doc string
2016-07-31 17:18:17 +02:00
Florian Festi b6d84b5c58 Mark generators which should not be shown in the web interface 2016-07-31 16:37:17 +02:00
Florian Festi 77ba187c70 Name generator classes properly 2016-07-31 14:15:06 +02:00
Florian Festi 776b0a2c27 Fix for extended function signature 2016-07-28 22:46:06 +02:00
Florian Festi 4cf33dae50 Move spacing out of the Edge margin() and into Boxes.move()
Also move ctx.save() and restoreinto Boxes.move().
Adjust (hopefully) all places using it.
2016-07-27 22:19:32 +02:00
Florian Festi 558b63f20d Fix size of base plate
Pass correct spoke_width
2016-07-25 23:37:12 +02:00
Florian Festi 1849bfd5ab New PlanetaryGear generator 2016-07-25 19:14:35 +02:00
Florian Festi 284857d94a Fix typo 2016-07-22 00:18:32 +02:00
Florian Festi 575f41beff Add param for gears 2016-07-19 19:37:21 +02:00
Florian Festi ed8ab9a364 Fix width of gearbox to make space for two big gears 2016-07-19 19:37:21 +02:00
Florian Festi a7728d8e32 New GearBox generator 2016-07-16 15:32:06 +02:00
Florian Festi d6bd708db5 Python2 compat fix 2016-07-13 20:10:13 +02:00
Florian Festi 5201138390 Add Pulley generator 2016-07-13 20:04:57 +02:00
Florian Festi 33a1333ad9 Add FlexTest2 for new 2D flex pattern 2016-07-12 16:54:44 +02:00
Marius Bergmann 4b487014d0 Fix project for use within virtualenv
- Use /usr/bin/env to determine path to python3 instead of a hard-coded
  path, so that virtualenv stubs work properly.
- Change package name to 'boxes' ('boxes.py' did not work within
  virtualenv).
2016-07-12 13:13:03 +02:00
Florian Festi 3f97d7ad77 Add outside parameter to some generators 2016-07-09 23:10:43 +02:00
Florian Festi 70d46dd06a Flexbox4: Limit radius to sane values 2016-07-09 10:55:42 +02:00
Florian Festi 281c80b4e9 flexbox4: Be more generous when merging flex on top 2016-07-09 10:55:42 +02:00
Florian Festi ea6f45a24b flexbox2: Be more generous when merging flex on top 2016-07-09 10:55:42 +02:00
Florian Festi 8f0dc0330e Merge flex if rounded edges meet at top and bottom 2016-07-09 10:55:42 +02:00
Florian Festi f65bafbcac Flexbox2: Limit radius to sane values 2016-07-09 10:55:42 +02:00
Florian Festi 2043ee6d8a Flexbox: Limit radius to sane values 2016-07-09 10:55:42 +02:00
Florian Festi 401ef597d8 Make axle disk out of the hinge hole
Remove no longer needed .parts() method
2016-07-06 23:07:44 +02:00
Florian Festi 28183257d6 Add optional gripping edges at the side of lids
And use it for double lid in box2
2016-07-03 16:00:25 +02:00
Florian Festi 46f1e1d440 Change chars for custom edge from gG to aA
Free g for upcoming grip edge
2016-06-30 13:59:13 +02:00
Florian Festi f3062a106f Adjust description of box2 2016-06-30 11:50:01 +02:00
Florian Festi 19dceeaf78 Add support for split lid to box2 (select top edge with two hinges) 2016-06-30 11:14:26 +02:00
Florian Festi 79b39fa0c0 Add option for a hinged lid to box2
Select edge with hinge as top edge to get the lid generated
2016-06-30 10:32:41 +02:00
Florian Festi 8be789b134 Add flexbox4 to module list 2016-06-22 23:07:46 +02:00
Florian Festi 200f473747 Fix wrong variable access 2016-06-22 10:22:07 +02:00
Florian Festi 6299e5202d box2: Add chest like lid 2016-06-21 21:53:24 +02:00
Florian Festi 6688957a72 New flexbox 2016-06-14 20:36:26 +02:00
Florian Festi 0ba0c19af2 Detect size of drawing and set svg viewport accordingly
Remove width and height parameter from Boxes.open()
Code for detecting the size ignores text. Until this is fixed you need
to surround text by lines of some sort.
2016-06-07 20:24:46 +02:00
Florian Festi 87582ac535 Fix flextest 2016-05-20 21:33:22 +02:00
Florian Festi d61567d8f1 box2: Add optional click on top 2016-05-03 23:14:08 +02:00
Florian Festi 3086485a25 traylayout: set size of canvas 2016-04-19 09:49:58 +02:00
Florian Festi dad830d775 Remove unused helper methods 2016-04-19 09:36:14 +02:00
Florian Festi b22ee1f760 Replace Edge.width() with .startwidth() and .endwidth()
to allow changes in the with of the edge. This is currently needed for the
CompoundEdge but may be used by future edges, too.
2016-04-19 09:33:33 +02:00
Florian Festi ff1dc830e3 traylayout: fix cuts in inner corners of the floor plate 2016-04-18 17:42:29 +02:00
Florian Festi b0a2ce8b22 Use local vars instead of calling len() 2016-04-18 17:41:26 +02:00
Florian Festi 3c56abf047 traylayout: Use straight edges on walls with no floor underneeth
Still need to move it over to use E in stead of e
2016-04-17 18:08:09 +02:00
Florian Festi 223f078726 Add StackableEdge class 2016-04-09 15:44:27 +02:00
Florian Festi 7048681f3e Add params for top and bottom edges of box2 2016-04-09 11:47:12 +02:00
Florian Festi 6cf7af75c6 Fix bedbolts in box2 2016-04-06 20:00:19 +02:00
Florian Festi 0399bafe1b Remove the Edges instances form the Boxes name space.
Move over all generators to use Boxes.edges.
2016-04-02 20:52:27 +02:00
Florian Festi 6a6336c002 Fix finger setting messup 2016-04-02 20:29:09 +02:00
Florian Festi b99a381b4f Fix doc string to be used in UI 2016-04-02 18:02:00 +02:00
Florian Festi 25be6dbc94 Add CLI params for basic finger joint settings
Change generators over to set defaults instead of overwriting the settings
2016-04-02 17:39:26 +02:00
Florian Festi a3ceb74024 Remove left over print 2016-03-30 21:11:42 +02:00
Florian Festi e32a314c81 Add template for writing generators 2016-03-29 22:10:54 +02:00
Florian Festi 34e06cace5 Use output param for generating layout file 2016-03-28 12:16:06 +02:00
Florian Festi 70bb1bf5af Move box generators into boxes.generators sub module 2016-03-25 22:30:07 +01:00