Florian Festi
f77c19d839
Stachel: Clean up and move generator to Misc
2017-11-21 23:08:39 +01:00
Florian Festi
5a6bc71a7c
Stachel: replace absolute sizes with (internal) parameters
2017-11-21 22:39:57 +01:00
Florian Festi
941676d2b7
New generator: Stachel - an end pin for bass recorders
2017-11-21 22:39:57 +01:00
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
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