tricycle-mechanical-design/microcar/shockabsorber.scad

40 lines
1.1 KiB
OpenSCAD

/**
* 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 <BOSL2/std.scad>
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);
}
}
}