Commit Graph

351 Commits

Author SHA1 Message Date
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
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