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
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
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
ab750077fa
.partsMatrix(): Do not error out for zero or negative parts count
2017-08-28 23:10:56 +02:00
Florian Festi
ddcf13bf6c
svgutil: Make detection of view port a bit more robust
2017-08-20 19:56:33 +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
93b94d6e70
Fix move="right" for partsMatrix
2017-08-07 17:08:16 +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
abb7706b6d
Python2 compat for Inkscape
2017-05-14 21:47:49 +02:00
Florian Festi
770b3dc02f
Add .dHole()
2017-05-05 16:52:42 +02:00
Florian Festi
d7aadc9b72
Add callback param to gears.gearCarrier()
2017-05-04 21:41:18 +02:00
Florian Festi
07ede0a5c5
Add support for "only" in the move param of .partsMatrix()
2017-05-04 21:41:18 +02:00
Florian Festi
9bf9922d28
Stroke in move after part is completed
2017-05-04 21:41:18 +02:00
Florian Festi
3822cc4882
Add TX holes
2017-05-04 21:41:18 +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
bffd732c3f
scripts/boxes: Use generator classes instead of main functions
...
Make Boxes.parseArgs more robust
--list generators by UI group.
Pass arguments explicitly instead of fiddling with sys.argv
2017-04-05 04:33:28 +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
Florian Festi
4c17d6a4a1
Planetary2: Put planet gears in the order they need to go together
2017-04-01 20:59:19 +02:00
Florian Festi
7f1e54be15
Planetary2: Add pin holes for ring gear and add second ring
2017-03-30 20:59:13 +02:00
Florian Festi
8487d5c379
Planetary2: New generator for a ~100 reduction to belt pulley
2017-03-29 07:44:48 +02:00
Florian Festi
93480e082d
gears: Add teeth_only param to allow using gears as lines and not only as parts
2017-03-29 07:42:57 +02:00
Florian Festi
427a6fc54b
Change default of mount_hole to 0
2017-03-29 07:42:15 +02:00
Florian Festi
bad114400f
Use better default for height of pulley (using the new keyword style)
2017-03-29 07:41:05 +02:00
Florian Festi
ff6da9eb80
Fix pulley size calculation for r_axle being None
2017-03-29 07:40:17 +02:00
Florian Festi
c7490155f7
Add nema_mount default parameter
...
Make nema_sizes available outside of NEMA() function.
This whole stuff should probably move into it's own file/class at some point
2017-03-29 07:38:10 +02:00
Florian Festi
53cbed768b
Allow using keyword args for buildArgParser for setting the defaults
2017-03-29 07:36:50 +02:00
Florian Festi
c2fa8c85cf
Pulley: Add insideout param
...
This allows using timing belts as strainwaves in harmonic drives.
2017-03-22 22:03:09 +01:00
Florian Festi
c2ab70eefe
Add Boxes.circle() primitive
2017-03-22 22:03:09 +01:00
Florian Festi
71bd013f3f
RegularBox: Better description
2017-03-13 11:41:12 +01:00
Florian Festi
cd0d49bf6f
OttoLegs: Use two different hole sizes for the ankle
...
to allow screwing it into one side while moving freely on the other
2017-03-12 14:47:21 +01:00
Florian Festi
cd3fee5e76
OttoLegs: More tweaks
...
Lengthen front by 1mm to close gap to servo
Lower ankle hole at leg by 0.5mm
Shorten internal wall holding the servo at top
2017-03-11 20:14:29 +01:00
Florian Festi
672295310b
OttoBody: Body for Otto LC
2017-03-11 18:22:41 +01:00
Florian Festi
c6c2e203f2
OttoLegs: Make ankle bolt diameter configurable
2017-03-11 18:22:41 +01:00
Florian Festi
271bed0308
OttoLegs: wall for better fixating the servos
2017-03-11 18:22:41 +01:00
Florian Festi
6bc695a418
OttoLegs: Add second leg
2017-03-11 18:22:41 +01:00
Florian Festi
e316877d06
OttoLegs: Make room for cables
2017-03-11 18:22:41 +01:00
Florian Festi
db4e878bb4
OttoLegs: Legs for Otto LC
2017-03-11 18:22:41 +01:00
Florian Festi
121e2107fb
Import lxml locally to avoid hard dependency
...
The code is used in the Inkscape plugin only.
2017-03-10 23:00:41 +01:00
Florian Festi
4ab1dcc323
RoundedBox: Fix description
2017-03-06 22:24:05 +01:00
Florian Festi
eecbceda11
Rename Box2 -> UniversalBox
2017-03-06 22:24:05 +01:00
Florian Festi
47f3037e23
rename Box3 -> OpenBox
2017-03-06 22:24:05 +01:00
Florian Festi
5026c2bc03
Rename Box5 -> HingeBox
2017-03-06 22:24:05 +01:00
Florian Festi
e5b19978dd
Rename Box4 -> IntegratedHingeBox
2017-03-06 22:24:05 +01:00
Florian Festi
75b7724255
Rename Box -> ClosedBox
2017-03-06 22:24:05 +01:00
Florian Festi
5956182328
Parts.ringSegment()
2017-03-05 12:52:44 +01:00
Florian Festi
5e33d057fc
UBox: Limit radius to possible values and merge flex if radii touch
2017-03-04 15:29:28 +01:00
Florian Festi
a0d992f43a
Stop printing random stuff on stdout
2017-02-26 17:02:16 +01:00
Florian Festi
41bc4d028f
Use sys.stdout.buffer to be able to write bytes (for Python 3 compat)
2017-02-25 19:59:53 +01:00
Florian Festi
cb8ebefeb1
Fix Servo.choices() and use it in robotarm
2017-02-25 19:59:16 +01:00
Florian Festi
174b20fc11
Fix main
2017-02-25 19:40:24 +01:00
Florian Festi
a81ba48d45
Take viewBox and size of SVG documents into account when merging them
2017-02-25 16:10:28 +01:00
Florian Festi
ce87babfdd
RoundedBox: Fix hole size
...
Size calculation was wrong but compensated the broken size adjustment with
"outside" set.
2017-02-25 15:52:51 +01:00
Florian Festi
490d089a83
Planetary: Python2 fix. // doesn't allow floats in Python 2
2017-02-25 11:24:58 +01:00
Florian Festi
d4edafe2d9
Fix ChestHingeSetting
...
Got broken by 6756d16b67
2017-02-23 20:57:01 +01:00
Florian Festi
e0a4d06c43
Hackish way to make scriptsboxes to work with Inkscape.
2017-02-23 17:38:26 +01:00
Florian Festi
ff7ee22885
Add svgutil.svgMerge() allwing to add generated box into anoterh svg
...
Implemetation has still many short comings. E.g. assumes units and layout of
document passed in. Also assumes to be merged document to be generated by
boxes.py.
2017-02-23 17:38:26 +01:00
Florian Festi
39e74e67ba
Add scripts/boxes2inkscape for generating inx files from box generators
...
Code for handling traylayout still missing.
2017-02-23 17:38:26 +01:00
Florian Festi
a93e280477
Make reference a separate path object
...
Avoid it being merged with teh first par tof the drawing
2017-02-23 17:38:26 +01:00
Florian Festi
e23d8034c5
Make BoolArg accept upper and lower case values
2017-02-23 17:38:26 +01:00
Florian Festi
b440d1c767
Use BoolArg when creating arg parser for edges.Settings
2017-02-23 17:38:26 +01:00
Florian Festi
1b3f9dbc3a
Robotarm: Generator for servo powered robot arm segments
2017-02-22 22:33:22 +01:00
Florian Festi
40d53ac1ba
Robot parts: Initial commit
2017-02-22 22:33:22 +01:00
Florian Festi
1bed3f2a39
rectangularWall() fix positioning with ignore_widths
...
containing parts of the lower left corner.
2017-02-22 20:01:29 +01:00
Florian Festi
3cad4f27af
Add tangent() function
2017-02-22 20:01:28 +01:00
Florian Festi
d2774f151d
Lamp: fix no longer valid default in setting
2017-02-18 19:13:57 +01:00
Florian Festi
cc577956a4
Flexbox3: Fix radius of lid
...
May still be off a bit. But I can't see why...
2017-02-18 19:06:10 +01:00
Florian Festi
117ace3233
FlexBox3: Fix finger joints of lid
2017-02-18 19:06:10 +01:00
Florian Festi
1f9342b678
Castle: Make available in UI and adjust to current code base
2017-02-18 19:06:10 +01:00
Florian Festi
6756d16b67
Use .settings.thickness in edges instead of global value
2017-02-18 19:05:21 +01:00
Florian Festi
561eb0034c
Add "Unstable" UIGroup
2017-02-15 15:55:01 +01:00