76.9s
· 1475/4159t · $0.0434
diff vs bare: +0/-0
// L-bracket with countersunk (counterbored) M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
edge = 10; // hole offset from side edges along X
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
// Horizontal flange holes (axis along Z), countersink from top (+Z)
for (x = [edge, w - edge]) {
// Through hole
translate([x, d/2, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
translate([x, d/2, t - sd])
cylinder(h = sd, d = ds);
}
// Vertical flange holes (axis along Y), countersink from outside face (+Y)
for (x = [edge, w - edge]) {
// Through hole (centered, long enough to pass through thickness)
translate([x, t/2, h/2])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
translate([x, t, h/2])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}
SCAD (46 lines)
// L-bracket with countersunk (counterbored) M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
edge = 10; // hole offset from side edges along X
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
// Horizontal flange holes (axis along Z), countersink from top (+Z)
for (x = [edge, w - edge]) {
// Through hole
translate([x, d/2, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
translate([x, d/2, t - sd])
cylinder(h = sd, d = ds);
}
// Vertical flange holes (axis along Y), countersink from outside face (+Y)
for (x = [edge, w - edge]) {
// Through hole (centered, long enough to pass through thickness)
translate([x, t/2, h/2])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
translate([x, t, h/2])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}
68.8s
· 1475/3724t · $0.0391
diff vs i1: +4/-4
- // L-bracket with countersunk (counterbored) M4 holes
+ // L-bracket with counterbored M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
edge = 10; // hole offset from side edges along X
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
- // Horizontal flange holes (axis along Z), countersink from top (+Z)
+ // Horizontal flange holes (axis along Z), counterbore from top (+Z)
for (x = [edge, w - edge]) {
// Through hole
translate([x, d/2, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
translate([x, d/2, t - sd])
cylinder(h = sd, d = ds);
}
- // Vertical flange holes (axis along Y), countersink from outside face (+Y)
+ // Vertical flange holes (axis along Y), counterbore from outside face (+Y)
for (x = [edge, w - edge]) {
// Through hole (centered, long enough to pass through thickness)
translate([x, t/2, h/2])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
- translate([x, t, h/2])
+ translate([x, t - sd, h/2])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}
SCAD (46 lines)
// L-bracket with counterbored M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
edge = 10; // hole offset from side edges along X
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
// Horizontal flange holes (axis along Z), counterbore from top (+Z)
for (x = [edge, w - edge]) {
// Through hole
translate([x, d/2, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
translate([x, d/2, t - sd])
cylinder(h = sd, d = ds);
}
// Vertical flange holes (axis along Y), counterbore from outside face (+Y)
for (x = [edge, w - edge]) {
// Through hole (centered, long enough to pass through thickness)
translate([x, t/2, h/2])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
translate([x, t - sd, h/2])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}
129.3s
· 1475/6190t · $0.0637
diff vs i2: +11/-8
// L-bracket with counterbored M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
- edge = 10; // hole offset from side edges along X
+ edge_x = 10; // X margin from side edges (left/right)
+ row = 10; // distance from outer edge of each face (Y/Z) toward inside
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
// Horizontal flange holes (axis along Z), counterbore from top (+Z)
- for (x = [edge, w - edge]) {
+ // Row located 10 mm from the outer Y edge (y = d - row)
+ for (x = [edge_x, w - edge_x]) {
// Through hole
- translate([x, d/2, -1])
+ translate([x, d - row, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
- translate([x, d/2, t - sd])
+ translate([x, d - row, t - sd])
cylinder(h = sd, d = ds);
}
// Vertical flange holes (axis along Y), counterbore from outside face (+Y)
- for (x = [edge, w - edge]) {
- // Through hole (centered, long enough to pass through thickness)
- translate([x, t/2, h/2])
+ // Row located 10 mm from the outer Z edge (z = h - row)
+ for (x = [edge_x, w - edge_x]) {
+ // Through hole
+ translate([x, t/2, h - row])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
- translate([x, t - sd, h/2])
+ translate([x, t - sd, h - row])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}
SCAD (49 lines)
// L-bracket with counterbored M4 holes
// Dimensions
w = 50; // width (X)
d = 40; // depth of horizontal flange (Y)
h = 40; // height of vertical flange (Z)
t = 3; // thickness
// Holes
dh = 4.5; // through hole diameter
ds = 8; // counterbore diameter
sd = 2; // counterbore depth
edge_x = 10; // X margin from side edges (left/right)
row = 10; // distance from outer edge of each face (Y/Z) toward inside
$fn = 64;
difference() {
// L-bracket body: inner corner at origin, horizontal +Y, vertical +Z
union() {
// Horizontal flange: X=w, Y=d, Z=t
cube([w, d, t], center=false);
// Vertical flange: X=w, Y=t, Z=h
cube([w, t, h], center=false);
}
// Horizontal flange holes (axis along Z), counterbore from top (+Z)
// Row located 10 mm from the outer Y edge (y = d - row)
for (x = [edge_x, w - edge_x]) {
// Through hole
translate([x, d - row, -1])
cylinder(h = t + 2, d = dh);
// Counterbore from top face
translate([x, d - row, t - sd])
cylinder(h = sd, d = ds);
}
// Vertical flange holes (axis along Y), counterbore from outside face (+Y)
// Row located 10 mm from the outer Z edge (z = h - row)
for (x = [edge_x, w - edge_x]) {
// Through hole
translate([x, t/2, h - row])
rotate([90, 0, 0])
cylinder(h = t + 6, d = dh, center=true);
// Counterbore from outside face at Y = +t, depth sd toward -Y
translate([x, t - sd, h - row])
rotate([90, 0, 0])
cylinder(h = sd, d = ds, center=false);
}
}