80 lines
1.6 KiB
OpenSCAD
80 lines
1.6 KiB
OpenSCAD
$fn = 300;
|
|||
|
|
|
||
|
|
e = 0.02;
|
||
|
|
|
||
|
|
difference() {
|
||
|
|
union() {
|
||
|
|
cylinder(h=15, d=11.6);
|
||
|
|
|
||
|
|
translate([0, 0, 15])
|
||
|
|
cylinder(h=15, d=8);
|
||
|
|
|
||
|
|
for (r=[0, 180])
|
||
|
|
rotate([0, 0, r]) {
|
||
|
|
translate([0, 0, 25])
|
||
|
|
rotate_extrude(angle=45)
|
||
|
|
square([5, 5]);
|
||
|
|
|
||
|
|
translate([0, 0, 23])
|
||
|
|
intersection() {
|
||
|
|
rotate_extrude(angle=45)
|
||
|
|
square([5, 4]);
|
||
|
|
|
||
|
|
cylinder(h=2, d1=8, d2=10);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
translate([0, 0, -e])
|
||
|
|
cylinder(h=(e + 30 + e), d=6.1);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
translate([-3, 1, 16])
|
||
|
|
rotate([0, 90, 0])
|
||
|
|
linear_extrude(height=6)
|
||
|
|
polygon([
|
||
|
|
[0, 0],
|
||
|
|
[2, 2],
|
||
|
|
[0, 2],
|
||
|
|
]);
|
||
|
|
|
||
|
|
translate([20, 0, 0]) {
|
||
|
|
difference() {
|
||
|
|
cylinder(h=20, d=11.6);
|
||
|
|
|
||
|
|
translate([0, 0, -e])
|
||
|
|
cylinder(h=(15 + e), d=8.2);
|
||
|
|
|
||
|
|
cylinder(h=(20 + e), d=3.5);
|
||
|
|
|
||
|
|
translate([0, 0, 18.5])
|
||
|
|
cylinder(h=(1.5 + e), d=5);
|
||
|
|
|
||
|
|
translate([0, 0, -e])
|
||
|
|
for (r=[0, 180])
|
||
|
|
rotate([0, 0, r]) {
|
||
|
|
rotate_extrude(angle=45)
|
||
|
|
square([5.05, 15 + e]);
|
||
|
|
|
||
|
|
translate([0, 0, 10])
|
||
|
|
rotate_extrude(angle=135)
|
||
|
|
square([5.05, 5 + e]);
|
||
|
|
|
||
|
|
translate([0, 0, 8])
|
||
|
|
intersection() {
|
||
|
|
rotate_extrude(angle=135)
|
||
|
|
square([5.05, 4]);
|
||
|
|
|
||
|
|
cylinder(h=(2+e), d1=8.2, d2=10.1);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
for (r=[0, 180])
|
||
|
|
rotate([0, 0, r]) {
|
||
|
|
rotate([0, 0, 85])
|
||
|
|
translate([5.05, 0, 9])
|
||
|
|
cylinder(h=7, r=0.2);
|
||
|
|
}
|
||
|
|
}
|