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
|
||||
// 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.
|
||||
|
||||
$fn = 36;
|
||||
@@ -21,6 +21,12 @@ outer_d = inner_d + wall*2 + tol*2; // 32.8mm
|
||||
outer_h = inner_h + wall*2; // 19mm
|
||||
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
|
||||
pole_dia = 35; // nominal stand/pole diameter
|
||||
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() {
|
||||
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]) {
|
||||
translate([x*(outer_w/2 - 5), y*(outer_d/2 - 5), -0.5])
|
||||
cylinder(d=2.4, h=wall*2 + 1, center=false, $fn=20);
|
||||
translate([x*(outer_w/2 - 5), y*(outer_d/2 - 5), -lid_lip_h - 0.5])
|
||||
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]) {
|
||||
translate([x, 0, wall*2/2])
|
||||
cube([8, outer_d*0.6, wall*3], center=true);
|
||||
translate([x, 0, lid_top_thick/2])
|
||||
cube([8, outer_d*0.6, lid_top_thick*3], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -213,7 +245,7 @@ module tripod_clip() {
|
||||
|
||||
module full_case() {
|
||||
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])
|
||||
rotate([90, 0, 0]) tripod_clamp();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user