75 lines
2.0 KiB
OpenSCAD
75 lines
2.0 KiB
OpenSCAD
use <threads.scad>;
|
|
|
|
$fn = 90;
|
|
|
|
bumper_diameter = 85;
|
|
body_diameter = 69;
|
|
m3nut_diameter = 6.5;
|
|
|
|
thread_diameter = body_diameter - 10;
|
|
thread_pitch = 3;
|
|
thread_lenght = 7.5;
|
|
|
|
difference() {
|
|
|
|
// Cap
|
|
union() {
|
|
cylinder(r = bumper_diameter / 2,
|
|
h = 5,
|
|
center = true);
|
|
|
|
translate([0, 0, -5])
|
|
cylinder(r2 = bumper_diameter / 2,
|
|
r1 = body_diameter /2,
|
|
h = 5,
|
|
center = true);
|
|
|
|
translate([0, 0, 5])
|
|
cylinder(r1 = bumper_diameter / 2,
|
|
r2 = body_diameter /2,
|
|
h = 5,
|
|
center = true);
|
|
|
|
translate([0, 0, -5 - 7.5])
|
|
cylinder(r = body_diameter / 2,
|
|
h = 10,
|
|
center = true);
|
|
}
|
|
|
|
// Make the cap hollow
|
|
translate([0, 0, -10])
|
|
cylinder(r = (body_diameter / 2) - 5,
|
|
h = 15.1,
|
|
center = true);
|
|
|
|
// Hole for the lid
|
|
union() {
|
|
translate([0, 0, 5 + 1.25])
|
|
cylinder(r = body_diameter / 2 - 2.5, h=2.6, center=true);
|
|
translate([0, 0, -2.5])
|
|
metric_thread(thread_diameter,
|
|
thread_pitch,
|
|
thread_lenght,
|
|
internal=true);
|
|
}
|
|
|
|
// Screw holes
|
|
for(angle = [0, 90, 180, 270]) {
|
|
rotate([0,0,angle])
|
|
translate([0,
|
|
body_diameter / 2 - 1.8 - 2.5,
|
|
-10 - m3nut_diameter / 2])
|
|
rotate([90, 0 ,0])
|
|
union() {
|
|
cylinder(r = m3nut_diameter / 2,
|
|
h=3.6,
|
|
center=true,
|
|
$fn=6);
|
|
|
|
translate([0,0,-3])
|
|
cylinder(r = 3.5/2,
|
|
h=6,
|
|
center=true);
|
|
}
|
|
}
|
|
} |