March 23, 2023
Description
This is a minimal library for the generation of cycloidical gears.
Some demo functions are included.
Required: OpenSCAD version >= 2015.03 !! MOST CURRENT VERSION HERE: https://github.com/mechadense/scad-lib-cyclogearprofiles
(old link) https://github.com/lsuess/scad-lib-cyclogearprofiles
usage: ... use // include would execute the demo modules
To get a cross-section of the desired gear invoke: cyclogearprofile(rtooth,nteeth,vpt,verbouse);
parameters:
– rtooth ... radius of gear teeth
– nteeth ... number of gear teeth
– vtp ... optional parameter -- vertices per tooth -- if left 0 (this is default) OpenSCADs resolution parameters $fa $fs or $fn will be applied.
– verbouse ... optional parameter -- If this is set bigger than zero then info about that gear will be reported under the choosen number.
To get a cross section of a rack invoke: cyclorackprofile(trackmin,rtooth,nteeth,teethshift0,vpt=0)
– trackmin ... thickness of rack at the thinnest points
– rtooth ... "radius" of gear teeth
– nteeth ... numbers of teeth of rack (smallest allowed unit is a quater of a full tooth cycle)
– teethshift0 ... at which quater to begin with the first tooth sensible are valued from the list: {-0.75,-0.5,0,+0.5,+0.75} all others have same effect
– vpt ...same as for cyclogearprofile
There are two helper functions to align gears. One for normal meshing an one for the case that one gear has the teeth inside (a concave gear) such that both gears turn in the same direction. alpha2(n1,n2,alpha1,beta12) // for normal meshing alpha2inroll(n1,n2,alpha1,beta12) // for gears rolling inside concave gears
parameters:
– _1 ... gear in origin; _2 ... meshed gear
– beta12 ... angle at which the meshed gear is located
– nX ... number of teeth of gear X
– alphaX ... rotation angle of gear X around its own origin
If you want to make herringbone gears use this helper function. twistextrudegear(rtooth,nteeth,slant,nteethtwist) your_modified_cyclogearprofile(...);
The generated extrusion height (for nteethtwist=1) can be obtained with this helper function: extrudeheight1tooth(r,n,slantangle)
To twist over the angle of multiple teeth use nteethtwist > 1 & multiply nteethtwist to the return value of extrudeheight1tooth.
rollingradius(rtooth,nteeth)
This library was written when OpenSCAD still had no support for higher order functions HOFs
(That is: Partially evaluated functions could not yet be handed over as function arguments)
This changed. OpenSCAD by now (since before 2023) supports HOFs and a new library with more features is in the works.
As a teaser: Expect:
– parametricity over tooth profiles
– addenda and dedenda of different cycloid rolling radii
– breakable edges
– projectability to various gemoetries (including bevel gears)
– generalization to cover both gears and screws
Category: Other
License:
Creative Commons — Attribution
9