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
Florian Festi
01312788bb
Make Pulley a part with callback and move params
2016-07-13 17:41:51 +02:00
Florian Festi
9cdb2e8dc4
Translate code from openscad to Boxes.py
2016-07-13 17:41:51 +02:00
Florian Festi
9a7a291efc
Turn teeth data into valid Python
2016-07-13 17:41:51 +02:00
Florian Festi
cc5fd1d651
Rename as Python module
2016-07-13 17:41:51 +02:00
Florian Festi
90835b6493
Add pulley scad file
2016-07-13 17:41:51 +02:00
Florian Festi
3abf95d665
Add callback and move param to regular gears
2016-07-13 17:41:44 +02:00
Florian Festi
a2a2695c03
Support single callback that do not get any number
2016-07-13 17:38:50 +02:00
Florian Festi
4dd61691d2
Remove no longer needed code
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
2a849e7af6
Enable support for rack gears
2016-07-13 17:37:50 +02:00
Florian Festi
0b963f30a1
Fix units to mm
2016-07-13 17:31:36 +02:00
Florian Festi
c0a9d42abd
Cleanups and outer circle for inner gears
2016-07-13 17:31:35 +02:00
Florian Festi
c6b4fcc588
Centercross and pitchcircle
2016-07-13 17:31:35 +02:00
Florian Festi
b86146fe1c
Make generate_spokes a method and port it to boxes
2016-07-13 17:31:32 +02:00
Florian Festi
ff8117b8ba
Add burn correction to the gears
2016-07-13 17:30:23 +02:00
Florian Festi
3af1a11fbc
Draw lines instead of creating svg for the teeth
2016-07-12 16:55:12 +02:00
Florian Festi
56bd463b94
Gears: use argparse for argument handling instead of the Inkscape classes
2016-07-12 16:55:12 +02:00
Florian Festi
ab05372bcc
Fix indentiation
2016-07-12 16:55:12 +02:00
Florian Festi
1fcb6c67b1
Add gear generator plugin for inkscape as a base for own generator
...
This file is borrowed from https://github.com/jnweiger/inkscape-gears-dev
2016-07-12 16:55:12 +02:00
Florian Festi
33a1333ad9
Add FlexTest2 for new 2D flex pattern
2016-07-12 16:54:44 +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
3f97d7ad77
Add outside parameter to some generators
2016-07-09 23:10:43 +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
70d46dd06a
Flexbox4: Limit radius to sane values
2016-07-09 10:55:42 +02:00
Florian Festi
281c80b4e9
flexbox4: Be more generous when merging flex on top
2016-07-09 10:55:42 +02:00
Florian Festi
ea6f45a24b
flexbox2: Be more generous when merging flex on top
2016-07-09 10:55:42 +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
Florian Festi
8f0dc0330e
Merge flex if rounded edges meet at top and bottom
2016-07-09 10:55:42 +02:00
Florian Festi
f65bafbcac
Flexbox2: Limit radius to sane values
2016-07-09 10:55:42 +02:00
Florian Festi
2043ee6d8a
Flexbox: Limit radius to sane values
2016-07-09 10:55:42 +02:00
Florian Festi
20e55ed1c9
Remove left over debug print
2016-07-08 22:17:37 +02:00
Florian Festi
fcda87d48a
Make A style hinges parametrical
2016-07-08 19:51:36 +02:00
Florian Festi
401ef597d8
Make axle disk out of the hinge hole
...
Remove no longer needed .parts() method
2016-07-06 23:07:44 +02:00
Florian Festi
d392f290e7
Move Boxes.fingerHoleEdgeWidth to FingerJointSettings
2016-07-03 16:42:21 +02:00
Florian Festi
28183257d6
Add optional gripping edges at the side of lids
...
And use it for double lid in box2
2016-07-03 16:00:25 +02:00
Florian Festi
a7f0e97012
Add GrippingEdge
...
Still needs to replace Boxes.grip()
2016-06-30 14:25:29 +02:00
Florian Festi
46f1e1d440
Change chars for custom edge from gG to aA
...
Free g for upcoming grip edge
2016-06-30 13:59:13 +02:00
Florian Festi
f3062a106f
Adjust description of box2
2016-06-30 11:50:01 +02:00
Florian Festi
c7dcaa40a2
Fix typo
2016-06-30 11:40:42 +02:00
Florian Festi
19dceeaf78
Add support for split lid to box2 (select top edge with two hinges)
2016-06-30 11:14:26 +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
79b39fa0c0
Add option for a hinged lid to box2
...
Select edge with hinge as top edge to get the lid generated
2016-06-30 10:32:41 +02:00
Florian Festi
60d465c83a
Add edges for hinges
2016-06-30 10:32:41 +02:00
Florian Festi
a1c6652552
Use a more robust way to replace the size and viewport in the svg
...
Increase maximum size of canvas to 10000mm squared.
2016-06-29 14:07:51 +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
3d60aa096b
Fix default matrix used when parsing svg path without transform attribute
2016-06-22 23:10:26 +02:00
Florian Festi
1c0ec91fe1
Fix parsing for integer numbers
2016-06-22 23:09:16 +02:00
Florian Festi
8be789b134
Add flexbox4 to module list
2016-06-22 23:07:46 +02:00
Florian Festi
43c34e6a42
Fix start of viewport to x=0
...
as we do not have the place to write a different value anyway.
This fixes the scaling in x direction: gh#7
2016-06-22 10:47:47 +02:00
Florian Festi
200f473747
Fix wrong variable access
2016-06-22 10:22:07 +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
6299e5202d
box2: Add chest like lid
2016-06-21 21:53:24 +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
142469cc47
Use rectangularHole for FingerHoles
2016-06-21 11:25:17 +02:00
Florian Festi
6688957a72
New flexbox
2016-06-14 20:36:26 +02:00
Florian Festi
de3629eb96
Add new file rebased away during cleanup of previous patchset
2016-06-13 18:57:04 +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
6b1d1d94d1
One more super() fix
2016-05-22 12:37:02 +02:00
Florian Festi
87582ac535
Fix flextest
2016-05-20 21:33:22 +02:00
Florian Festi
6e9b70b248
Use super properly
...
Restore Python2 compatibility
2016-05-20 20:32:40 +02:00
Florian Festi
d61567d8f1
box2: Add optional click on top
2016-05-03 23:14:08 +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
c462b1fc4b
Make width of other side of DoveTailJoint width 0
...
This way the dove tails are completely in the inner space. This also makes it
easier to build surrounding walls as the dove tail joint doesn't need extra
space.
2016-04-26 21:52:41 +02:00
Florian Festi
f148421a39
Add edge choices to argparser
2016-04-26 20:17:01 +02:00
Florian Festi
b0fd80e188
Fix FingerJointEdgeCounterPart() width
2016-04-26 12:19:43 +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
3086485a25
traylayout: set size of canvas
2016-04-19 09:49:58 +02:00
Florian Festi
dad830d775
Remove unused helper methods
2016-04-19 09:36:14 +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
Florian Festi
ff1dc830e3
traylayout: fix cuts in inner corners of the floor plate
2016-04-18 17:42:29 +02:00
Florian Festi
b0a2ce8b22
Use local vars instead of calling len()
2016-04-18 17:41:26 +02:00