108 lines
1.5 KiB
OpenSCAD
Executable File
108 lines
1.5 KiB
OpenSCAD
Executable File
$fn=45;
|
|
|
|
module mount_hole() // accommodates 18-ga. nail
|
|
{
|
|
rotate([90,0,0])
|
|
rotate_extrude()
|
|
translate([2.5,-.5,0])
|
|
minkowski()
|
|
{
|
|
square(1.5, center=true);
|
|
circle(d=2);
|
|
}
|
|
}
|
|
|
|
module brace()
|
|
{
|
|
rotate([90,90,0])
|
|
minkowski()
|
|
{
|
|
cube([6,4,1]);
|
|
sphere(d=2);
|
|
}
|
|
|
|
translate([2,-.75,-9])
|
|
mount_hole();
|
|
|
|
translate([0,0,-12])
|
|
rotate([90,90,0])
|
|
minkowski()
|
|
{
|
|
cube([26,4,1]);
|
|
sphere(d=2);
|
|
}
|
|
|
|
translate([0,37.5,-.5])
|
|
rotate([-45,0,0])
|
|
rotate([90,90,0])
|
|
minkowski()
|
|
{
|
|
cube([53,4,1]);
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
|
|
module rib()
|
|
{
|
|
translate([1,1,-3])
|
|
minkowski()
|
|
{
|
|
cube([180,4,4]);
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
|
|
module deep_shelf()
|
|
{
|
|
translate([1,1,1])
|
|
minkowski()
|
|
{
|
|
cube([180,80,.5]);
|
|
sphere(d=2);
|
|
}
|
|
|
|
translate([1+25,2,1])
|
|
brace();
|
|
|
|
translate([177-25,2,1])
|
|
brace();
|
|
|
|
// translate([176/2,2,1])
|
|
// brace();
|
|
|
|
rib();
|
|
|
|
translate([0,76,0])
|
|
rib();
|
|
|
|
translate([0,34.5,0])
|
|
rib();
|
|
}
|
|
|
|
module shallow_shelf()
|
|
{
|
|
translate([1,1,1])
|
|
minkowski()
|
|
{
|
|
cube([180,38.5,.5]);
|
|
sphere(d=2);
|
|
}
|
|
|
|
translate([1+25,2,1])
|
|
brace();
|
|
|
|
translate([177-25,2,1])
|
|
brace();
|
|
|
|
// translate([176/2,2,1])
|
|
// brace();
|
|
|
|
rib();
|
|
|
|
translate([0,34.5,0])
|
|
rib();
|
|
}
|
|
|
|
rotate([180,0,0])
|
|
deep_shelf();
|