Added Magnets
- Bottm Edge to hold hinged lid - Added Magnet SVG to front face - Added door magnet pockets. - Known Issue: Edge connectors have been broken!
This commit is contained in:
64
box.scad
64
box.scad
@@ -90,16 +90,28 @@ module profile(ps=PROFILE_SIZE, wl=WIN_LIP, wt=WIN_THICK, wtr=WIN_TRIM, fl=FLOOR
|
||||
|
||||
module rb_foot(fw=RB_MOUNT_WIDTH, rl=RB_MOUNT_LEN+5, rh=RB_MOUNT_OUT_H, fl=10) {
|
||||
difference() {
|
||||
translate([-(fl+rl/2),0])
|
||||
linear_extrude(height=fw-1) {
|
||||
offset(r=1)offset(delta=-1)union() {
|
||||
square([rl+2*fl, rh]);
|
||||
square([fl, rh+fl+6]);
|
||||
translate([0,rh+fl-2,0]) square([15, 8]);
|
||||
translate([rl+fl,0]) square([fl, rh+fl+6]);
|
||||
union() {
|
||||
translate([-(fl+rl/2),0]) {
|
||||
linear_extrude(height=fw-1) {
|
||||
offset(r=1)offset(delta=-1)union() {
|
||||
square([rl+2*fl, rh]);
|
||||
square([fl+2, rh+fl+6]);
|
||||
translate([0,rh+fl-2,0]) square([15, 8]);
|
||||
translate([rl+fl,0]) {
|
||||
square([fl, rh+fl+6]);
|
||||
polygon([[-3,0+rh], [0,0+rh], [0,3+rh] ]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//up(fl/2) xspread(l=fl+rl, n=2) cuboid([fl,rh+fl+6,2*fw], fillet=2, align=V_BACK);
|
||||
//up(fl/2)left(rl/2)back(1.5+rh+fl+6-fl/2)cuboid([15,7,2*fw], fillet=2);
|
||||
}
|
||||
up(4) right(fl-3.5+rl/2) back(rh + 6) xrot(180)yrot(90)m3s_clear(bl=10,bz=-10, sh=0, drop=true, $die=true);
|
||||
left(rl/2 - 3) down(.01)back(fw+rh-4.5) hull() {
|
||||
cyl(r=4.5, h=fw, align=V_TOP);
|
||||
right(20)cyl(r=4.5, h=fw, align=V_TOP);
|
||||
}
|
||||
up(4) right(fl+rl/2) back(rh + 6) xrot(180)yrot(90)m3s_clear(bl=12,bz=-12, sh=0, drop=true, $die=true);
|
||||
}
|
||||
back=5;
|
||||
bmax = back + (fw-1);
|
||||
@@ -107,6 +119,9 @@ module rb_foot(fw=RB_MOUNT_WIDTH, rl=RB_MOUNT_LEN+5, rh=RB_MOUNT_OUT_H, fl=10) {
|
||||
fwd(bmax)up(fw-1)
|
||||
yrot(90)linear_extrude(height=rl, center=true) polygon([[0,bmax-fw+1],[0,bmax],[fw-1,bmax]]);
|
||||
|
||||
back(8)xrot(90)fwd(bmax)up(fw-1)
|
||||
yrot(90)linear_extrude(height=rl, center=true) polygon([[0,bmax-fw+1],[0,bmax],[fw-1,bmax]]);
|
||||
|
||||
}
|
||||
|
||||
module hinge_mount(bz=WIN_THICK, bl=10) {
|
||||
@@ -163,17 +178,20 @@ module rearMount(md=141.333, theta=90, show=true) {
|
||||
left(x/2)cuboid([x,20+2*d,50], fillet=2, edges=EDGES_X_ALL+EDGES_Y_RT+EDGES_Z_RT);
|
||||
left(x)xflip()hinge_mount($die=true);
|
||||
}
|
||||
left(5+d)back(13+py/2 + 5+2*d)zrot(theta){
|
||||
zrot(-theta)zspread(n=2, l=md+25+25/2 ) hull() {
|
||||
right(5.3)fwd(5+py/2)cuboid([x,2*d+1+9/2+20,25/2], fillet=2, align=V_LEFT, edges=EDGES_Y_RT);
|
||||
right(2*4.5+2*d)#cyl(fillet=2, r=6, h=25/2);
|
||||
right(4.75/2+2*d)#cyl(fillet=2, r=4.75, h=25/2);
|
||||
left(5+d)back(13+py/2 + 5+2*d)zrot(theta) {
|
||||
zrot(-theta)zspread(n=2, l=md+25+25/2 )
|
||||
hull() {
|
||||
right(5.3)fwd(5+py/2)cuboid([x,2*d+1+9/2+20,25/2], fillet=2, align=V_LEFT, edges=EDGES_Y_RT);
|
||||
right(2*4.5+2*d) cyl(fillet=2, r=6, h=25/2);
|
||||
right(4.75/2+2*d)cyl(fillet=2, r=4.75, h=25/2);
|
||||
}
|
||||
fwd(2*4.5+2*d) {
|
||||
cyl(r=4.75, fillet=2, h=md+50);
|
||||
}
|
||||
fwd(2*4.5+2*d)cyl(r=4.75, fillet=2, h=md+50);
|
||||
}
|
||||
}
|
||||
|
||||
module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINER_W, slop=JOINER_SLOP, jb=5, jup = false, jdown=false, flx=false, ft=FLOOR_THICK, wl=WIN_LIP, ioff=0, wx=true, wt=WIN_THICK, wtr = WIN_TRIM, hm=false, hc=false, ht=0, hs=false, tubepass=false, tn = 2, ix=true, iy=true, rbfoot=false, rbleft=false, cm=false, gm=false, align=V_CENTER) {
|
||||
module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINER_W, slop=JOINER_SLOP, jb=5, jup = false, jdown=false, flx=false, ft=FLOOR_THICK, wl=WIN_LIP, ioff=0, wx=true, wt=WIN_THICK, wtr = WIN_TRIM, hm=false, hc=false, ht=0, hs=false, tubepass=false, tn = 2, ix=true, iy=true, rbfoot=false, rbleft=false, cm=false, gm=false, my=false, align=V_CENTER) {
|
||||
jzoff = l/2-jw/2;
|
||||
inner_off = ps/2 + wt;
|
||||
jdiff = (ps-wt)/2 - jh;
|
||||
@@ -197,6 +215,10 @@ module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINE
|
||||
}
|
||||
if (hm) right(face_off)back(face_off)zrot(45) color("gold") hinge_mount();
|
||||
if (iy) up(ioff) back(ps-wl/2)right(wt)yrot(-90) thread_insertM3(bl=5+wt, bz=-5, $die=true);
|
||||
if (my) up(ioff) back(ps-wl/2)right(wt)yrot(-90) {
|
||||
down(2.4)cuboid([20.2,15.2,1.8], align=V_BOTTOM);
|
||||
up(.01)cuboid([22,7,2.11], align=V_BOTTOM);
|
||||
}
|
||||
if (ix && flx )
|
||||
up(ioff) right(ps-wl/2)back(ps/2-ft-1)xrot(-90) thread_insertM3(bl=ft+6, bz=-6, $die=true);
|
||||
if (ix && wx)
|
||||
@@ -335,8 +357,16 @@ if (PART == "edge_front_bottom") {
|
||||
right(coff/2-2*psoff) back(lx/3/2)zrot(225)ear(thick=.2, dis=-2);
|
||||
left(coff/2-2*psoff) fwd(lx/3/2)zrot(45)ear(thick=.2, dis=-2);
|
||||
right(coff/2-2*psoff) fwd(lx/3/2)zrot(135)ear(thick=.2, dis=-2);
|
||||
up((wt+wl)/sqrt(2))xrot(90) zrot(45)
|
||||
box_edge(l=lx/3, jup=true, jdown=true, flx=true, wx=false, tubepass=false, orient=ORIENT_Z);
|
||||
difference() {
|
||||
up((wt+wl)/sqrt(2))xrot(90) zrot(45)
|
||||
box_edge(l=lx/3, jup=true, jdown=true, flx=true, wx=false, my=true, iy=false, tubepass=false, orient=ORIENT_Z);
|
||||
yspread(n=5, l=22) up(2.1+.6) {
|
||||
cuboid([20+1.2,5.2,2.1], chamfer=.6, edges=EDGES_Y_BOT , align=V_BOTTOM);
|
||||
up(.6+.8)right(20)cuboid([50,5.2,2.3], chamfer=.6, edges=EDGES_Y_BOT, align=V_BOTTOM);
|
||||
}
|
||||
linear_extrude(height=.6) scale(.1) import("magnet.svg", center=true);
|
||||
}
|
||||
color("orange")linear_extrude(height=.6) scale(.1) #import("magnet.svg", center=true);
|
||||
}
|
||||
if (PART == "edge_back_bottom_a") {
|
||||
if (Print_Ears) {
|
||||
|
||||
Reference in New Issue
Block a user