40 lines
1.1 KiB
OpenSCAD
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);
|
|
}
|
|
}
|
|
}
|