/** * shockabsorber.scad * * First sketch of a microcar spring/shock absorber unit. Ideally I * would want to use linked hydropneumatic units, but that would be * *absurdly* over expensive for a one off prototype. Air or conventional * spring units would be far more pragmatic. */ include eye_inner_diameter = 25/3; // to make it the same as pivot_radius defined // in suspension.scad module eye( eid=eye_inner_diameter) { rotate([0, 90, 0]) { difference() { cylinder( h=eid, r=eid, center=true); cylinder( h=2*eid, d=eid, center=true); } } } module shockabsorber( length=150, eid=eye_inner_diameter, coil_over=true) { short_length=length-(eid*4); translate([0,0,eid]) { // cylinder cylinder(h=short_length/2, r=short_length/16); // rod cylinder(h=short_length, r=short_length/32); translate([0,0,0-eid]) { eye(eid); } translate([0,0, short_length+eid]) { eye(eid); } } }