3.6 KiB
3.6 KiB
make_cycloidal_disc_rsolid
API Definition
def make_cycloidal_disc_rsolid(n_lobes: int, ring_pin_pitch_radius: float, roller_radius: float, eccentricity: float, gear_height: float = 6.0, *, bore_radius: float = 0.0, output_pin_count: int = 0, output_pin_pitch_radius: float = 0.0, output_pin_clearance_radius: float = 0.0, output_pin_phase: float = 0.0, sample_count_per_lobe: int = 33, spline_tolerance: float = 0.005, max_control_points: int = 20) -> Solid
Source: std/gear.py
Import Surface
- standard library:
import simplecadapi as scadthenscad.std.gear.make_cycloidal_disc_rsolid(...); direct submodule import:from simplecadapi.std.gear import make_cycloidal_disc_rsolid
Description
Create a cycloidal reducer disc for a one-tooth-difference pin ring.
This is a single-disc geometric standard part. Real compact reducers often stack two identical-lobe discs to balance output-pin side loads. In that assembly-level pattern, separate two concepts that are easy to confuse:
- Place the two input eccentric cam centers 180 degrees apart, for example
(+e, 0)and(-e, 0), so their orbit loads oppose each other. - Tooth-index the second cycloidal profile by half a lobe, not by a full
180 degree shape rotation. For a disc with
n_lobeslobes, that geometric body phase is180 / n_lobesdegrees. A 10-lobe disc rotated by 180 degrees is exactly five full lobe pitches and is visually and mechanically equivalent to no tooth-index phase change.
If output-pin clearance holes must stay aligned to one shared output pin
set, compensate the second disc's output_pin_phase by subtracting the
same body phase before rotating the finished disc body.
Parameters
n_lobes
- Type:
int - Description: Number of cycloidal lobes. The matching fixed pin ring has
n_lobes + 1 pins and gives a single-stage ``n_lobes
- Description: 1`` reduction.
ring_pin_pitch_radius
- Type:
float - Description: Radius of the fixed ring pin centers in mm.
roller_radius
- Type:
float - Description: Radius of the fixed ring pins or rollers used to offset the profile.
eccentricity
- Type:
float - Description: Input crank eccentricity in mm.
gear_height
- Type:
float, default 6.0 - Description: Disc thickness / extrusion height along Z in mm.
bore_radius
- Type:
float, default 0.0 - Description: Optional central bore radius. Zero leaves the disc unbored.
output_pin_count
- Type:
int, default 0 - Description: Optional number of circular output-pin clearance holes.
output_pin_pitch_radius
- Type:
float, default 0.0 - Description: Radius of the output-pin clearance hole centers in mm.
output_pin_clearance_radius
- Type:
float, default 0.0 - Description: Radius of each output-pin clearance hole in mm.
output_pin_phase
- Type:
float, default 0.0 - Description: Angular phase of the first output-pin clearance hole in degrees, in the unrotated disc's local frame. When a finished disc is rotated to create a tooth-index phase in a twin-disc stack, subtract that same rotation from
output_pin_phaseif the clearance holes should remain aligned to the same global output pins.
sample_count_per_lobe
- Type:
int, default 33 - Description: Number of analytic samples fitted into each lobe B-spline segment.
spline_tolerance
- Type:
float, default 0.005 - Description: Cubic B-spline fit tolerance in mm.
max_control_points
- Type:
int, default 20 - Description: Maximum poles allowed for each fitted lobe segment.