Commit Graph

78 Commits

Author SHA1 Message Date
Florian Festi fc127237fd Fix placement of fingerHoles in CrossingFingerHoleEdge
which were too low by one burn
2018-08-27 15:12:17 +02:00
Florian Festi 0e8a718a1b Fix placement of debugging rectangel for FingerHoles
Not the outer border of the lines are exactly at the border of the matching
part
2018-08-27 15:10:50 +02:00
Florian Festi cd0fcdcb96 Set a char for CrossingFingerHoleEdge tp avoid collision with the "e" edge. 2018-07-02 19:13:52 +02:00
Florian Festi f99bf32c85 Add hinges and spacing params to CabinetHingeEdge 2018-05-08 23:55:09 +02:00
Florian Festi 73438fb614 Fix .__getattr__ of Settings class so it can be passed to copy.copy() 2018-04-25 21:52:51 +02:00
Florian Festi 90ba9f8ee9 LidEdge: Fix duplicated option for spring 2018-03-05 20:10:55 +01:00
Florian Festi 78d35a92e0 Fix CrossingFingerHoleEdge
which relies on __call__() of the super class drawing a line
2018-02-12 22:04:20 +01:00
Florian Festi 4e034949d3 Fix tabs for straight edges (eE) with bed bolts
Add tabs param to bedBoltHole
2018-01-19 23:48:27 +01:00
Stefan Grosshauser 73e1821e71 enable bedbolts for Straight 'e' and OutSet edges 'E'
note that this mostly ignores that positioning bedbolts is done
in the BedBolt class for finger joints.
Coding style could be much improved.
2018-01-18 15:07:33 +01:00
Stefan Grosshauser 07f88cd8e5 make __call__() abstract for BaseEdge; and inherit OutSetEdge from Edge 2018-01-18 15:07:24 +01:00
Florian Festi 7bd2b9e452 HingeEdge: Add tabs to hinge disk 2017-12-20 18:25:55 +01:00
Florian Festi e5bb6a5d7a Add tabs to Boxes.edge() and most Edge classes
and Boxes.polyline()

Add to some parts of the Otto Bot
2017-12-15 16:45:32 +01:00
Florian Festi f0dc89c617 Make play of ChestHinge a regular param 2017-12-09 16:54:10 +01:00
Florian Festi 9dfa95f45b Fix ChestHinge
Add the play of the hinge to the width of the edge
Adjust IntegratedHingeBox
Fixes #45
2017-12-07 22:29:09 +01:00
Florian Festi b7f877eacd Fix bedbolts
BedBoltSettings need to become a subclass of Settings instead of a list
of values at some point.
2017-09-13 11:39:03 +02:00
Florian Festi d4edafe2d9 Fix ChestHingeSetting
Got broken by 6756d16b67
2017-02-23 20:57:01 +01:00
Florian Festi b440d1c767 Use BoolArg when creating arg parser for edges.Settings 2017-02-23 17:38:26 +01:00
Florian Festi 6756d16b67 Use .settings.thickness in edges instead of global value 2017-02-18 19:05:21 +01:00
Florian Festi 94c727cc30 Add CabinetHingeEdge 2017-02-11 18:15:44 +01:00
Florian Festi f1b8d68d65 Fix bedbolts for finger holes 2017-02-11 18:15:34 +01:00
Florian Festi 544c40a0d3 Add Chest Hinge edge classes 2017-02-06 22:35:26 +01:00
Florian Festi 2fa07190ff Fix finger joint setting defaults
space and width got mixed up in 8d754c3855
2017-02-05 16:30:37 +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 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 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 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 7baafebaea Remove debug print 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 9095c3934f Return to original point after drawing finger holes 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 4f3883374d Fix position of finger holes 2016-10-15 20:57:36 +02:00
Florian Festi 3ce2115365 Add RackEdge 2016-10-12 22:52:35 +02:00
schinken 93af56ff9c Code Reformat #1 2016-08-17 15:07:41 +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
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 325ae8a134 Make flex centered
Leave one space before and after the first/last cut.
Resolves https://github.com/florianfesti/boxes/issues/11
2016-07-09 10:55:42 +02:00