generated from CubeCraft-Creations/Tracehound
fix: add lid locating lip for flush fit
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
// RemoteRig — Dual-ESP Tripod Case v3
|
// RemoteRig — Dual-ESP Tripod Case v3
|
||||||
// v3c changes: screw-tightened tripod clamp + horizontal two-screw flat mounting plate interface.
|
// v3d changes: screw-tightened tripod clamp + horizontal two-screw mount + flush locating-lip lid.
|
||||||
// Coordinate system: all case/lid geometry uses bottom-origin Z.
|
// Coordinate system: all case/lid geometry uses bottom-origin Z.
|
||||||
|
|
||||||
$fn = 36;
|
$fn = 36;
|
||||||
@@ -21,6 +21,12 @@ outer_d = inner_d + wall*2 + tol*2; // 32.8mm
|
|||||||
outer_h = inner_h + wall*2; // 19mm
|
outer_h = inner_h + wall*2; // 19mm
|
||||||
corner_r = 2.5;
|
corner_r = 2.5;
|
||||||
|
|
||||||
|
// Lid fit parameters
|
||||||
|
lid_top_thick = 2.0;
|
||||||
|
lid_lip_h = 1.6;
|
||||||
|
lid_clearance = 0.6; // clearance around underside locating lip
|
||||||
|
lid_lip_wall = 1.2; // thickness of perimeter lip/frame
|
||||||
|
|
||||||
// Tripod clamp parameters
|
// Tripod clamp parameters
|
||||||
pole_dia = 35; // nominal stand/pole diameter
|
pole_dia = 35; // nominal stand/pole diameter
|
||||||
clamp_thick = 4.0; // ring wall thickness
|
clamp_thick = 4.0; // ring wall thickness
|
||||||
@@ -133,18 +139,44 @@ module case_body() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module lid_locating_lip() {
|
||||||
|
// Thin underside frame that drops into the case opening. This registers the
|
||||||
|
// lid so it cannot skate/rock on the rim, while staying clear of screw posts.
|
||||||
|
lip_outer_w = inner_w + tol - lid_clearance;
|
||||||
|
lip_outer_d = inner_d + tol - lid_clearance;
|
||||||
|
lip_inner_w = lip_outer_w - lid_lip_wall*2;
|
||||||
|
lip_inner_d = lip_outer_d - lid_lip_wall*2;
|
||||||
|
|
||||||
|
translate([0, 0, -lid_lip_h])
|
||||||
|
difference() {
|
||||||
|
rounded_cube0(lip_outer_w, lip_outer_d, lid_lip_h, 1.0);
|
||||||
|
translate([0, 0, -0.1])
|
||||||
|
rounded_cube0(lip_inner_w, lip_inner_d, lid_lip_h + 0.2, 0.7);
|
||||||
|
|
||||||
|
// Corner reliefs so the lip doesn't interfere with screw posts.
|
||||||
|
for (x = [-1, 1], y = [-1, 1]) {
|
||||||
|
translate([x*(outer_w/2 - 5), y*(outer_d/2 - 5), lid_lip_h/2])
|
||||||
|
cylinder(d=7.0, h=lid_lip_h + 0.4, center=true, $fn=24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module case_lid() {
|
module case_lid() {
|
||||||
difference() {
|
difference() {
|
||||||
rounded_cube0(outer_w, outer_d, wall*2, 1.8);
|
union() {
|
||||||
|
// Thinner top cover; underside lip handles registration.
|
||||||
|
rounded_cube0(outer_w, outer_d, lid_top_thick, 0.8);
|
||||||
|
lid_locating_lip();
|
||||||
|
}
|
||||||
|
|
||||||
for (x = [-1, 1], y = [-1, 1]) {
|
for (x = [-1, 1], y = [-1, 1]) {
|
||||||
translate([x*(outer_w/2 - 5), y*(outer_d/2 - 5), -0.5])
|
translate([x*(outer_w/2 - 5), y*(outer_d/2 - 5), -lid_lip_h - 0.5])
|
||||||
cylinder(d=2.4, h=wall*2 + 1, center=false, $fn=20);
|
cylinder(d=2.4, h=lid_top_thick + lid_lip_h + 1, center=false, $fn=20);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (x = [-outer_w/4, 0, outer_w/4]) {
|
for (x = [-outer_w/4, 0, outer_w/4]) {
|
||||||
translate([x, 0, wall*2/2])
|
translate([x, 0, lid_top_thick/2])
|
||||||
cube([8, outer_d*0.6, wall*3], center=true);
|
cube([8, outer_d*0.6, lid_top_thick*3], center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -213,7 +245,7 @@ module tripod_clip() {
|
|||||||
|
|
||||||
module full_case() {
|
module full_case() {
|
||||||
case_body();
|
case_body();
|
||||||
translate([0, 0, outer_h + 2]) case_lid();
|
translate([0, 0, outer_h]) case_lid();
|
||||||
translate([0, outer_d/2 + pole_dia/2 + clamp_thick + 8, outer_h/2])
|
translate([0, outer_d/2 + pole_dia/2 + clamp_thick + 8, outer_h/2])
|
||||||
rotate([90, 0, 0]) tripod_clamp();
|
rotate([90, 0, 0]) tripod_clamp();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user