78 lines
1.3 KiB
OpenSCAD
78 lines
1.3 KiB
OpenSCAD
$fn=25;
|
|
|
|
x = 20;
|
|
y = 10;
|
|
z = 10;
|
|
wall = 2;
|
|
bottom = 1;
|
|
|
|
difference() {
|
|
minkowski(){
|
|
cube([x+wall,y+wall,z+bottom], center=true);
|
|
cylinder();
|
|
}
|
|
|
|
translate([0,0,bottom])
|
|
minkowski(){
|
|
cube([x,y,z], center=true);
|
|
cylinder();
|
|
}
|
|
|
|
|
|
|
|
translate([0,0,(z/2)]){
|
|
linear_extrude(height=1.5){
|
|
minkowski(){
|
|
square([x+(wall/2),y+(wall/2)], center=true);
|
|
circle();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
translate([x+10,0,2.5])
|
|
rotate([180,1,0])
|
|
difference() {
|
|
difference(){
|
|
translate([0,0,z/2+1])
|
|
minkowski(){
|
|
cube([x+wall,y+wall,2],center=true);
|
|
cylinder();
|
|
}
|
|
difference() {
|
|
minkowski(){
|
|
cube([x+wall,y+wall,z+bottom], center=true);
|
|
cylinder();
|
|
}
|
|
|
|
translate([0,0,bottom])
|
|
minkowski(){
|
|
cube([x,y,z], center=true);
|
|
cylinder();
|
|
}
|
|
|
|
|
|
|
|
translate([0,0,(z/2)]){
|
|
linear_extrude(height=1.5){
|
|
minkowski(){
|
|
square([x+(wall/2),y+(wall/2)], center=true);
|
|
circle();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
cube([x+wall/2,y+wall/2,z+5],center=true);
|
|
cylinder(z*2,2,2,$fn=5, center=true);
|
|
|
|
}
|
|
}
|