Florian Festi
1724f67bdf
Delete never to be finished printer generator
...
This should have become a 3D printer using strings in a delta configuration.
2019-02-07 22:43:04 +01:00
Florian Festi
ded5addbe9
Remove no longer needed calls to ctx.stroke()
...
Boxes.move() take care of that nowadays
2019-02-07 22:43:04 +01:00
Florian Festi
80ab24dceb
Fix format of doc strings
2019-02-07 17:42:41 +01:00
Wayne Wylupski
c5d434105b
Add svg_Ponoko output format
...
This is just regular SVG with Ponoko-specific line properties
Yes, the lines are too thin to be seen in a regular web browser.
Resolves : #112
2019-02-03 16:30:28 +01:00
Wayne Wylupski
abacdd486e
Implement proper color handling
...
Avoid accessing Boxes.ctx (the cairo context) all over the code.
Have named colors
2019-02-03 16:28:02 +01:00
Wayne Wylupski
c573914bcd
Add Boxes.saved_context() context manager
...
Avoid directly accessing Boxes.ctx (the cairo context) all over the place.
Also have a more modern API for returning to a previous spot.
2019-02-03 16:25:31 +01:00
Wayne Wylupski
acb457be2a
Add GPL copy right header
2019-02-02 18:05:04 +01:00
Florian Festi
2e5a19a40f
Python 2 compat fix
2019-01-12 18:42:44 +01:00
Florian Festi
6f4e94577b
New generator: RectangularWall
2019-01-12 15:28:17 +01:00
Florian Festi
dac6b3ac3d
Fix Edge descriptions
...
Add descriptions for edges that don't have their own class
Make ChestHingeFront sub class of Edge as BaseEdge no longer draws anything
2019-01-12 15:28:17 +01:00
Florian Festi
1739d11af5
Doc string for GearSettings
2019-01-12 15:28:17 +01:00
Florian Festi
d0356a12a3
Add parameters to addTopEdgeSettings() for changed defaults
2019-01-12 00:07:37 +01:00
Florian Festi
ba3cacbf93
RoundedTriangleEdge: Add outset setting
2019-01-12 00:07:22 +01:00
Florian Festi
2747d9719a
Add RoundedTriangleEdge to top_edges
2019-01-12 00:00:55 +01:00
Florian Festi
31fd0024ee
Add RoundedTriangleEdge t
...
Based on the Caddy generator by bobm123 in the PR #14
(https://github.com/florianfesti/boxes/pull/14 )
Edge will be added to the TypeTray generator to achieve similar results as Caddy
Co-authored-by: bobm123 <bobm123@gmail.com>
2019-01-11 23:56:28 +01:00
Florian Festi
64fb498e6e
UniversalBox: Use a more robust way of placing the pieces
...
No longer rely on all side walls having the same height
2019-01-11 19:41:02 +01:00
Florian Festi
97e7e3b68f
TypeTray: Swap vertical edge types to match the layout of the UniversalBox
2019-01-11 19:41:02 +01:00
Florian Festi
5c70515f01
TypeTray: Add lids matching top_edge
2019-01-10 22:27:36 +01:00
Florian Festi
371097aa89
PaintStorage: Make grip hole smaller and more rounded
...
Fixes #108
2019-01-10 22:09:45 +01:00
Florian Festi
c0a782b745
TypeTray: Add support for all top_edges
2019-01-03 11:13:27 +01:00
Florian Festi
c2615d4b38
TypeTray: rearrange parts
2018-12-27 17:19:10 +01:00
Florian Festi
73050d4969
Make .continueDirection() more private
2018-12-22 17:23:33 +01:00
Florian Festi
2df63b6ec8
ShutterBox: Add style with two rounded corners
...
Move generator to FlexBox category
2018-12-19 18:04:34 +01:00
Florian Festi
879b3149bb
New generator: ShutterBox
...
A box with a rolling shutter made out of flex
2018-12-13 18:39:01 +01:00
Florian Festi
4a79c37e71
CardBox: Add gripping ledge to the lid
2018-12-11 19:33:52 +01:00
Florian Festi
4d2592fecf
Add e edge to bottom_edge selection
2018-12-08 18:22:13 +01:00
Florian Festi
fd956d1f08
rectangularHole(): clamp corner radius to available space
2018-12-08 12:42:36 +01:00
Florian Festi
8f03030c53
PaintStorage: Add carrying hole
2018-12-08 12:37:20 +01:00
Florian Festi
925c6ce6dc
PaintStand: Fix previous change
2018-11-24 22:47:35 +01:00
Florian Festi
17e4eb8563
PaintStorage: Fix heights
2018-11-15 22:10:19 +01:00
Florian Festi
ed6855d79c
RoundedPlate: Call first callback only once
...
Remove left over call to .cc()
2018-11-09 21:01:00 +01:00
Florian Festi
d85fa4e849
LaserClamp: Improve design
...
Extend bottom bracket and add hook
Use only one bottom bracket
Add finger ring to allow easier placement
Improve top hook
2018-11-05 22:08:23 +01:00
Florian Festi
0f999a89ad
New generator: AllEdges showing all the standard edge types
2018-11-05 21:38:49 +01:00
Florian Festi
b7bd6306d1
Fix division by zero in FlexEdge
2018-11-05 21:38:49 +01:00
Florian Festi
fe89528e05
PaintStorage: Add support for hexagonal hole patterns
2018-10-29 18:16:16 +01:00
Florian Festi
36077e6cb0
PaintStorage: Optimize part placement
2018-10-29 15:44:18 +01:00
jens persson
c28541a977
Add a generator for paintstand
...
A simple stackable paintstand, very much inspired by:
https://www.youtube.com/watch?v=6HJarJg1npk
2018-10-29 15:11:35 +01:00
jens persson
e95f36a18a
Parameterize Silverwarebox
...
Make the messurements selectable
2018-10-28 13:19:37 +01:00
Florian Festi
80288079af
New generator: TwoPiece
...
Based on a generator with the same name by bobm123<bobm123@gmail.com>
2018-10-25 22:35:20 +02:00
Florian Festi
5b93c1228d
CardBox: Add num param for the number of decks
2018-10-25 17:36:46 +02:00
Alexander Bulimov
5a13fbea8b
Add DisplayCase generator
2018-10-24 21:28:54 +02:00
Florian Festi
2060293cf3
New generator: RoyalGame of Ur
2018-10-24 21:23:57 +02:00
Florian Festi
397cc81690
FlexBox3: Use .move()
...
Use .edgeCorner() instead of own implementation
2018-10-19 22:12:13 +02:00
Florian Festi
f7c2d91e42
FlexBox2: Make latchsize configurable
2018-10-19 21:46:30 +02:00
Florian Festi
417a053ad3
FlexBox2: Use .move()
2018-10-19 21:45:26 +02:00
Florian Festi
4d76457d3a
FlexBox: Make latchsize configurable
2018-10-19 21:35:11 +02:00
Florian Festi
791ef0fdca
FlexBox: Use .move()
2018-10-19 21:33:52 +02:00
Florian Festi
a9009732ac
FlexBox4: Make latchsize configurable
2018-10-19 19:20:23 +02:00
Florian Festi
4ba18d87b7
FlexBox4: Modernize a bit and use .move()
2018-10-19 19:15:55 +02:00
Florian Festi
a4b5af98e2
Add new "mirror" key word to the where parameter of Boxes.move()
2018-10-19 19:05:07 +02:00
Florian Festi
c45b5cd30b
Add debug rectangle for move commands
2018-10-19 18:58:29 +02:00
Florian Festi
1cf671ddd2
FlexBox4: Calculate length of flex after adjusting the radius
2018-10-19 10:02:16 +02:00
jens persson
716fd389e3
Add a box for storage of playingcards
...
The box have place for two stacks of cards with a divider between.
It have a slide in lid.
2018-10-09 16:55:34 +02:00
Florian Festi
14c6338713
New generator: LaserClamp
2018-10-06 22:55:46 +02:00
Florian Festi
60cb0eed87
CabinetHinge: Add style param with new value outside
2018-10-04 22:18:07 +02:00
Florian Festi
b07983582e
HingeBox: Add support for split lids
2018-09-30 15:31:16 +02:00
Florian Festi
db16b16533
.rectangularWall(): Fix placement for hex holes enabled by holesMargin param
2018-09-13 09:23:56 +02:00
Florian Festi
9ad64a1764
Boxes.buildArgParser: Update doc string
2018-09-10 10:00:02 +02:00
Florian Festi
259834a983
ArgparseEdgeType: Add doc string
2018-09-10 10:00:02 +02:00
Florian Festi
84df48ba1d
Add units (mm) to the tabs param description
2018-09-10 10:00:02 +02:00
Rotzbua
84ce484f93
[doc] add hint to disable reference
2018-09-08 15:33:09 +02:00
Florian Festi
b8ff1b8cf6
TrayLayout: Make parsing a bit more robust
...
Ignore white space at the end of lines with horizontal walls
2018-08-27 16:55:00 +02:00
Florian Festi
b4a95aca15
TrayLayout: Fix burn correction for bottom plate
...
All edges were missing the burn correction outset (aka kerf).
2018-08-27 15:13:31 +02:00
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
3767598d5d
Fix placement of rectangularHole() which was off by one burn
2018-08-27 15:09:17 +02:00
Florian Festi
ec77d6aa22
Doc strings for Parts methods
2018-08-23 23:28:24 +02:00
Florian Festi
897fc23029
Doc string for Boxes.flex2D()
2018-08-23 23:28:24 +02:00
Florian Festi
6c43f4a382
Doc string for Boxes.TX()
2018-08-23 23:28:20 +02:00
Florian Festi
a99094b8d7
Doc string for Boxes.partsMatrix()
2018-08-23 23:27:35 +02:00
Florian Festi
d360703cba
TypeTray: Make bottom_edge parametric
...
This does not affect the inside walls
2018-08-16 20:49:12 +02:00
Florian Festi
46175dde11
Fix url params for checkboxes when re-opening an input form
...
Thanks to Rotzbua for pointing the issue out!
2018-08-16 08:54:52 +02:00
Florian Festi
8563818925
Hook: Boxify and parametrize generator
2018-08-14 14:01:59 +02:00
Marius Bergmann
2831b41d21
Add wall hook generator
2018-08-14 11:55:31 +02:00
Florian Festi
f83ca31a0a
RoundedBox: Add wallpieces param
2018-08-06 19:46:48 +02:00
Florian Festi
af7f29c51f
Add (wall)pieces param to roundedPlate() and surroundingWall()
2018-08-06 19:46:23 +02:00
Florian Festi
7c8ae621f7
CloseBox: Put bed blots at the right places
...
Keep them still disabled, though.
2018-07-25 16:34:58 +02:00
Florian Festi
05c41be4d1
Remove or comment debugging outputs
2018-07-24 20:36:13 +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
44bce898e0
UniversalBox: Add alternative "lid" for f and F top_edges:
...
A rim leaving the box open
2018-07-02 19:07:26 +02:00
Florian Festi
2c7f9f4dc0
UniversalBox: Add f and F as possible top_edge types
2018-07-02 19:07:26 +02:00
Florian Festi
37a798e91e
Add top "lid" for F edge
2018-07-02 19:07:25 +02:00
Sebastian Reichel
8b172cbddd
Add 10" rack box derived from 19" rack box
2018-06-27 21:48:35 +02:00
Sebastian Reichel
d75ea78196
Add support for specifying font color/size
2018-06-27 21:48:35 +02:00
Florian Festi
6538c92910
OrganPipe: Offer multiple units for the pressure given
2018-05-18 14:12:30 +02:00
Florian Festi
924372f79d
Use a minimal line width (0.05mm) even for very small burn values
...
to keep the lines visible in these cases.
2018-05-17 11:27:58 +02:00
Florian Festi
1d0aa05e9a
OrganPipe: Use unicode for Py 2 compat
2018-05-12 17:14:02 +02:00
Florian Festi
d9e8930e31
OrganPipe: Add encoding
2018-05-12 17:11:26 +02:00
Florian Festi
4798c24815
New generator: Organ pipe
...
Still untested
2018-05-12 17:06:10 +02:00
Florian Festi
f99bf32c85
Add hinges and spacing params to CabinetHingeEdge
2018-05-08 23:55:09 +02:00
Florian Festi
2828a85725
Add flatHole() for shafts that are flattened on both sides.
2018-05-05 19:08:37 +02:00
Florian Festi
50b9bc9ffb
TypeTray: Fix finger holes in bottom which had been mirrored in x direction
2018-04-25 23:36:32 +02:00
Florian Festi
616bf42239
RegularBox: Fix top edge for "angled hole" top
2018-04-25 22:02:52 +02:00
Florian Festi
d3c922d289
RegularBox: Use FingerJointSettings for vertical edges, too
...
Fixes #65
2018-04-25 22:02:24 +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
879ae1af68
DisplayShelf: Do not render front wall if set to zero
2018-04-15 19:43:31 +02:00
Florian Festi
ebe02e2be5
DisplayShelf: Use better defaults
2018-04-15 19:43:31 +02:00
Florian Festi
65358c9fad
Add hint to outside param to nominally inner sizes
2018-04-05 22:55:23 +02:00
Florian Festi
b2c54310b6
UnevenHeightBox: Fix lid
...
Looks like it is difficult to come up with a really non symmectrical test case.
Thanks to Mekol for pointing this out!
Related #60
2018-03-17 21:04:24 +01:00
Florian Festi
fa44eb27cf
UneveHeigthBox: Minor tweaks
2018-03-17 17:32:21 +01:00