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:
2025-07-22 09:13:36 -04:00
parent 52f53fe074
commit 56dd7f504d
3 changed files with 60 additions and 17 deletions

View File

@@ -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) {