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
13cdb35954
Make RegularPolygonWall a path of its own
2016-12-17 11:37:11 +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
aa5fa73c8a
Add edgeObjects() method to Settings to create Edge objects
2016-11-28 21:11:38 +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
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
fd3a333cb0
Allow passing new default values to Boxes.addSettingsArgs()
2016-11-01 14:04:35 +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
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
9220bccb68
Clarify burn param
2016-10-20 20:07:23 +02:00
Florian Festi
3ce2115365
Add RackEdge
2016-10-12 22:52:35 +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
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
schinken
93af56ff9c
Code Reformat #1
2016-08-17 15:07:41 +02:00
Florian Festi
ea0b088356
Add reference length to allow checking the scaling
2016-07-31 18:28:57 +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
f8b4ef2162
Remove DemoBox from boxes.__init__.py
2016-07-31 13:08:34 +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
a344211a09
Add Parts class to collect stand alone parts like knobs
2016-07-15 18:32:37 +02:00
Florian Festi
9cdb2e8dc4
Translate code from openscad to Boxes.py
2016-07-13 17:41:51 +02:00
Florian Festi
a2a2695c03
Support single callback that do not get any number
2016-07-13 17:38:50 +02:00
Florian Festi
8eea323718
Add gears to Boxes class
2016-07-13 17:37:57 +02:00
Florian Festi
f33f74ab3f
Add 2D flex pattern
2016-07-12 16:54:44 +02:00
Marius Bergmann
6c82bb9e32
Use cairocffi instead of cairo - if available
...
cairocffi is available from pip, which makes setup much easier.
2016-07-12 16:54:07 +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
f3892b11b4
Fix typo
2016-07-09 23:15:10 +02:00
Florian Festi
261a6999f4
Add outside parameter that includes the walls into the mesurements
2016-07-09 23:05:07 +02:00
Florian Festi
d392f290e7
Move Boxes.fingerHoleEdgeWidth to FingerJointSettings
2016-07-03 16:42:21 +02:00
Florian Festi
a7f0e97012
Add GrippingEdge
...
Still needs to replace Boxes.grip()
2016-06-30 14:25:29 +02:00
Florian Festi
c7dcaa40a2
Fix typo
2016-06-30 11:40:42 +02:00
Florian Festi
a032067c5b
Add edge with two hinges to top edge param and edge descriptions
2016-06-30 11:12:51 +02:00
Florian Festi
60d465c83a
Add edges for hinges
2016-06-30 10:32:41 +02:00
Florian Festi
9f4e115c9a
Support formats via pstoedit
2016-06-29 13:58:26 +02:00
Florian Festi
a1ab401be4
Remove old svg rewrite code that has alread moved to svgutil.py
2016-06-23 16:12:58 +02:00
Florian Festi
9a0d91afcd
Use new name space for the argument parser to avoid non given args to linger
...
in the webserver
2016-06-21 22:08:31 +02:00
Florian Festi
3c5b3147f4
Fix boolean params in web interface by switching to action=store, type=bool
...
instead of using action=store_true
2016-06-21 21:53:24 +02:00
Florian Festi
b5d74c2151
Make holes blue colored
2016-06-21 19:07:32 +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
1425d730f5
Add support for (angle, radius) tuples as param of polyline
2016-05-25 19:29:35 +02:00
Florian Festi
5250fc768f
New Edge type to clip on sides
...
Still untested due to lackof laser cutter
2016-05-03 23:02:50 +02:00
Florian Festi
f148421a39
Add edge choices to argparser
2016-04-26 20:17:01 +02:00
Florian Festi
e3673df408
Fix surroundingWall to work with Edegs with non zero .(start|end)width()
...
Add Boxes.edgeCorner() to join to Edges with the proper width correction
and use it in rectangluarWall() and surroundingWall()
2016-04-26 11:54:37 +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