Back to docs

Helix Marble Track
A prpol helix_marble_track part

helix_marble_track() is a multi-turn helix that carries a marble from a lower cup to an upper cup.

Customizing helix_marble_track with OpenSCAD parameters

helix_marble_track is a multi-turn helix with a lower cup, an upper cup, and an optional support piece.

The mounting holes are 200 mm apart horizontally and 100 mm apart vertically, while the track itself winds about 2 meters between them with the default four turns.

Here it is called with every parameter spelled out:

helix_marble_track( inner_diameter = 18, wall_thickness = 2, left_lip_placement_angle = 180, right_lip_placement_angle = 0, num_turns = 4, cup_wall = 4, cup_height = 8, cup_floor = 4, mirrored = false, separation_distance = 30, do_support_piece = true, echo_parameters = true );
inner_diameter inner diameter of the marble trough in mm (default 18).
wall_thickness trough wall thickness in mm (default 2).
left_lip_placement_angle angle in degrees where the left lip gap sits (default 180).
right_lip_placement_angle angle in degrees where the right lip gap sits (default 0).
num_turns how many turns the helix makes (default 4).
cup_wall wall thickness of the end cups in mm (default 4).
cup_height height of the end cups in mm (default 8).
cup_floor floor thickness of the end cups in mm (default 4).
mirrored when true, mirrors the helix (default false).
separation_distance vertical distance between the helix and its support piece in mm (default 30).
do_support_piece when true (default), the support piece is added below the helix.
echo_parameters when true (default), the OpenSCAD console echoes the full parameter list when you preview or render the module.

If you leave a parameter out of the module call, that parameter will just have the default value. For example, these are all valid module calls:

helix_marble_track(); helix_marble_track(num_turns=3); helix_marble_track(num_turns=5, do_support_piece=false);