Cycloid Gear Library
thingiverse
This is a lightweight library for generating cyclical gear profiles. Some demo functions are included in the library. OpenSCAD version >= 2015.03 is required!! MOST CURRENT VERSION CAN BE FOUND HERE: https://github.com/lsuess/scad-lib-cyclogearprofiles To use the demo modules, invoke include. To get a cross section of the desired gear, call cyclogearprofile(rtooth,nteeth,vpt,verbouse). Parameters are as follows: rtooth ... radius of gear teeth nteeth ... number of gear teeth vtp ... optional parameter - vertices per tooth. If left at 0 (this is default), OpenSCAD's resolution parameters $fa $fs or $fn will be applied. verbouse ... optional parameter. Set this to a higher value than zero if you want info about that gear reported under the chosen number. To get a cross section of a rack, call cyclorackprofile(trackmin,rtooth,nteeth,teethshift0,vpt=0). Parameters are as follows: trackmin ... thickness of rack at thinnest points rtooth ... "radius" of gear teeth nteeth ... number of teeth on the rack. The smallest allowed unit is a quarter of a full tooth cycle. teethshift0 ... At which quarter to begin with the first tooth, sensible values are as follows: {-0.75,-0.5,0,+0.5,+0.75}. Others will have the same effect. vpt ... same as for cyclogearprofile. There are helper functions available to align gears: Two alignment helper functions exist. One is used for normal meshing and the other for the case when one gear has its teeth inside (a concave gear), with both turning in the same direction. The first helper function, alpha2(n1,n2,alpha1,beta12) //, is used for normal meshing. The second helper function, alpha2inroll(n1,n2,alpha1,beta12), // is used when one gear has teeth inside the other. Parameters are as follows: n1 ... origin gear n2 ... meshed gear beta12 ... angle at which the meshed gear is located nX ... number of teeth on gear X alphaX ... rotation angle of gear X around its own origin The extrusion helper functions exist to aid in the creation of herringbone gears. A twistextrudegear(rtooth,nteeth,slant,nteethtwist) // helper function exists to make your modified cyclogearprofile(...). To determine the generated extrusion height for nteethtwist=1 use extrudeheight1tooth(r,n,slantangle) // If twisting over an angle of multiple teeth is needed, use nteethtwist > 1 and multiply this value to the return value of extrudeheight1tooth. Further notes: A cycloidical gear's rolling radius can be calculated by using twice the tooth number times the tooth radius. To aid in making code more self-explanatory, a helper function called rollingradius(rtooth,nteeth) is available. Cyclical gears require an equal tooth radius to mesh properly. Due to an oscillating attack angle which causes varying axial force, I recommend using herringbone gears over straight cyclical ones.
With this file you will be able to print Cycloid Gear Library with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Cycloid Gear Library.