Commit Graph

279 Commits

Author SHA1 Message Date
Florian Festi 08d7a026b1 NemaMount: Add finger holes to copy on another part
instead of using the base plate
2017-11-19 19:30:06 +01:00
Florian Festi 642212d2ce New generator: NemaMount 2017-11-19 18:10:59 +01:00
Florian Festi 46c4960edc New generator: Display 2017-11-18 18:28:13 +01:00
Florian Festi 45c73e57fb New generator: EletronicsBox
Closed box with screw on top and mounting holes
2017-11-15 17:19:41 +01:00
Florian Festi 36c0ec48fe TypeTray: Add closedtop parameter
Add a top wall turning the type tray into a closed box with multiple
compartments
2017-11-14 20:21:01 +01:00
Florian Festi 7793729688 New generator:LBeam
Simple Lbeam made of two wall joint with a right angle
2017-11-14 20:20:08 +01:00
Florian Festi 8d846df9d1 Add D holes to knobs 2017-11-07 23:39:50 +01:00
Marius Bergmann c0325b52ac template: Remove invalid parameter and whitespace 2017-11-03 22:54:06 +01:00
Florian Festi dd2cedeb57 Knobs: Improve param descriptions 2017-10-01 21:13:29 +02:00
Florian Festi dfcf3d65c8 New generator: ConcaveKnob in Parts 2017-10-01 20:34:19 +02:00
Florian Festi 647c5302b6 New generator: WaivyKnob 2017-10-01 20:20:36 +02:00
Florian Festi 9dbc8fd98b Modernize _template.py 2017-09-16 21:30:41 +02:00
Florian Festi f829ff2a82 PoleHook: Use screwhead param for knob 2017-09-16 21:30:41 +02:00
Florian Festi b623008ea3 ClosedBox: fix (commented out) BedBolt support 2017-09-13 11:39:03 +02:00
Florian Festi 23a1da105e WineRack: Remove debug code for checking number of walls needed. 2017-09-05 23:05:11 +02:00
Florian Festi 7453455512 WineRack: Make unnecessary walls optional 2017-09-05 23:00:54 +02:00
Florian Festi 0e7827f9a9 WineRack: Add front cover 2017-09-05 21:04:20 +02:00
Florian Festi fbfb851474 New generator: WineRack
A honey comb like wine rack
2017-09-05 21:04:20 +02:00
Florian Festi 592fbe95c4 OttoLegs: Change ankles. Fix servo horn with a C-ring
Fixes issue with servo horns only being adjustable in steps of 18 degrees
This led to missaligned feet which resulted in loss of freedom of movement.
2017-08-19 22:14:30 +02:00
Florian Festi 6fecb9aa29 OttoBody: Move main switch to outer wall
Shorten servo holder so it no longer needs a hole for the switch
2017-08-19 19:31:54 +02:00
Florian Festi 398851255d OttoLegs: Use servo horn for actuating the ankles 2017-08-12 00:07:34 +02:00
Florian Festi 4dd271df74 OttoLegs: Make ankle screw screwed into leg
to give more stability to the joint
2017-08-11 18:44:34 +02:00
Florian Festi bb76a8bd7b OttoLeg: Use partsMatrix to get multiple part 2017-08-11 17:46:50 +02:00
Florian Festi 09dd779cbd OttLegs: Make hole for servo cable over whole width of the leg 2017-08-07 17:03:57 +02:00
Florian Festi fafc1c01ef OttoLegs: break ankles into separate paths 2017-08-03 23:19:32 +02:00
Florian Festi e91f53b0fa OttoLegs: Change design of ankles 2017-08-03 23:00:20 +02:00
Florian Festi b4b6799721 OttoBody: Add hook to PCB Clip 2017-08-03 22:32:33 +02:00
Florian Festi e3035da713 OttoBody: Move hole for push button 2017-08-01 21:19:01 +02:00
Florian Festi 2e9ac29d01 OttoLegs: Make length of legs configurable 2017-08-01 21:17:35 +02:00
Florian Festi 979b6ae936 OttoBody: Add push button 2017-07-31 21:18:06 +02:00
Florian Festi a639c04de2 OttoBody: Clips for keeping the mouth shut 2017-07-31 21:08:26 +02:00
Florian Festi 31e3817f32 OttoBody: New PCB Clamps 2017-07-31 20:46:41 +02:00
Florian Festi fd23c74e07 Otto Body: parts for mounting the PCB 2017-07-30 21:23:00 +02:00
Florian Festi e26d17c840 AngledBox: Don't overwrite h param
Using h as temporary variable was overwriting the variable containing the
height of the box.

Fixes #41
2017-07-28 23:33:36 +02:00
Florian Festi 83a72552e2 Ottobot: Make hole for USB plug a bit smaller again 2017-07-25 22:43:11 +02:00
Florian Festi c823cb78d6 OttoBot: Add Hole for on/off switch 2017-07-25 21:57:58 +02:00
Florian Festi 3876ea5ddd Ottobot: Increase hole for USB plug 2017-07-23 21:29:14 +02:00
Florian Festi 074646fdec _template.py tweaks 2017-05-20 20:41:51 +02:00
Florian Festi 82463317bb Edges generator for printing the registerd Edge types
Not really a generator...
2017-05-20 20:41:51 +02:00
Florian Festi ae619aabea Flexbox4: Fix length of lid
to overlap the side wall
2017-04-11 21:09:41 +02:00
Florian Festi 7bbf82c958 UBox: Fix size of lid 2017-04-11 20:55:21 +02:00
Florian Festi b63dcfeee6 Make Traylayout work without main function 2017-04-05 04:33:42 +02:00
Florian Festi 5b9c8e4d71 Remove main function from generators
Generators are no longer executable on their own. Use scripts/boxes
instead.
2017-04-05 04:33:42 +02:00
Florian Festi f9c0cb8cab Support putting class and instances into UI Groups 2017-04-02 02:31:37 +02:00
Florian Festi 8e65298c6b Planetary2: Print gearing ratio and change default for sun gear 2017-04-01 23:54:44 +02:00
Florian Festi 12f2cbc1e2 Planetary2: Add allignment pins to sun gear 2017-04-01 21:18:48 +02:00
Florian Festi 273190932f Planetary2: Order part the way they need to go together 2017-04-01 21:06:57 +02:00
Florian Festi 4c17d6a4a1 Planetary2: Put planet gears in the order they need to go together 2017-04-01 20:59:19 +02:00
Florian Festi 7f1e54be15 Planetary2: Add pin holes for ring gear and add second ring 2017-03-30 20:59:13 +02:00
Florian Festi 8487d5c379 Planetary2: New generator for a ~100 reduction to belt pulley 2017-03-29 07:44:48 +02:00
Florian Festi bad114400f Use better default for height of pulley (using the new keyword style) 2017-03-29 07:41:05 +02:00
Florian Festi c2fa8c85cf Pulley: Add insideout param
This allows using timing belts as strainwaves in harmonic drives.
2017-03-22 22:03:09 +01:00
Florian Festi 71bd013f3f RegularBox: Better description 2017-03-13 11:41:12 +01:00
Florian Festi cd0d49bf6f OttoLegs: Use two different hole sizes for the ankle
to allow screwing it into one side while moving freely on the other
2017-03-12 14:47:21 +01:00
Florian Festi cd3fee5e76 OttoLegs: More tweaks
Lengthen front by 1mm to close gap to servo
Lower ankle hole at leg by 0.5mm
Shorten internal wall holding the servo at top
2017-03-11 20:14:29 +01:00
Florian Festi 672295310b OttoBody: Body for Otto LC 2017-03-11 18:22:41 +01:00
Florian Festi c6c2e203f2 OttoLegs: Make ankle bolt diameter configurable 2017-03-11 18:22:41 +01:00
Florian Festi 271bed0308 OttoLegs: wall for better fixating the servos 2017-03-11 18:22:41 +01:00
Florian Festi 6bc695a418 OttoLegs: Add second leg 2017-03-11 18:22:41 +01:00
Florian Festi e316877d06 OttoLegs: Make room for cables 2017-03-11 18:22:41 +01:00
Florian Festi db4e878bb4 OttoLegs: Legs for Otto LC 2017-03-11 18:22:41 +01:00
Florian Festi 4ab1dcc323 RoundedBox: Fix description 2017-03-06 22:24:05 +01:00
Florian Festi eecbceda11 Rename Box2 -> UniversalBox 2017-03-06 22:24:05 +01:00
Florian Festi 47f3037e23 rename Box3 -> OpenBox 2017-03-06 22:24:05 +01:00
Florian Festi 5026c2bc03 Rename Box5 -> HingeBox 2017-03-06 22:24:05 +01:00
Florian Festi e5b19978dd Rename Box4 -> IntegratedHingeBox 2017-03-06 22:24:05 +01:00
Florian Festi 75b7724255 Rename Box -> ClosedBox 2017-03-06 22:24:05 +01:00
Florian Festi 5e33d057fc UBox: Limit radius to possible values and merge flex if radii touch 2017-03-04 15:29:28 +01:00
Florian Festi cb8ebefeb1 Fix Servo.choices() and use it in robotarm 2017-02-25 19:59:16 +01:00
Florian Festi 174b20fc11 Fix main 2017-02-25 19:40:24 +01:00
Florian Festi ce87babfdd RoundedBox: Fix hole size
Size calculation was wrong but compensated the broken size adjustment with
"outside" set.
2017-02-25 15:52:51 +01:00
Florian Festi 490d089a83 Planetary: Python2 fix. // doesn't allow floats in Python 2 2017-02-25 11:24:58 +01:00
Florian Festi 1b3f9dbc3a Robotarm: Generator for servo powered robot arm segments 2017-02-22 22:33:22 +01:00
Florian Festi d2774f151d Lamp: fix no longer valid default in setting 2017-02-18 19:13:57 +01:00
Florian Festi cc577956a4 Flexbox3: Fix radius of lid
May still be off a bit. But I can't see why...
2017-02-18 19:06:10 +01:00
Florian Festi 117ace3233 FlexBox3: Fix finger joints of lid 2017-02-18 19:06:10 +01:00
Florian Festi 1f9342b678 Castle: Make available in UI and adjust to current code base 2017-02-18 19:06:10 +01:00
Florian Festi 561eb0034c Add "Unstable" UIGroup 2017-02-15 15:55:01 +01:00
Florian Festi d3c76f2b9e Put box generator into groups and adjust the menu web page accordingly 2017-02-13 17:31:58 +01:00
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