Florian Festi
a6ca723759
Mirror holes on the other walls
...
to have them match up. Otherwise boxes with non symetric top edges don't fit
together.
Fixes #141
2019-05-11 17:18:10 +02:00
Florian Festi
93c2093ef3
AllEdges: Fix spacing and add edegs around the corner
...
to make it more clear which direction the edges are pointing.
Related #132
2019-04-14 18:17:09 +02:00
Florian Festi
ce8576d39e
New generator: HeartBox
2019-03-24 21:52:26 +01:00
Florian Festi
c09ee50fbd
New generator: NotesHolder
2019-03-23 12:36:21 +01:00
Florian Festi
8bacd1f766
UniversalBox: Fix missing lids for various top_edges
...
Call got refactored away
Resolves : #121
2019-02-27 22:58:05 +01:00
Florian Festi
8db3942757
UniversalBox: Fix positioning of lid parts
2019-02-14 21:32:27 +01:00
Florian Festi
0d07f48b7f
Remove .open() call from the .render() method
...
Having this call there was necessary in the past as the open() method would
need the canvas size as a parameter. This is now determined automatically
after rendering.
Still calling open() is deprecated but won't result in an error.
2019-02-08 17:43:15 +01:00
Florian Festi
861c8451e2
Remove call to .close() from .render() method
...
There is really no need for all the generator to care
Still calling it is deprecated but won't result in an error
2019-02-08 17:32:04 +01:00
Florian Festi
2ba6fa1bf3
Use .saved_context() instead of .ctx.save() and .restore()
2019-02-07 22:43:04 +01:00
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
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
Florian Festi
6f4e94577b
New generator: RectangularWall
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
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
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
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
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
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
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
b07983582e
HingeBox: Add support for split lids
2018-09-30 15:31:16 +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
d360703cba
TypeTray: Make bottom_edge parametric
...
This does not affect the inside walls
2018-08-16 20:49:12 +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
7c8ae621f7
CloseBox: Put bed blots at the right places
...
Keep them still disabled, though.
2018-07-25 16:34:58 +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
Sebastian Reichel
8b172cbddd
Add 10" rack box derived from 19" rack box
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
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
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
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
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
Florian Festi
58cb06ec94
UnevenHeightBox: Add lid
2018-03-17 17:19:47 +01:00
Florian Festi
7c716a9e5f
UnevenHeightBox: Make bottom edge parametric
2018-03-15 20:46:00 +01:00
Florian Festi
786ff222c2
New generator: UnevenHeightBox
...
Box with different height in each corner
2018-03-15 19:08:47 +01:00
Florian Festi
0604744284
OttoSoles: Add dove tail joints to the connecting edges
2018-03-11 17:43:55 +01:00
Florian Festi
f2106a2c8c
OttoSoles: Add support for tabs
2018-03-11 09:13:40 +01:00
Florian Festi
49ce2ed412
New generator: Ottosoles
...
Foam soles for the OttO Bot
2018-03-10 19:28:30 +01:00
Florian Festi
dd7d282c65
Rack19Box: Fix width and placement of holes
2018-02-27 18:41:39 +01:00
Florian Festi
66c419ab7f
New generator: Rack19Box
...
Closed box with screw on top for mounting in a 19" rack.
2018-02-27 18:04:26 +01:00
Florian Festi
c3917d3292
IntegratedHingeBox: switch x and y measurements
...
So the hinge is at the backside along the x axis
2018-02-20 08:23:07 +01:00
Florian Festi
8cb9919968
FlexBox2: Rename params to reflect the actual axis of measurement
...
h -> x
y -> h
x -> y
2018-02-19 16:49:04 +01:00
Florian Festi
039fe5f2ee
ElectronicsBox: Fix holes in the lid
2018-02-03 22:33:27 +01:00
Florian Festi
a70222d646
New generator: RackBox
2018-02-03 22:31:53 +01:00
Florian Festi
6ef43a8f48
Add flangedWall() and use it in the ElectronicsBox
2018-02-03 21:52:12 +01:00
Florian Festi
b0bef745b2
ElectronicsBox: Fix top edge and height
2018-02-02 14:06:18 +01:00
Florian Festi
a53c5857c2
New generator: AngledCutJig
...
For making angled cuts in a laser cutter
2018-01-21 22:05:48 +01:00
Florian Festi
62b6016448
OttoLegs: Increase number of tabs for feet and ankles
2018-01-13 21:11:33 +01:00
Florian Festi
68f1c375f7
OttoLegs: Move tabs to outer ring
2017-12-20 18:25:55 +01:00
Florian Festi
703d0e49db
OttoBody: Add tabs to the PCB clamps
2017-12-19 20:10:08 +01:00
Florian Festi
f44f87a25c
Remove print for Python 2 compat
2017-12-19 19:36:37 +01:00
Florian Festi
946d040bac
OttoBot: Move to Misc UI Group
...
Set default leg legth to 34mm
2017-12-18 23:49:18 +01:00
Florian Festi
e26991695a
Mark top side of servo mount.
...
Move servo mounts up as they need to be cut separately (in 5mm)
2017-12-17 15:30:32 +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
e0caa3aad8
OttoBody: Add fix for changed ChestHinge
2017-12-09 16:54:20 +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
319b1f869f
Use unicode for Python 2 compat
2017-11-30 23:32:30 +01:00
Florian Festi
d52b561a2f
Use explicit encoding
2017-11-30 23:30:50 +01:00
Florian Festi
3dfd99c68a
Rename method to not collide with new description property
2017-11-30 22:46:35 +01:00
Daniela Festi
72e6dd2213
Added a description to TrafficLight generator
2017-11-30 22:46:35 +01:00
Florian Festi
0d9885ad4c
Stachel: Fix length of pin clamp for middle layer
2017-11-23 21:04:54 +01:00
Florian Festi
2772eba87c
Gears: holes for the shafts
2017-11-22 21:32:25 +01:00
Florian Festi
a7f6ef1b62
Gears: Print sizes
2017-11-22 21:32:04 +01:00
Florian Festi
afbb8d11fd
Gear generator
2017-11-22 21:32:04 +01:00
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