Files
small_shelf/shelf.scad
2018-11-20 10:54:42 -08:00

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();