Florian Festi
13cdb35954
Make RegularPolygonWall a path of its own
2016-12-17 11:37:11 +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
b2b0ccd6f1
Fix FingerJoints with angles != 90 degrees
...
Fix margins
Fix amount of recess for spaces
2016-12-14 22:07:36 +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
cbe32cc5a7
Code for Regular Polygons
...
* Boxes.regularPolygon for calculation
* Boxes.regularPolygonAt for simple polygon
* Boxes.regularPolygonWall
Also fix edgeCorner() for angles != 90 degrees
2016-12-13 22:58:10 +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
be6de6a793
Support FingerJoints with less than 90 degrees.
...
This means bending angle < 90. The actual angle is bigger than 90
2016-11-28 21:11:38 +01:00
Florian Festi
6f0a4cae86
Use polyline() for FingerJointEdge
2016-11-28 21:11:38 +01:00
Florian Festi
aa5fa73c8a
Add edgeObjects() method to Settings to create Edge objects
2016-11-28 21:11:38 +01:00
Florian Festi
f30221d265
Fix .margin() for CompondEdge
2016-11-26 13:40:27 +01:00
Florian Festi
a0be85764a
Use FingerJointSettings.height as margin of Finger Joints
2016-11-17 21:39:32 +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
69ac52aaab
Slide-on Edge: Add optional springs that hold the lid in place
...
Fix pin length to two thicknesses
2016-11-12 17:50:29 +01:00
Florian Festi
43c0178d14
Make fingers for slide-on lid bigger by defaut
2016-11-12 17:01:44 +01:00
Florian Festi
a8af428941
Manually use multiple arcs to get more precise curves
2016-11-02 21:50:44 +01:00
Florian Festi
fe79970cc3
Beautify web UI
...
Watch self.css
2016-11-01 23:46:25 +01:00
Florian Festi
0cde4a71e6
Add params for edge settings to all generators
2016-11-01 23:46:25 +01:00
Florian Festi
7baafebaea
Remove debug print
2016-11-01 23:46:25 +01:00
Florian Festi
748d8b3888
Remove arguments for FingerJoints from default arguments
2016-11-01 23:46:25 +01:00
Florian Festi
ec2a365598
Use arguments from default Setting classes when creating the default edges
2016-11-01 23:46:25 +01:00
Florian Festi
d980c6b95f
Add minimal doc strings to Settings
2016-11-01 23:46:25 +01:00
Florian Festi
c3e2470e8d
Rename style values to something more meaningful
2016-11-01 23:46:25 +01:00
Florian Festi
2ace15475a
Check types in Settings class and support choices
2016-11-01 23:46:25 +01:00
Florian Festi
699fb920bc
Make Hinges more robut against invalid style arguments
2016-11-01 14:04:35 +01:00
Florian Festi
fd3a333cb0
Allow passing new default values to Boxes.addSettingsArgs()
2016-11-01 14:04:35 +01:00
Florian Festi
c816de811b
Beautify doc strings of edge settings and sort argument entries
2016-10-31 22:16:51 +01:00
Florian Festi
3a0df10866
Create arguments from edge settings starting with FingerJointSettings
2016-10-31 22:13:09 +01:00
Florian Festi
5a721df82b
Put arguments into groups and use them to display them in the web interface
2016-10-31 22:11:54 +01:00
Florian Festi
9095c3934f
Return to original point after drawing finger holes
2016-10-30 20:20:56 +01:00
Florian Festi
44b55029a0
Do not break lines on empty callbacks
...
Boxes.cc() did move the coordinate system arround even if the callback is
None. This breaks the continuity of the border. If there is callback the
line is still broken.
2016-10-30 20:20:56 +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
2494aeb3ae
Add play param for FingerJoints
2016-10-30 19:48:59 +01:00
Florian Festi
7203320e70
Move finger calculation into FingerJointBase class
2016-10-30 19:48:59 +01:00
Florian Festi
dc045eefe2
Remove no longer needed local vars
2016-10-30 19:48:59 +01:00
Florian Festi
9220bccb68
Clarify burn param
2016-10-20 20:07:23 +02: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
4f3883374d
Fix position of finger holes
2016-10-15 20:57:36 +02:00
Florian Festi
24a8588485
gears.py: allow zero spokes
2016-10-12 22:52:35 +02:00
Florian Festi
3ce2115365
Add RackEdge
2016-10-12 22:52:35 +02:00
Florian Festi
fc36515fbd
Properly center rack and make it a single line for negative base heights
...
Preparation for RackEdge
2016-10-12 22:52:35 +02:00
Florian Festi
accb6eb45d
gears.py: Support non closed line segments in drawPoints()
2016-10-12 22:52:35 +02:00
Florian Festi
33681db645
Add closed param to kerf()
...
Allow for non close line segments and handle ends correctly
2016-10-12 22:52:35 +02:00
Florian Festi
de7a168377
vectors.py: Don't error out when normalizing zero length vectors
2016-10-12 22:52:34 +02:00
Florian Festi
83f0c813dd
vectors.py: add circlepoint(r, a)
2016-10-02 20:48:22 +02:00
Florian Festi
ad00d64b26
partsMatrix()
2016-10-02 20:48:22 +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
0764a3660f
gears.p: More fixes for racks
2016-10-01 23:30:32 +02:00
Florian Festi
bc1d9ce19e
gears.py: fix rack with draw_guides=False
2016-10-01 22:35:32 +02:00
Florian Festi
b0fb04762b
Rotary: Make beam dimmensions parametric
2016-09-28 17:56:42 +02:00
Florian Festi
610a26736e
Support drawing multiple rectangularTriangle(s) at once
...
Add support for setting diagonal edge type
2016-09-26 21:59:52 +02:00
Florian Festi
cc42a8e165
Add rectangularTriangle()
2016-09-26 21:59:52 +02:00
Florian Festi
14acd07faf
Fix latch length
...
Remove no longer needed burn correction
2016-09-26 21:59:52 +02:00
Florian Festi
09ce2bd78b
Fix size virtual size of gear carrier
2016-09-26 21:59:52 +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
db2b753446
Adjust media size for post script output
2016-08-03 22:20:13 +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
ea0b088356
Add reference length to allow checking the scaling
2016-07-31 18:28:57 +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
f8b4ef2162
Remove DemoBox from boxes.__init__.py
2016-07-31 13:08:34 +02:00
Florian Festi
776b0a2c27
Fix for extended function signature
2016-07-28 22:46:06 +02:00
Florian Festi
6b30c60602
Fix parts and add hole parameter
...
Fix move params
Remove debugging frames
2016-07-27 23:32:36 +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
7aac41339c
Add gearCarrier()
2016-07-25 18:59:50 +02:00
Florian Festi
e3d552fe91
Allow passing a list of angles to generate_spokes()
2016-07-25 18:56:00 +02:00
Florian Festi
1472d250bc
Draw spoke holes in correct direction (ccw)
2016-07-25 18:56:00 +02:00
Florian Festi
2117bfbc15
Do not error out if drawing does into the negative x direction
...
... unless there is not enough place for the viewport.
2016-07-25 18:56:00 +02:00
Florian Festi
c23b42a369
Fix size calculation for ring gears
2016-07-25 18:56:00 +02:00
Florian Festi
354063068a
Fix parts.disc()
2016-07-25 18:52:48 +02:00
Florian Festi
21948ade3b
Add ai, pdf output formats, tweak dxf and plt
2016-07-23 21:56:10 +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
113783ce32
Add method fro getting sizes of the gears
2016-07-16 15:26:46 +02:00
Florian Festi
a344211a09
Add Parts class to collect stand alone parts like knobs
2016-07-15 18:32:37 +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
8ce1c926cd
Add diameter() and getProfiles() (class) methods
2016-07-13 19:55:04 +02:00
Florian Festi
bc50f3aeda
Fix GT2_2mm pulleys
2016-07-13 19:25:44 +02:00