Difference between revisions of "FreeCad Gear Box"
Russ hensel (talk | contribs) |
Russ hensel (talk | contribs) |
||
Line 13: | Line 13: | ||
The pattern goes like this: | The pattern goes like this: | ||
− | *Each part has a bunch of values that effect z positions | + | * Each part has a bunch of values that effect z positions |
** Bottom of the part. | ** Bottom of the part. | ||
** Thickness of the part. | ** Thickness of the part. | ||
Line 19: | Line 19: | ||
** Top of the part. | ** Top of the part. | ||
* Clearly there are some simple relations between these values. | * Clearly there are some simple relations between these values. | ||
+ | * Parts are often stacked up. In the gear box: | ||
+ | ** Bottom plate | ||
+ | ** Washer | ||
+ | ** Spacer | ||
+ | ** Lower Gear | ||
+ | ** Upper Gear | ||
+ | ** Spacer | ||
+ | ** Washer | ||
+ | ** Upper Plate | ||
+ | * Some calculations: | ||
+ | ** A part's bottom z position + part's thichness = part's top z position | ||
+ | ** One part's top z position becomes the next part's bottom z position. | ||
+ | |||
+ | == Pattern into Python == | ||
+ | |||
+ | Two classes have been found useful so far. | ||
+ | |||
+ | * Part3D | ||
+ | * PartStack | ||
+ | |||
+ | |||
+ | |||
+ | |||
[[Category:Python]] [[Category:FreeCad]] | [[Category:Python]] [[Category:FreeCad]] |
Revision as of 09:29, 10 February 2017
What
This is a little record of my work to make and print a gearbox using FreeCad
Issues
A Python Helper Program
In my approach to the problem each part needs to be positioned ( so far in the z axis ) so that all the parts come together correctly. I started to do this by making a sketch of a side view of the gearbox ( will add here later ). Then I began a spreadsheet of the z positions. I do not really like spreadsheets because I find them very error prone and compared to programming a bit tedious. So I wrote a Python program. Initially I just set up a large number of variables and did the math. This was using Python as pretty much a general purpose calculator. Then I began to see a pattern in the calculations.
A Pattern
The pattern goes like this:
- Each part has a bunch of values that effect z positions
- Bottom of the part.
- Thickness of the part.
- Midpoint of the part.
- Top of the part.
- Clearly there are some simple relations between these values.
- Parts are often stacked up. In the gear box:
- Bottom plate
- Washer
- Spacer
- Lower Gear
- Upper Gear
- Spacer
- Washer
- Upper Plate
- Some calculations:
- A part's bottom z position + part's thichness = part's top z position
- One part's top z position becomes the next part's bottom z position.
Pattern into Python
Two classes have been found useful so far.
- Part3D
- PartStack