// tricycle.scad: // (c) Simon Brooke 2025; CC-BY-SA include include include include module subframe () { // front leg (supports cross-shaft, epicyclic, motor translate([-25, 1820, -550]) color("silver") cube([50, 25, 230]); // bottom bracket leg translate([-25, 1690, -578]) color("silver") cube([50, 25, 310]); // wheel leg translate([-70, 1430, -593]) rotate([0, 5, 0]) color("silver") cube([25, 75, 363]); // front upper translate([-25, 2000, -385]) rotate([70, 0, 0]) color("silver") cube([50, 25, 330]); // central upper translate([-25, 1700, -275]) rotate([82, 0, 0]) color("silver") cube([50, 25, 370]); // rear leg translate([-25, 1200, -515]) rotate([-23, 0, 0]) color("silver") cube([50, 25, 344]); // wheel translate([0, 1467.5, -450]) rotate([0, 0, 90]) // Pierre Rouzeau's wheel is beautifully modelled and parameterised, but it doesn't seem to be scaled as I'd expect... scale([0.70, 0.70, 0.70]) wheel(rim=451, spoke_nbr=0); translate([-30, 1467.5, -450]) rotate([0, 90, 0]) color("grey") sprocket(teeth=30, roller=7.9, pitch=12.7); rotate([90, 0, 90]) translate([1680, -410, -40]) chainset( teeth=82, crank=140); rotate([0,90,0]) translate([450, 1900, 24]) epicyclic(); } // subframe();