diff --git a/README b/README
index 7a28864..53bed6b 100644
--- a/README
+++ b/README
@@ -1,5 +1,9 @@
Drybox-NG an Unoriginal Drybox Implemented in OpenSCAD
+Openscad Code by sjc (Stephen Carpenter)
+
+Magnet.svg by Solar Icons in CC Attribution License via SVG Repo
+
WIP:
- Need Mount for Buffer
diff --git a/box.scad b/box.scad
index b46db20..b11bf61 100644
--- a/box.scad
+++ b/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) {
diff --git a/magnet.svg b/magnet.svg
new file mode 100644
index 0000000..2ceae90
--- /dev/null
+++ b/magnet.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file