Files
rackstack/cases/rack/base1.scad
jazhawang f40b7993cf update
2022-05-29 14:21:52 -04:00

87 lines
1.4 KiB
OpenSCAD

$fn=64;
eps=0.1;
slack = 0.5;
m3Diameter = 3.0;
m3Radius = m3Diameter/2.0;
m3ptr = m3Radius + slack;
module baseFrame() {
difference() {
cube(size=[200,200,4], center=true);
cube(size=[180,180,4], center=true);
}
translate(v=[90,90,0])
cube(size=[20,20, 4],center=true);
translate(v=[-90,90,0])
cube(size=[20,20, 4],center=true);
translate(v=[90,-90,0])
cube(size=[20,20, 4],center=true);
translate(v=[-90,-90,0])
cube(size=[20,20, 4],center=true);
}
module lugBottom() {
difference() {
cube(size=[9.7,9.7,6], center=true);
translate(v=[1,1,0])
cube(size=[9.1,9.1,5+1], center=true);
}
}
module base() {
difference() {
union() {
translate(v=[0,0,4/2])
baseFrame();
translate(v=[-90,-90,-6/2])
lugBottom();
mirror(v=[1,0,0])
translate(v=[-90,-90,-6/2])
lugBottom();
mirror(v=[0,1,0])
translate(v=[-90,-90,-6/2])
lugBottom();
mirror(v=[1,1,0])
translate(v=[-90,-90,-6/2])
lugBottom();
}
union() {
translate(v=[90,90,0])
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
translate(v=[-90,90,0])
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
translate(v=[90,-90,0])
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
translate(v=[-90,-90,0])
cylinder(h = 100, r = m3ptr, $fn=32, center=true);
}
}
}
base();
*lugBottom();