{"$schema":"nativecad-dfm-pack/1","id":"power-transmission","title":"Power transmission — gears, sprockets, racks, cams, cranks, belts","sector":"power-transmission","version":"2026-09-04","summary":"Involute gear geometry (spur/helical/bevel/worm/planetary), ANSI roller chain sprockets, racks, V-belt/timing belt sections, crankshaft/con-rod/cam basics, universal joints, servo horn splines, ratchets, flywheels and clutches, with the materials, fits and tests a mechanism designer needs before modelling.","aliases":["spur gear","helical gear","bevel gear","worm gear","planetary gear","gearbox","sprocket","roller chain","rack and pinion","involute","crankshaft","connecting rod","camshaft","cam follower","universal joint","servo horn","ratchet","flywheel","v-belt","timing belt","clutch"],"crossSector":false,"size":"full","sources":[{"id":"iso-21771","title":"ISO 21771 Cylindrical involute gears — concepts and geometry","accessed":"2026-09-04"},{"id":"agma-2000-a88","title":"AGMA 2000-A88 Gear Classification and Inspection Handbook","accessed":"2026-09-04"},{"id":"agma-2005-d03","title":"AGMA 2005-D03 Design Manual for Bevel Gears","accessed":"2026-09-04"},{"id":"agma-6034-b92","title":"AGMA 6034-B92 Enclosed Cylindrical Wormgear Speed Reducers","accessed":"2026-09-04"},{"id":"shigley-mech-design","title":"Shigley's Mechanical Engineering Design — gears, cams, clutches","accessed":"2026-09-04"},{"id":"machinerys-handbook","title":"Machinery's Handbook — mechanisms, fits, fasteners","accessed":"2026-09-04"},{"id":"asme-b29-1","title":"ASME B29.1 Precision Power Transmission Roller Chains","accessed":"2026-09-04"},{"id":"iso-4184","title":"ISO 4184 Classical and narrow V-belts — dimensions","url":"https://www.iso.org/standard/70045.html","accessed":"2026-09-04"},{"id":"iso-5296","title":"ISO 5296 Synchronous belts — pitch T2.5/T5/T10","accessed":"2026-09-04"},{"id":"gates-htd-manual","title":"Gates HTD/GT2 Synchronous Belt Design Manual","url":"https://www.gates.com/","accessed":"2026-09-04"},{"id":"iso-286-2","title":"ISO 286-2 Code system for tolerances on linear sizes","accessed":"2026-09-04"},{"id":"sae-driveline-handbook","title":"SAE Universal Joint and Driveline Design Manual","accessed":"2026-09-04"},{"id":"robotdigg-servo-spline","title":"RobotDigg RC Servo Spline Chart","url":"https://www.robotdigg.com/news/168/RC-Servo-Spline-Chart","accessed":"2026-09-04"},{"id":"matweb-material-data","title":"MatWeb Material Property Data","url":"https://www.matweb.com","accessed":"2026-09-04"}],"entries":[{"id":"spur-gear-standard-proportions","kind":"dimension","tier":1,"title":"Full-depth 20° involute spur gear standard proportions","summary":"Standard 20° full-depth system: addendum = 1.0 m, dedendum = 1.25 m, whole depth = 2.25 m, clearance = 0.25 m, where m is module in mm — the four numbers that turn a module + tooth count into a buildable tooth.","applies":["spur gear","gear tooth","involute gear"],"value":{"table":[{"feature":"addendum","multiplierOfModule":1},{"feature":"dedendum","multiplierOfModule":1.25},{"feature":"whole depth","multiplierOfModule":2.25},{"feature":"clearance","multiplierOfModule":0.25}],"unit":"ratio"},"basis":"AGMA 201.02 / ISO 21771 full-depth 20° proportional system, the default for cut and printed spur gearing","sources":["iso-21771"],"tags":["gear","spur","module","addendum","dedendum"]},{"id":"spur-gear-diameter-formulas","kind":"dimension","tier":1,"title":"Spur gear pitch, base, outer and root diameter formulas","summary":"Pitch dia D = m·N; base dia Db = D·cos(20°); outer (tip) dia Do = m(N+2); root dia Dr = m(N-2.5) — 4 formulas from module m and tooth count N that fix every circle on the gear.","applies":["spur gear","gear blank","involute gear"],"value":{"table":[{"circle":"pitch","formula":"D = m*N"},{"circle":"base","formula":"Db = D*cos(20deg)"},{"circle":"outer/tip","formula":"Do = m*(N+2)"},{"circle":"root","formula":"Dr = m*(N-2.5)"}]},"basis":"Direct consequence of the 1.0m/1.25m addendum/dedendum standard proportions applied to the pitch circle D = m*N","sources":["iso-21771"],"tags":["gear","spur","diameter","pitch-diameter","base-diameter"]},{"id":"spur-gear-tooth-thickness","kind":"dimension","tier":1,"title":"Spur gear circular tooth thickness at the pitch circle","summary":"Nominal circular tooth thickness at the pitch circle t = pi*m/2 — half the circular pitch (p = pi*m); a module-2 tooth is 3.1416 mm thick at the pitch line before backlash allowance is subtracted.","applies":["spur gear","gear tooth","rack"],"value":{"value":"t = PI*m/2","unit":"mm"},"basis":"Standard tooth-to-space symmetry: tooth thickness equals space width equals half the circular pitch p = pi*m","sources":["iso-21771"],"tags":["gear","tooth-thickness","circular-pitch"]},{"id":"spur-gear-profile-shift","kind":"rule","tier":1,"title":"Profile shift coefficient to avoid undercut below 17 teeth","summary":"For a 20deg pinion with N < 17 teeth, shift the generating rack outward by coefficient x = (17-N)/17 (in units of module) to eliminate root undercut instead of accepting a weak, undercut tooth — an 8-tooth pinion needs x = 0.53.","applies":["spur gear","pinion","small pinion"],"value":{"value":"x = (17-N)/17","unit":"ratio"},"basis":"Minimum profile-shift coefficient that keeps the involute generated by a rack cutter from undercutting a 20deg-pressure-angle pinion below the 17-tooth limit","sources":["iso-21771"],"see":["robotics/gear-min-teeth-undercut"],"tags":["gear","undercut","profile-shift","pinion"]},{"id":"helical-gear-angle-relations","kind":"dimension","tier":1,"title":"Helical gear helix angle and normal/transverse module","summary":"Helix angles run 15-30deg (20-25deg typical); normal module mn (the cutter's module) relates to transverse module mt by mn = mt*cos(helix) — model the tooth profile in the normal plane, then wrap it around the cylinder at the helix angle.","applies":["helical gear"],"value":{"min":15,"max":30,"typical":20,"unit":"deg"},"basis":"Common helical-gear helix-angle range balancing axial thrust load against the smoother, quieter engagement a higher angle gives","sources":["shigley-mech-design"],"tags":["gear","helical","helix-angle","normal-module"]},{"id":"bevel-gear-tredgold-approximation","kind":"rule","tier":1,"title":"Tredgold approximation for bevel gear tooth form","summary":"Treat a straight bevel gear's tooth as an equivalent spur gear with formative tooth count Nf = N/cos(gamma), gamma the pitch cone angle — a 20-tooth bevel pinion at a 30deg cone angle behaves, for strength and cutter selection, like a 23.1-tooth spur gear.","applies":["bevel gear"],"value":{"value":"Nf = N/cos(gamma)","unit":"count"},"basis":"Tredgold's approximation: the back-cone development of a bevel tooth is (very nearly) a spur tooth of the formative count, letting spur-gear strength and cutter tables apply to bevels","sources":["agma-2005-d03"],"tags":["gear","bevel","tredgold","formative-teeth"]},{"id":"bevel-gear-cone-angle","kind":"dimension","tier":1,"title":"Bevel gear pitch cone angle for 90-degree shafts","summary":"For gears on shafts at 90deg, pitch cone angle gamma1 = atan(N1/N2) for gear 1 (gamma2 = 90deg - gamma1) — a 1:1 mitre bevel pair sits at 45deg each; a 2:1 pair sits at 26.6deg (pinion) and 63.4deg (gear).","applies":["bevel gear","mitre gear"],"value":{"value":"gamma1 = atan(N1/N2)","unit":"deg"},"basis":"Pitch cones of two bevel gears share an apex; for perpendicular shafts the cone half-angles sum to 90deg in the ratio of the tooth counts","sources":["agma-2005-d03"],"tags":["gear","bevel","cone-angle","mitre"]},{"id":"worm-gear-lead-angle-selflock","kind":"rule","tier":1,"title":"Worm lead angle and the self-locking threshold","summary":"Lead angle lambda = atan(lead/(pi*Dworm)); a steel-worm/bronze-wheel drive with lambda below about 5deg is self-locking (the wheel cannot back-drive the worm) at typical 0.05-0.10 sliding friction coefficients — above roughly 11deg it will not self-lock.","applies":["worm gear","worm drive"],"value":{"max":5,"unit":"deg","note":"self-locking threshold; not self-locking above roughly 11deg"},"basis":"Self-locking requires the lead angle to stay below the friction angle (atan(mu)); mu = 0.05-0.10 for a run-in bronze/steel worm mesh gives a friction angle of about 3-6deg","sources":["agma-6034-b92"],"tags":["worm","self-locking","lead-angle"]},{"id":"worm-gear-ratio-and-starts","kind":"dimension","tier":1,"title":"Worm gear ratio from wheel teeth and worm starts","summary":"Ratio = Nwheel / Nstarts; a single-start worm (Nstarts=1) driving a 40-tooth wheel gives 40:1 in one mesh, but halves to 20:1 or 13.3:1 if a double- or triple-start worm (2 or 3 starts) is substituted for the same wheel.","applies":["worm gear","worm drive","worm wheel"],"value":{"value":"ratio = Nwheel/Nstarts","unit":"ratio"},"basis":"Each worm revolution advances the wheel by (starts) teeth, so the ratio is the wheel tooth count divided by the worm's thread-start count","sources":["agma-6034-b92"],"tags":["worm","ratio","starts"]},{"id":"planetary-gear-meshing-condition","kind":"rule","tier":1,"title":"Planetary gear ring/sun/planet tooth-count meshing condition","summary":"For a sun, planets and ring at one common module, the ring tooth count must equal Nr = Ns + 2*Np (sun plus twice the planet count) so the planet meshes with both the sun and the ring at the same centre distance.","applies":["planetary gear","epicyclic gear"],"value":{"value":"Nr = Ns + 2*Np","unit":"count"},"basis":"The planet's centre sits midway between sun and ring centres; equal module and equal centre distance to both forces this tooth-count relation","sources":["shigley-mech-design"],"tags":["planetary","epicyclic","meshing-condition","sun","ring","planet"]},{"id":"planetary-gear-assembly-condition","kind":"rule","tier":1,"title":"Planetary gear assembly condition for k equally spaced planets","summary":"k equally spaced planets assemble only if (Ns + Nr) / k is a whole number — a 20-tooth sun with a 60-tooth ring (sum 80) assembles with 2 or 4 planets but not 3, since 80/3 is not an integer.","applies":["planetary gear","epicyclic gear"],"value":{"value":"(Ns+Nr) mod k == 0","unit":"ratio"},"basis":"Each planet must land on a tooth of both sun and ring when placed at its 360/k angular station; failing the divisibility test means the last planet cannot mesh","sources":["shigley-mech-design"],"tags":["planetary","epicyclic","assembly-condition"]},{"id":"ansi-roller-chain-pitch-table","kind":"dimension","tier":1,"title":"ANSI roller chain pitch by chain number (#25/#35/#40)","summary":"ANSI/ASME B29.1 chain number is 1/8 inch of pitch: #25 = 6.35 mm (1/4in) pitch, #35 = 9.525 mm (3/8in), #40 = 12.7 mm (1/2in) — the pitch every sprocket tooth-spacing formula in this pack takes as p.","applies":["roller chain","sprocket","#25 chain","#35 chain","#40 chain"],"value":{"table":[{"chain":"#25","pitchMm":6.35,"rollerOrBushingMm":3.3,"note":"bushing chain, no roller"},{"chain":"#35","pitchMm":9.525,"rollerOrBushingMm":5.08,"note":"bushing chain, no roller"},{"chain":"#40","pitchMm":12.7,"rollerOrBushingMm":7.92}],"unit":"mm"},"basis":"ASME B29.1 precision roller chain dimension table","sources":["asme-b29-1"],"tags":["chain","sprocket","ansi","pitch"]},{"id":"rack-and-pinion-profile","kind":"dimension","tier":1,"title":"Rack tooth profile: straight flanks at the pressure angle","summary":"A rack tooth is straight-sided (not curved): total tooth height 2.25 m (1.0 m addendum above the pitch line + 1.25 m dedendum below), flanks straight at the 20deg pressure angle from the tooth's vertical centreline, mating any pinion of the same module.","applies":["rack and pinion","rack"],"value":{"value":"height = 2.25*m","unit":"mm"},"basis":"A rack is a gear of infinite radius: its involute flank degenerates to a straight line at the pressure angle, which is why one rack meshes with pinions of any tooth count at the same module","sources":["iso-21771"],"tags":["rack","pinion","straight-flank"]},{"id":"v-belt-section-dimensions","kind":"dimension","tier":1,"title":"Classical V-belt cross-section dimensions (A/B/C)","summary":"ISO 4184 classical V-belt sections: A = 13 x 8 mm (top width x height), B = 17 x 11 mm, C = 22 x 14 mm — pick the section from the sheave's groove angle (typically 34-38deg) and the pulley pitch diameter range the section is rated for.","applies":["v-belt","belt drive","sheave"],"value":{"table":[{"section":"A","topWidthMm":13,"heightMm":8},{"section":"B","topWidthMm":17,"heightMm":11},{"section":"C","topWidthMm":22,"heightMm":14}],"unit":"mm"},"basis":"ISO 4184 / RMA IP-22 classical V-belt cross-section standard","sources":["iso-4184"],"tags":["belt","v-belt","sheave","cross-section"]},{"id":"timing-belt-pitch-htd-t5","kind":"dimension","tier":1,"title":"Timing belt tooth pitch: HTD 3M/5M/8M and T5/T2.5","summary":"Curvilinear HTD belts run 3, 5 or 8 mm tooth pitch (HTD3M/5M/8M); trapezoidal-tooth belts run T2.5 (2.5mm) or T5 (5mm) pitch with about 1.2 mm tooth height at T5 — match the belt pitch to the pulley tooth pitch exactly, they are not interchangeable.","applies":["timing belt","synchronous belt","htd","gt2"],"value":{"options":["HTD3M","HTD5M","HTD8M","T2.5","T5"],"unit":"text"},"basis":"Gates HTD curvilinear tooth series and the ISO 5296 trapezoidal T-series, the two common synchronous-belt tooth families outside 3D-printer-scale GT2","sources":["gates-htd-manual","iso-5296"],"tags":["belt","timing-belt","htd","synchronous"]},{"id":"crankshaft-stroke-throw","kind":"rule","tier":1,"title":"Crankshaft stroke equals twice the crank throw","summary":"Piston/slider stroke = 2 x throw, where throw is the crank radius (the offset of the crankpin centre from the main-journal axis) — a 40 mm throw gives an 80 mm stroke; get the throw wrong by half and the stroke is wrong by exactly double that.","applies":["crankshaft","slider-crank","reciprocating mechanism"],"value":{"value":"stroke = 2*throw","unit":"mm"},"basis":"Simple kinematics of a slider-crank: the slider travels from one extreme (crankpin at top dead centre) to the other (bottom dead centre), a distance of twice the crank radius","sources":["shigley-mech-design"],"tags":["crankshaft","stroke","throw","slider-crank"]},{"id":"servo-horn-spline-dims","kind":"dimension","tier":1,"title":"RC servo output spline tooth count and diameter by brand","summary":"Standard-size hobby servo splines: 25T (Futaba/Hobbico/Savox, ~5.9mm OD; MG996R clone 5.8mm), 24T (Hitec, ~5.9mm), 23T (JR/Sanwa/Spektrum, ~5.9mm) — match the horn's tooth count to the brand, they are not interchangeable.","applies":["servo horn","rc servo","standard servo"],"value":{"table":[{"brand":"Futaba/Hobbico/Savox","teeth":25,"splineOdMm":5.9},{"brand":"MG996R (25T clone)","teeth":25,"splineOdMm":5.8},{"brand":"Hitec","teeth":24,"splineOdMm":5.9},{"brand":"JR/Sanwa/Spektrum","teeth":23,"splineOdMm":5.9}],"unit":"mm"},"basis":"RC hobby servo brands standardised on incompatible spline tooth counts within the same standard-size servo envelope; RobotDigg's spline chart cross-references brand to tooth count","sources":["robotdigg-servo-spline"],"tags":["servo","servo-horn","spline","futaba","hitec","jr"]},{"id":"bore-tolerance-h7","kind":"tolerance","tier":1,"title":"ISO 286 H7 hole tolerance by nominal bore size","summary":"H7 (a hole with zero lower deviation) grows with size: +12/0 um at 3-6mm, +15/0 um at 6-10mm, +18/0 um at 10-18mm, +21/0 um at 18-30mm — the default reamed/bored fit for a bearing housing or a shaft's mating bore.","applies":["bore","bearing housing","hub bore","H7 fit"],"value":{"table":[{"rangeMm":"3-6","upperUm":12,"lowerUm":0},{"rangeMm":"6-10","upperUm":15,"lowerUm":0},{"rangeMm":"10-18","upperUm":18,"lowerUm":0},{"rangeMm":"18-30","upperUm":21,"lowerUm":0}],"unit":"um"},"basis":"ISO 286-2 IT7 grade tolerance values applied to the H fundamental-deviation (hole basis, lower deviation zero)","sources":["iso-286-2"],"see":["robotics/standard-iso-286","robotics/bearing-housing-shaft-fits"],"tags":["tolerance","h7","bore","iso-286"]},{"id":"involute-curve-point-generation","kind":"feature","tier":2,"title":"Generating involute tooth-flank points for a polygon profile","summary":"Parametrise the involute from the base circle by roll angle t: x = Rb(cos t + t sin t), y = Rb(sin t - t cos t); sample 6-8 points per flank from max(base, root) radius to the addendum radius to approximate one tooth flank as a polygon.","applies":["spur gear","helical gear","involute"],"detail":"For a target radius r on the flank, first solve the pressure angle at that radius: alpha = acos(Rb/r). The roll angle is t = tan(alpha). Substituting t into the involute parametric equations gives the point in a local frame where the involute begins at (Rb,0). To place the flank in the gear's polar frame, compute the involute's polar angle at the pitch radius (invAngle = atan2(y,x) evaluated at r = pitch radius) and the half tooth-thickness angle at the pitch circle (halfAngle = (pi*m/4)/Rpitch); the tooth centreline sits at invAngle + halfAngle from the point where the involute leaves the base circle. Mirror the sampled flank about the centreline for the opposite flank, and if the root radius is smaller than the base radius, add one straight radial point at the root before the first involute sample (the true root fillet is a trochoid, not an involute; a single radial point is an adequate polygon approximation for print/DFM-grade models).","basis":"Standard involute parametric form used by every gear-generation package; 6-8 samples per flank keeps the polygon error well under 1% of tooth thickness for module >= 1 gearing","sources":["iso-21771"],"tags":["gear","involute","polygon-approximation","profile"]},{"id":"sprocket-pitch-diameter-formula","kind":"rule","tier":2,"title":"Roller chain sprocket pitch diameter from tooth count","summary":"Sprocket pitch diameter PD = p / sin(180deg/N) where p is chain pitch and N tooth count — a 15-tooth #25 (6.35mm pitch) sprocket has PD = 6.35/sin(12deg) = 30.54 mm.","applies":["sprocket","roller chain"],"value":{"value":"PD = p/sin(180/N)","unit":"mm"},"basis":"The chain wraps the sprocket as a regular N-gon whose vertices are the pitch points; PD is the circumscribing circle of that polygon","sources":["asme-b29-1"],"tags":["sprocket","pitch-diameter","chain"]},{"id":"sprocket-outside-diameter-and-roller","kind":"dimension","tier":2,"title":"Sprocket maximum outside diameter and root diameter","summary":"Max outside dia Do = p*(0.6 + cot(180deg/N)); root dia Dr = PD - d1 (d1 = roller/bushing diameter) — a 15-tooth #25 sprocket: Do = 33.68 mm, Dr = 30.54 - 3.30 = 27.24 mm, giving a 3.22 mm tooth height.","applies":["sprocket","roller chain"],"value":{"value":"Do = p*(0.6+cot(180/N))","unit":"mm"},"basis":"ASME B29.1 sprocket tooth-form dimension formulas; the cotangent term grows the addendum-side clearance the small-N sprockets need to seat the roller without interference","sources":["asme-b29-1"],"tags":["sprocket","outside-diameter","root-diameter","chain"]},{"id":"planetary-gear-ratio-formulas","kind":"dimension","tier":2,"title":"Planetary gear train ratio by which member is fixed","summary":"Ring fixed, sun input, carrier output: ratio = 1 + Nr/Ns. Sun fixed, ring input, carrier output: ratio = 1 + Ns/Nr. Carrier fixed (simple/star train), sun input, ring output: ratio = -Nr/Ns.","applies":["planetary gear","epicyclic gear","gearbox"],"value":{"table":[{"configuration":"ring fixed, carrier out","ratio":"1 + Nr/Ns"},{"configuration":"sun fixed, carrier out","ratio":"1 + Ns/Nr"},{"configuration":"carrier fixed (star)","ratio":"-Nr/Ns"}]},"basis":"Standard epicyclic train ratio derivation via the tabular (relative-velocity) method","sources":["shigley-mech-design"],"tags":["planetary","epicyclic","gear-ratio","gearbox"]},{"id":"cam-follower-pressure-angle","kind":"rule","tier":2,"title":"Cam pressure angle design limit","summary":"Keep the cam-follower pressure angle at or below 30deg for a translating roller follower (up to about 45deg is tolerated for an oscillating follower) — exceeding it drives excessive side load, follower binding and accelerated wear.","applies":["cam follower","cam mechanism"],"value":{"max":30,"unit":"deg","note":"up to ~45deg for an oscillating follower"},"basis":"Above this limit the follower's side-load component from the cam grows faster than the useful lift force, risking jamming in its guide","sources":["shigley-mech-design"],"tags":["cam","cam-follower","pressure-angle"]},{"id":"cam-base-circle-and-lift","kind":"dimension","tier":2,"title":"Cam base circle sizing against total lift","summary":"Size the base circle radius to at least 1.5-2x the total follower lift as a starting point — a small base circle forces a steep flank to reach the same lift over the same cam angle, driving pressure angle over the 30deg limit.","applies":["camshaft","cam mechanism"],"value":{"min":1.5,"max":2,"unit":"ratio","note":"multiply by total lift for a starting base-circle radius"},"basis":"For a given lift and rise duration, pressure angle falls as base-circle radius grows; this ratio is a first-pass sizing rule to check against the 30deg pressure-angle limit before finishing the follower motion program","sources":["shigley-mech-design"],"tags":["cam","base-circle","lift"]},{"id":"connecting-rod-length-ratio","kind":"dimension","tier":2,"title":"Connecting rod length-to-crank-radius ratio","summary":"Rod length / crank throw (L/R) typically runs 3.5-4.5 in small reciprocating mechanisms and engines — a shorter ratio increases secondary (2nd-harmonic) motion and piston side-thrust, a longer one adds mechanism length for diminishing smoothness gains.","applies":["connecting rod","slider-crank","crankshaft"],"value":{"min":3.5,"max":4.5,"unit":"ratio"},"basis":"Slider-crank kinematics: the piston's secondary displacement/acceleration terms scale with 1/(L/R), so a low ratio measurably increases vibration and side load on the cylinder wall","sources":["shigley-mech-design"],"tags":["connecting-rod","crankshaft","slider-crank"]},{"id":"camshaft-lobe-basics","kind":"feature","tier":2,"title":"Camshaft lobe as base circle plus a lift profile","summary":"A cam lobe's radius at angle theta is r(theta) = Rbase + lift(theta), where lift(theta) is the motion program (e.g. cycloidal or harmonic rise/fall); model the lobe as a polar profile sampled every 1-5deg and check its pressure angle before extruding.","applies":["camshaft","cam lobe"],"value":{"min":1,"max":5,"unit":"deg","note":"typical polar sampling interval for the lobe profile"},"basis":"The lobe geometry is entirely the base circle plus the chosen displacement (lift) program; sampling finely enough avoids faceting the peak lift or the closing ramp","sources":["shigley-mech-design"],"tags":["camshaft","cam-lobe","base-circle","lift-profile"]},{"id":"universal-joint-operating-angle","kind":"dimension","tier":2,"title":"Single universal joint maximum recommended operating angle","summary":"Limit a single (Cardan) universal joint to about 25deg of continuous operating angle (up to roughly 45deg for slow, intermittent motion) — beyond that its inherent non-constant-velocity output (2nd-order speed ripple growing with angle) becomes severe.","applies":["universal joint","cardan joint","u-joint"],"value":{"typical":25,"max":45,"unit":"deg"},"basis":"A single Cardan joint's output speed varies sinusoidally twice per revolution with an amplitude that grows with operating angle; driveline practice caps continuous-duty angle to keep vibration and yoke/bearing loads bounded","sources":["sae-driveline-handbook"],"tags":["universal-joint","cardan","operating-angle"]},{"id":"universal-joint-double-cardan-phasing","kind":"rule","tier":2,"title":"Double Cardan joint near-constant-velocity phasing","summary":"Two single U-joints in series cancel their speed ripple (near-constant-velocity) only when both joints run the same operating angle and their intermediate-shaft yokes are phased 90deg apart — get the phasing wrong by even a partial turn and the ripple adds instead of cancelling.","applies":["universal joint","double cardan joint","cv joint"],"basis":"Each single joint's non-uniformity is a function of its own angle; matching both angles and phasing the yokes so the second joint's speed-up half coincides with the first's slow-down half is what makes the pair behave as a constant-velocity coupling","sources":["sae-driveline-handbook"],"tags":["universal-joint","double-cardan","constant-velocity"]},{"id":"ratchet-pawl-tooth-angle","kind":"feature","tier":2,"title":"Ratchet tooth face angle for positive pawl engagement","summary":"Cut the ratchet tooth's working face 5-15deg back from radial (undercut toward the hub) so the drive load presses the pawl into engagement rather than camming it up and out; the back (release) face is a shallow ramp for free-wheel disengagement.","applies":["ratchet","pawl","ratchet wheel"],"value":{"min":5,"max":15,"unit":"deg"},"basis":"A radial or forward-raked tooth face lets the drive-load reaction push the pawl tip out of the tooth root under load; a small back-angle instead points that reaction into the pawl pivot","sources":["machinerys-handbook"],"tags":["ratchet","pawl","tooth-angle"]},{"id":"flywheel-inertia-and-fluctuation","kind":"rule","tier":2,"title":"Flywheel energy storage and speed-fluctuation target","summary":"Stored kinetic energy E = 0.5*I*omega^2; size a flywheel's mass moment of inertia I so the coefficient of speed fluctuation Cf = (omega_max-omega_min)/omega_avg stays within about 0.01-0.05 (1-5%) across the working cycle for general machinery.","applies":["flywheel"],"value":{"min":0.01,"max":0.05,"unit":"ratio","note":"typical Cf target for general machinery; precision equipment wants tighter"},"basis":"The flywheel absorbs the cyclic energy variation of the driving torque/load; Cf is the standard machine-design figure of merit for how effectively it smooths speed","sources":["shigley-mech-design"],"tags":["flywheel","inertia","speed-fluctuation"]},{"id":"clutch-friction-plate-torque","kind":"dimension","tier":2,"title":"Disc clutch torque capacity (uniform-wear model)","summary":"Torque capacity T = n*mu*F*Rm, Rm = (Ro+Ri)/2 (mean friction radius), n = number of friction faces; organic friction material runs mu ~= 0.25-0.45 and a typical bore-to-OD ratio Ri/Ro of 0.6-0.8 for a well-proportioned plate.","applies":["clutch","friction plate","disc clutch"],"value":{"min":0.25,"max":0.45,"unit":"ratio","note":"typical organic friction-material coefficient"},"basis":"Uniform-wear theory (the model preferred once a clutch has run in) gives axial pressure inversely proportional to radius, and integrates to T = n*mu*F*Rm exactly","sources":["shigley-mech-design"],"tags":["clutch","friction-plate","torque-capacity"]},{"id":"hub-set-screw-flat","kind":"feature","tier":2,"title":"Shaft flat for a cup-point set screw","summary":"Machine a flat roughly the set screw's own diameter wide and 0.15-0.25x the shaft diameter deep for a cup-point set screw to seat on — a flat gives 2-3x the holding torque of a screw biting an unmodified round shaft.","applies":["hub","set screw","shaft collar"],"value":{"min":0.15,"max":0.25,"unit":"ratio","note":"flat depth as a fraction of shaft diameter"},"basis":"A flat increases the screw-tip contact area and resists the screw sliding around the shaft's curvature under vibration; standard shop practice for hub/collar retention on a bare shaft","sources":["machinerys-handbook"],"tags":["hub","set-screw","shaft-flat"]},{"id":"shaft-fit-classes-iso286-example","kind":"tolerance","tier":2,"title":"ISO 286 shaft fit-class deviations at 6-10mm nominal","summary":"At a 6-10mm nominal shaft: g6 (clearance/sliding) runs -5/-14 um, h6 (locational clearance) runs 0/-9 um, k6 (light interference) runs +10/+1 um, n6 (interference) runs +19/+10 um against an H7 hole.","applies":["shaft","fit","h7","g6","k6","n6"],"value":{"table":[{"class":"g6","upperUm":-5,"lowerUm":-14},{"class":"h6","upperUm":0,"lowerUm":-9},{"class":"k6","upperUm":10,"lowerUm":1},{"class":"n6","upperUm":19,"lowerUm":10}],"unit":"um"},"basis":"ISO 286-2 fundamental-deviation tables for the size band 6-10mm, one representative band; look up other size bands in the full ISO 286-2 table","sources":["iso-286-2"],"see":["robotics/bearing-housing-shaft-fits"],"tags":["tolerance","shaft","fit","iso-286"]},{"id":"gearbox-stage-ratio-and-efficiency","kind":"rule","tier":2,"title":"Gearbox stage ratio limits and per-mesh efficiency","summary":"Keep a single spur/helical stage to about 3:1-10:1 (bigger ratios need an oversized pinion or undercut small one); per-mesh efficiency runs 94-98% for spur/helical, but 40-90% for worm gearing, falling sharply as the lead angle drops toward the self-locking region.","applies":["gearbox","gear train"],"value":{"min":94,"max":98,"unit":"%","note":"spur/helical per-mesh efficiency; worm gearing runs 40-90%"},"basis":"Practical single-stage ratio and efficiency ranges from gear-train design practice; worm efficiency in particular collapses near self-locking lead angles because the same friction that prevents back-driving also opposes forward driving","sources":["shigley-mech-design","agma-6034-b92"],"tags":["gearbox","gear-train","efficiency","stage-ratio"]},{"id":"lubrication-clearance-machined-gears","kind":"rule","tier":2,"title":"Extra running clearance for grease- or oil-lubricated gearing","summary":"Budget an extra 0.02-0.05 mm of running clearance per mesh side beyond the machined backlash allowance on a grease- or oil-lubricated steel gear mesh, to accommodate the lubricant film and thermal growth at operating temperature.","applies":["gearbox","spur gear","worm gear","bevel gear"],"value":{"min":0.02,"max":0.05,"unit":"mm"},"basis":"Machined backlash alone assumes a dry, room-temperature mesh; a lubricant film and the thermal expansion of a running gearbox both consume additional clearance","sources":["machinerys-handbook"],"tags":["lubrication","gear","clearance","backlash"]},{"id":"agma-quality-basics","kind":"standard","tier":2,"title":"AGMA gear quality numbers and what they buy","summary":"Under the AGMA 2000-A88 numbering, quality runs Q3 (coarse, cast/rough-cut commercial gearing) to Q16 (aerospace-grade); general commercial power-transmission gearing sits around Q6-Q9, precision instrument and servo gearing Q10-Q13.","applies":["gearbox","spur gear","helical gear","gear inspection"],"value":{"min":6,"max":9,"unit":"count","note":"typical commercial power-transmission quality band; precision servo gearing runs Q10-Q13"},"basis":"AGMA 2000-A88 defines quality numbers from tooth-to-tooth and total composite tolerances measured on a rolling gear checker; higher numbers mean tighter tolerance and lower transmission error/noise","sources":["agma-2000-a88"],"tags":["agma","gear-quality","inspection"]},{"id":"material-bronze-worm-wheel","kind":"material","tier":2,"title":"Phosphor bronze for worm wheels against a steel worm","summary":"Cast phosphor bronze (e.g. C90700/C93200) is the standard worm-wheel material against a hardened steel worm: the dissimilar, self-lubricating bronze survives the mesh's high sliding velocity far better than steel-on-steel, and it's the cheaper part when it wears first.","applies":["worm gear","worm wheel"],"value":{"options":["C90700","C93200"],"unit":"text"},"basis":"Worm gearing is dominated by sliding, not rolling, contact; a dissimilar soft-on-hard pair resists galling far better than matched steel, and bronze's tin/lead content gives it useful boundary lubrication","sources":["agma-6034-b92","matweb-material-data"],"tags":["material","bronze","worm-wheel"]},{"id":"material-cast-iron-flywheel-clutch","kind":"material","tier":2,"title":"Grey cast iron for flywheels and clutch pressure plates","summary":"Grey cast iron (ASTM A48 class 30-40, density ~7.2 g/cm3) is the default flywheel and clutch pressure-plate/drum material: cheap, easy to cast into a mass-optimised rim shape, self-damping, and its free graphite gives some boundary lubrication against a friction disc.","applies":["flywheel","clutch","pressure plate"],"value":{"value":7.2,"unit":"g/cm3"},"basis":"Flywheel sizing is a mass-moment-of-inertia problem where cheap, castable, self-damping material wins over exotic alloys; the same properties (plus heat capacity and wear resistance) make it the traditional clutch drum/plate material","sources":["matweb-material-data"],"tags":["material","cast-iron","flywheel","clutch"]},{"id":"material-acetal-nylon-pulley-sprocket","kind":"material","tier":2,"title":"Acetal (POM) and nylon for light-duty pulleys and idler sprockets","summary":"POM (acetal) and nylon (PA6/PA66) mould into quiet, low-friction idler pulleys and light-duty sprockets up to a few hundred watts, running without added lubrication, but creep and lose stiffness well below a metal part's load.","applies":["timing belt pulley","idler pulley","sprocket"],"value":{"options":["POM","PA6","PA66"],"unit":"text"},"basis":"Self-lubricating engineering plastics trade load capacity for lower noise, no grease, and lower mass on the idler/light-duty side of a drive, versus steel where fatigue life and torque density matter more","sources":["matweb-material-data"],"see":["robotics/gear-material-pom"],"tags":["material","acetal","nylon","pulley","sprocket"]},{"id":"test-gear-tooth-bending-fatigue","kind":"test","tier":2,"title":"Gear tooth root bending fatigue test (Lewis/AGMA method)","summary":"AGMA 2001 bending-stress method treats each tooth as a cantilever loaded at the tip; the geometric lever is the root fillet radius — keep it at 0.3-0.4 m minimum, since a sharp root fillet concentrates stress and can cut fatigue life by an order of magnitude.","applies":["spur gear","helical gear","bevel gear"],"value":{"min":0.3,"max":0.4,"unit":"ratio","note":"minimum root fillet radius as a multiple of module"},"basis":"AGMA 2001-D04 bending-stress rating method; the geometry factor J is dominated by the root fillet radius and load application point","sources":["agma-2000-a88","shigley-mech-design"],"tags":["test","gear","bending-fatigue","root-fillet","agma"]},{"id":"test-chain-wear-elongation","kind":"test","tier":2,"title":"Roller chain wear-elongation test","summary":"Measure chain length over a fixed number of pitches (e.g. 12 or 24 links) and compare to nominal; replace the chain at 2-3% elongation (tighter, ~1.5%, on a small sprocket) before the worn pitch rides up the tooth flank and starts jumping teeth under load.","applies":["roller chain","sprocket"],"value":{"min":1.5,"max":3,"unit":"%"},"basis":"Chain elongation comes from pin/bushing wear increasing effective pitch; on a small sprocket the same elongation subtends a larger angular error per link, so smaller sprockets need the tighter replacement threshold","sources":["asme-b29-1"],"tags":["test","chain","wear","elongation"]},{"id":"test-belt-tension-deflection","kind":"test","tier":2,"title":"Belt tension check by force-deflection method","summary":"Check installed belt tension by deflecting the belt about 1/64 inch per inch of free span under a measured force, against the section's force-deflection chart — the span (centre distance minus pulley radii) has to be long enough to deflect measurably.","applies":["v-belt","timing belt","belt drive"],"basis":"Standard belt-tensioning field method (deflection-force gauge) used across V-belt and timing-belt drives when a tension meter isn't available","sources":["iso-4184"],"tags":["test","belt","tension","deflection"]},{"id":"test-gear-mesh-nvh","kind":"test","tier":2,"title":"Gear mesh noise and vibration (NVH) test","summary":"Run the gearbox across its speed/load range on a noise rig and compare sound level (dB) against the mesh (tooth-pass) frequency and its harmonics; a helical mesh's gradual engagement typically cuts noise 3-6 dB versus an equivalent spur mesh.","applies":["gearbox","spur gear","helical gear"],"basis":"Tooth-pass frequency = (teeth count) x (shaft speed); a whine or tone at that frequency (or its harmonics) points straight at mesh geometry — profile error, backlash, or (for spur gearing) the abrupt tooth engagement a helix angle would smooth","sources":["shigley-mech-design"],"tags":["test","nvh","gear-mesh","noise"]},{"id":"recipe-spur-gear-20t-module2","kind":"recipe","tier":2,"title":"Recipe: 20-tooth module-2 spur gear","summary":"Build a 20-tooth, module-2, 20deg-pressure-angle spur gear (pitch dia 40mm, outer dia 44mm, root dia 35mm) as an 8mm-thick extruded polygon, with the involute tooth flank sampled at 7 points per flank.","applies":["spur gear"],"basis":"Combines spur-gear-standard-proportions, spur-gear-diameter-formulas and involute-curve-point-generation into one buildable gear blank","sources":["iso-21771"],"tags":["recipe","spur-gear","involute"],"recipe":{"prompt":"Model a 20-tooth module-2 spur gear, 8mm thick, 20 degree pressure angle","steps":[{"tool":"cad_extrude_profile","args":{"depth":8,"outer":[[17.42365,-1.63289],[18.71186,-1.75362],[19.25174,-1.71757],[19.79749,-1.6066],[20.34581,-1.44308],[20.89486,-1.23426],[21.44308,-0.98401],[21.98903,-0.69476],[21.98903,0.69476],[21.44308,0.98401],[20.89486,1.23426],[20.34581,1.44308],[19.79749,1.6066],[19.25174,1.71757],[18.71186,1.75362],[17.42365,1.63289],[17.07547,3.83123],[18.33794,4.11449],[18.84026,4.31561],[19.325,4.58979],[19.79596,4.91475],[20.2536,5.28302],[20.69765,5.69043],[21.1275,6.13422],[20.69811,7.45574],[20.0895,7.56212],[19.49079,7.63072],[18.90408,7.65966],[18.33206,7.64573],[17.77874,7.58262],[17.25414,7.45008],[16.06629,6.93718],[15.05582,8.92033],[16.16897,9.57985],[16.58455,9.92635],[16.96084,10.3369],[17.30833,10.79149],[17.62978,11.28315],[17.9262,11.80785],[18.19787,12.36275],[17.38112,13.4869],[16.76943,13.4],[16.17882,13.28023],[15.61189,13.12645],[15.07217,12.93644],[14.56543,12.70544],[14.10746,12.41727],[13.13624,11.56241],[11.56241,13.13624],[12.41727,14.10746],[12.70544,14.56543],[12.93644,15.07217],[13.12645,15.61189],[13.28023,16.17882],[13.4,16.76943],[13.4869,17.38112],[12.36275,18.19787],[11.80785,17.9262],[11.28315,17.62978],[10.79149,17.30833],[10.3369,16.96084],[9.92635,16.58455],[9.57985,16.16897],[8.92033,15.05582],[6.93718,16.06629],[7.45008,17.25414],[7.58262,17.77874],[7.64573,18.33206],[7.65966,18.90408],[7.63072,19.49079],[7.56212,20.0895],[7.45574,20.69811],[6.13422,21.1275],[5.69043,20.69765],[5.28302,20.2536],[4.91475,19.79596],[4.58979,19.325],[4.31561,18.84026],[4.11449,18.33794],[3.83123,17.07547],[1.63289,17.42365],[1.75362,18.71186],[1.71757,19.25174],[1.6066,19.79749],[1.44308,20.34581],[1.23426,20.89486],[0.98401,21.44308],[0.69476,21.98903],[-0.69476,21.98903],[-0.98401,21.44308],[-1.23426,20.89486],[-1.44308,20.34581],[-1.6066,19.79749],[-1.71757,19.25174],[-1.75362,18.71186],[-1.63289,17.42365],[-3.83123,17.07547],[-4.11449,18.33794],[-4.31561,18.84026],[-4.58979,19.325],[-4.91475,19.79596],[-5.28302,20.2536],[-5.69043,20.69765],[-6.13422,21.1275],[-7.45574,20.69811],[-7.56212,20.0895],[-7.63072,19.49079],[-7.65966,18.90408],[-7.64573,18.33206],[-7.58262,17.77874],[-7.45008,17.25414],[-6.93718,16.06629],[-8.92033,15.05582],[-9.57985,16.16897],[-9.92635,16.58455],[-10.3369,16.96084],[-10.79149,17.30833],[-11.28315,17.62978],[-11.80785,17.9262],[-12.36275,18.19787],[-13.4869,17.38112],[-13.4,16.76943],[-13.28023,16.17882],[-13.12645,15.61189],[-12.93644,15.07217],[-12.70544,14.56543],[-12.41727,14.10746],[-11.56241,13.13624],[-13.13624,11.56241],[-14.10746,12.41727],[-14.56543,12.70544],[-15.07217,12.93644],[-15.61189,13.12645],[-16.17882,13.28023],[-16.76943,13.4],[-17.38112,13.4869],[-18.19787,12.36275],[-17.9262,11.80785],[-17.62978,11.28315],[-17.30833,10.79149],[-16.96084,10.3369],[-16.58455,9.92635],[-16.16897,9.57985],[-15.05582,8.92033],[-16.06629,6.93718],[-17.25414,7.45008],[-17.77874,7.58262],[-18.33206,7.64573],[-18.90408,7.65966],[-19.49079,7.63072],[-20.0895,7.56212],[-20.69811,7.45574],[-21.1275,6.13422],[-20.69765,5.69043],[-20.2536,5.28302],[-19.79596,4.91475],[-19.325,4.58979],[-18.84026,4.31561],[-18.33794,4.11449],[-17.07547,3.83123],[-17.42365,1.63289],[-18.71186,1.75362],[-19.25174,1.71757],[-19.79749,1.6066],[-20.34581,1.44308],[-20.89486,1.23426],[-21.44308,0.98401],[-21.98903,0.69476],[-21.98903,-0.69476],[-21.44308,-0.98401],[-20.89486,-1.23426],[-20.34581,-1.44308],[-19.79749,-1.6066],[-19.25174,-1.71757],[-18.71186,-1.75362],[-17.42365,-1.63289],[-17.07547,-3.83123],[-18.33794,-4.11449],[-18.84026,-4.31561],[-19.325,-4.58979],[-19.79596,-4.91475],[-20.2536,-5.28302],[-20.69765,-5.69043],[-21.1275,-6.13422],[-20.69811,-7.45574],[-20.0895,-7.56212],[-19.49079,-7.63072],[-18.90408,-7.65966],[-18.33206,-7.64573],[-17.77874,-7.58262],[-17.25414,-7.45008],[-16.06629,-6.93718],[-15.05582,-8.92033],[-16.16897,-9.57985],[-16.58455,-9.92635],[-16.96084,-10.3369],[-17.30833,-10.79149],[-17.62978,-11.28315],[-17.9262,-11.80785],[-18.19787,-12.36275],[-17.38112,-13.4869],[-16.76943,-13.4],[-16.17882,-13.28023],[-15.61189,-13.12645],[-15.07217,-12.93644],[-14.56543,-12.70544],[-14.10746,-12.41727],[-13.13624,-11.56241],[-11.56241,-13.13624],[-12.41727,-14.10746],[-12.70544,-14.56543],[-12.93644,-15.07217],[-13.12645,-15.61189],[-13.28023,-16.17882],[-13.4,-16.76943],[-13.4869,-17.38112],[-12.36275,-18.19787],[-11.80785,-17.9262],[-11.28315,-17.62978],[-10.79149,-17.30833],[-10.3369,-16.96084],[-9.92635,-16.58455],[-9.57985,-16.16897],[-8.92033,-15.05582],[-6.93718,-16.06629],[-7.45008,-17.25414],[-7.58262,-17.77874],[-7.64573,-18.33206],[-7.65966,-18.90408],[-7.63072,-19.49079],[-7.56212,-20.0895],[-7.45574,-20.69811],[-6.13422,-21.1275],[-5.69043,-20.69765],[-5.28302,-20.2536],[-4.91475,-19.79596],[-4.58979,-19.325],[-4.31561,-18.84026],[-4.11449,-18.33794],[-3.83123,-17.07547],[-1.63289,-17.42365],[-1.75362,-18.71186],[-1.71757,-19.25174],[-1.6066,-19.79749],[-1.44308,-20.34581],[-1.23426,-20.89486],[-0.98401,-21.44308],[-0.69476,-21.98903],[0.69476,-21.98903],[0.98401,-21.44308],[1.23426,-20.89486],[1.44308,-20.34581],[1.6066,-19.79749],[1.71757,-19.25174],[1.75362,-18.71186],[1.63289,-17.42365],[3.83123,-17.07547],[4.11449,-18.33794],[4.31561,-18.84026],[4.58979,-19.325],[4.91475,-19.79596],[5.28302,-20.2536],[5.69043,-20.69765],[6.13422,-21.1275],[7.45574,-20.69811],[7.56212,-20.0895],[7.63072,-19.49079],[7.65966,-18.90408],[7.64573,-18.33206],[7.58262,-17.77874],[7.45008,-17.25414],[6.93718,-16.06629],[8.92033,-15.05582],[9.57985,-16.16897],[9.92635,-16.58455],[10.3369,-16.96084],[10.79149,-17.30833],[11.28315,-17.62978],[11.80785,-17.9262],[12.36275,-18.19787],[13.4869,-17.38112],[13.4,-16.76943],[13.28023,-16.17882],[13.12645,-15.61189],[12.93644,-15.07217],[12.70544,-14.56543],[12.41727,-14.10746],[11.56241,-13.13624],[13.13624,-11.56241],[14.10746,-12.41727],[14.56543,-12.70544],[15.07217,-12.93644],[15.61189,-13.12645],[16.17882,-13.28023],[16.76943,-13.4],[17.38112,-13.4869],[18.19787,-12.36275],[17.9262,-11.80785],[17.62978,-11.28315],[17.30833,-10.79149],[16.96084,-10.3369],[16.58455,-9.92635],[16.16897,-9.57985],[15.05582,-8.92033],[16.06629,-6.93718],[17.25414,-7.45008],[17.77874,-7.58262],[18.33206,-7.64573],[18.90408,-7.65966],[19.49079,-7.63072],[20.0895,-7.56212],[20.69811,-7.45574],[21.1275,-6.13422],[20.69765,-5.69043],[20.2536,-5.28302],[19.79596,-4.91475],[19.325,-4.58979],[18.84026,-4.31561],[18.33794,-4.11449],[17.07547,-3.83123]]},"note":"20-tooth module-2 20deg-PA spur gear: pitch r=20, base r=18.794, outer r=22, root r=17.5; 7 involute points per flank, 16 points per tooth, 320 points total"}],"expect":{"volume":9793.97,"faceCount":322,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}},{"id":"recipe-sprocket-15t-25-chain","kind":"recipe","tier":2,"title":"Recipe: 15-tooth #25 roller chain sprocket","summary":"Build a 15-tooth sprocket for #25 (6.35mm pitch) roller chain (pitch dia 30.54mm, outside dia 33.68mm, root dia 27.24mm) as a 4mm-thick extruded polygon with a simplified trapezoidal tooth form.","applies":["sprocket","roller chain","#25 chain"],"basis":"Combines ansi-roller-chain-pitch-table, sprocket-pitch-diameter-formula and sprocket-outside-diameter-and-roller into one buildable sprocket blank","sources":["asme-b29-1"],"tags":["recipe","sprocket","chain"],"recipe":{"prompt":"Model a 15-tooth sprocket for #25 roller chain, 4mm thick","steps":[{"tool":"cad_extrude_profile","args":{"depth":4,"outer":[[13.53389,-1.53721],[16.80439,-1.12793],[16.80439,1.12793],[13.53389,1.53721],[12.98906,4.10042],[15.81034,5.80455],[14.8928,7.86538],[11.73858,6.90904],[10.1983,9.02905],[12.08255,11.73336],[10.40612,13.24283],[7.91357,11.08623],[5.64417,12.39647],[6.26557,15.63337],[4.12012,16.33047],[2.72023,13.34651],[0.11411,13.62043],[-0.63479,16.83023],[-2.87829,16.59443],[-2.94346,13.29906],[-5.43568,12.48929],[-7.42538,15.11699],[-9.37901,13.98906],[-8.0982,10.95209],[-10.0456,9.19865],[-12.93206,10.78989],[-14.25802,8.96486],[-11.85269,6.71139],[-12.91854,4.31747],[-16.20266,4.59711],[-16.67168,2.39055],[-13.55774,1.31024],[-13.55774,-1.31024],[-16.67168,-2.39055],[-16.20266,-4.59711],[-12.91854,-4.31747],[-11.85269,-6.71139],[-14.25802,-8.96486],[-12.93206,-10.78989],[-10.0456,-9.19865],[-8.0982,-10.95209],[-9.37901,-13.98906],[-7.42538,-15.11699],[-5.43568,-12.48929],[-2.94346,-13.29906],[-2.87829,-16.59443],[-0.63479,-16.83023],[0.11411,-13.62043],[2.72023,-13.34651],[4.12012,-16.33047],[6.26557,-15.63337],[5.64417,-12.39647],[7.91357,-11.08623],[10.40612,-13.24283],[12.08255,-11.73336],[10.1983,-9.02905],[11.73858,-6.90904],[14.8928,-7.86538],[15.81034,-5.80455],[12.98906,-4.10042]]},"note":"15-tooth #25-chain sprocket: PD=30.54mm, Do=33.68mm, Dr=27.24mm; trapezoidal tooth approximation, 4 points per tooth, 60 points total"}],"expect":{"volume":2837.08,"faceCount":62,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}},{"id":"recipe-rack-segment-module2","kind":"recipe","tier":2,"title":"Recipe: 10-tooth module-2 rack segment","summary":"Build a 10-tooth, module-2, 20deg-pressure-angle rack segment (62.83mm long, 6mm base + 4.5mm tooth height) as an extruded polygon with straight-flank trapezoidal teeth, 10mm thick.","applies":["rack and pinion","rack"],"basis":"Combines rack-and-pinion-profile and spur-gear-tooth-thickness into one buildable rack segment matching a module-2 pinion","sources":["iso-21771"],"tags":["recipe","rack","rack-and-pinion"],"recipe":{"prompt":"Model a 10-tooth module-2 rack segment, 20 degree pressure angle, 10mm thick","steps":[{"tool":"cad_extrude_profile","args":{"depth":10,"outer":[[0,0],[62.83185,0],[62.83185,6],[62.17098,6],[60.53312,10.5],[58.8474,10.5],[57.20954,6],[55.8878,6],[54.24993,10.5],[52.56422,10.5],[50.92635,6],[49.60461,6],[47.96675,10.5],[46.28103,10.5],[44.64317,6],[43.32143,6],[41.68356,10.5],[39.99785,10.5],[38.35998,6],[37.03824,6],[35.40038,10.5],[33.71466,10.5],[32.0768,6],[30.75506,6],[29.11719,10.5],[27.43148,10.5],[25.79361,6],[24.47187,6],[22.834,10.5],[21.14829,10.5],[19.51043,6],[18.18869,6],[16.55082,10.5],[14.86511,10.5],[13.22724,6],[11.9055,6],[10.26763,10.5],[8.58192,10.5],[6.94406,6],[5.62231,6],[3.98445,10.5],[2.29874,10.5],[0.66087,6],[0,6]]},"note":"10-tooth module-2 20deg-PA rack: circular pitch 6.283mm, length 62.83mm, 6mm base below root, 4.5mm total tooth height (2mm addendum + 2.5mm dedendum), straight flanks"}],"expect":{"volume":5265.52,"faceCount":46,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}}]}