-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparams.scad
More file actions
123 lines (112 loc) · 8.47 KB
/
Copy pathparams.scad
File metadata and controls
123 lines (112 loc) · 8.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// ============================================================
// Shared parameters for all .scad files.
// ============================================================
/* [Shared: bore / mounting-boss geometry] */
bmr_od = 54.5; // cutout circle diameter, mm
boss_hole_d = 2.9; // screw pilot hole diameter, mm
boss_wall = 4; // material around the screw hole, mm
boss_od = boss_hole_d + 1.5 * boss_wall; // boss outer diameter, mm
boss_h = 4; // boss height above the facet, mm
boss_bc_d = bmr_od + 10; // bolt circle diameter (centers), mm
boss_chamfer = 1; // 45-deg chamfer depth at hole entry, mm
boss_angles = [45, 135, 225, 315]; // clocked from vertical -> square pattern
m3_bolt_id = 3.5; // M3 clearance-bore diameter, shared by backpanel + mount-lip, mm
$fn = 30;
/* [Shared: box-top / mount-lip insert layout] */
n_top_inserts = 4; // count of box-top / mount-lip mounting inserts
top_insert_depth_frac = 1 / 2; // inset behind the arc face, fraction of bar_depth, following the curve
top_insert_margin = 3; // required material around the insert OD on every side, mm
top_insert_boss_h = boss_h; // internal boss drop below the top cap's ceiling, mm -- default matches the existing arc-face boss height
/* [Box-only parameters] */
arc_length = 805.45; // length along the arc face, mm
arc_depth = 54.78; // sagitta / rise of the arc, mm
baffle_space = 1; // thickness of trim over bmrs
bmr_id = 43.8; // cutout circle inner diameter, mm
end_space = 30; // clearance: box end -> nearest hole edge (along arc), mm
height = 70; // extrusion height, mm
wall_width = 4; // shell wall thickness, mm
bar_depth = 63; // box depth at mid-span (thinnest point), mm
rear_end_depth = 117.8; // box depth (front-to-back) at the left/right ends, mm -- see profile_2d()
// 117.78 makes the entire rear one flat plane (no "\_/" bend at all)
// -- recompute if arc_length/arc_depth/bar_depth change
// box-split-*.scad joint key/valley: locates the 3 printed segments during
// glue-up. Ribs run the box's full width (Y), parallel to the top/bottom
// edges, at joint_z0 above the box's own bottom edge (Z=0). Valley is
// deeper/taller than the key so they don't bind on insertion.
joint_z0 = 10; // rib's Z position above the box's bottom edge, mm
joint_key_protrusion = 2; // key: how far it pokes out from the cut face, mm
joint_valley_depth = 2.5; // valley: how far it's recessed into the cut face, mm
joint_key_height = 4; // key: Z extent, mm
joint_valley_height = 4.5; // valley: Z extent, mm
num_holes = 10; // holes are spaced equidistantly to fill the span
divider_after_hole = [4, 5, 6]; // 1-indexed: wall placed between this hole and the next
divider_thickness = wall_width; // thickness of each dividing wall, mm
boss_hole_depth = boss_h + 2; // blind: stops 2 mm short of the outer face
back_lip_depth = 5; // how far the lip reaches into the cavity from the open back, mm
back_lip_width = 5; // width of the lip shelf, mm
m3_ins_od = 4.2; // M3 heat-set insert diameter, mm
m3_ins_depth = 4; // insert hole depth from the exposed rear face, mm
num_bolts = 12; // insert holes, equally spaced around the rear rim
bmr_fn = 96; // circle resolution for the BMR cutout only (global $fn stays low for everything else)
box_edge_chamfer = 5; // chamfer along the arc face's left/right/bottom edges, mm -- top excluded (mount-lip.scad needs a sharp flush edge there)
/* [Trim-only parameters] */
trim_id = 47; // center bore diameter, mm
trim_id_chamfer = 3; // chamfer depth on the center bore's inner edge, mm
trim_step_od = bmr_od - 0.5; // plug OD: 0.5 mm total clearance in the bore
trim_step_depth = boss_h + 2; // plug length: boss height + 2 mm
boss_hole = boss_hole_d; // == boss_id: screw clearance hole diameter
flange_depth = 3; // flange (cap) thickness, mm
total_depth = flange_depth + trim_step_depth; // overall trim height, mm
/* [Mount-lip-only parameters] */
mount_lip_thick = wall_width; // lip slab thickness, mm -- doubled from the first pass (was too thin at wall_width/2)
mount_lip_depth_frac = 2 / 3; // inner-arc offset from the outer (box) arc, fraction of bar_depth, at box center
mount_lip_step_len = wall_width / 2; // split-joint half-lap overlap length into each piece, mm
/* [Backpanel-only parameters] */
panel_thick = 5; // backpanel thickness, mm
bp_hole_od = 6; // counterbore diameter, mm
bp_hole_depth = 3; // counterbore depth, mm
// wire channels: 2 push-threadable bores per chamber (one Cat5e conductor
// each), each a straight bus at its own stacked height running flush to
// a shared rectangular exit window per chamber pair -- no per-channel
// taper. Group positions are derived from box.scad's chamber layout
// (box_chamber_x_bounds()), not a param here. Left/right chambers enter
// the riser from opposite sides and reuse bus heights, so the stack is
// only as tall as the busier side (n_heights = max(n_left, n_right)).
// Two prior designs were unpushable: a two-arc peel+surfacing design (no
// straight lead-in, compound bend) and a single-channel funnel dive
// (smooth surface, but still a real ~45-degree kink right where the tube
// is at its narrowest) -- see CLAUDE.md.
channel_d = 2; // wire channel diameter, mm (~1mm clearance over a ~1.0mm insulated Cat5e conductor)
channel_gap = 0.5; // minimum gap between stacked channels, mm
channel_manifold_margin = 0.5; // clearance added around the bus stack's height when sizing the riser bore, mm
channel_riser_wall = 1.5; // wall thickness around the riser bore, mm
channel_pair_dx = 5; // x offset between a chamber's 2 entry holes, mm
channel_exit_buffer = 2; // margin added around a channel pair's bus footprint on all sides of the shared exit window, mm
channel_face_overshoot = 1.5; // exit window extends this far past the inner face, mm (clean subtraction, easier entry)
// keystone jack mount: cutout goes through the panel (panel_thick is the
// mounting wall) so the jack is pluggable from the exterior; the housing
// extends inward to the punch-down terminal. Standard 14.5x16.1mm
// keystone opening (Leviton/Legrand/ICC-style) -- adjust to match a
// specific jack's datasheet if needed.
ks_body_w = 20; // body/tang-flare cavity width behind the wall, mm
ks_body_h = 22; // body/tang-flare cavity height behind the wall, mm
ks_cutout_clearance = 0.3; // print clearance added to the cutout so the jack slides through, mm
ks_cutout_w = 14.8; // standard keystone cutout width, mm
ks_cutout_h = 16.3; // standard keystone cutout height, mm
ks_cutout_y_offset = 1.25; // cutout height starts this far above the body cavity's bottom edge, mm
ks_jack_len = 36; // overall length, panel's outer face to rear of punch-down block, mm
ks_wall = 3; // structural wall thickness around the housing, mm
ks_x_frac = 1 / 3; // keystone housing (and channel gathering point) position along the panel length, fraction from the left edge
ks_y_offset = 10; // housing center y, relative to mid-height (mm; change to reposition)
/* [Sectioning for print (archive/box_print.scad / archive/backpanel_print.scad -- repoint at the smp files to reuse)] */
// ~795mm parts cut into 4 segments for a 300mm-class printer. Box prints
// standing on its cut face (near-zero support); panel prints flat.
// Panel cuts stagger off box cuts so the bolted panel bridges every
// joint. Filament dowels + glue + backpanel bolts align each joint.
printer_bed = 300; // max printable dimension, mm (Creality K2 Pro)
box_cut_after_hole = [2, 4, 7]; // cut in the gap after hole N (1-indexed); a divider gap cuts at the divider face
panel_cuts = [-190, 60, 230]; // backpanel cut x positions, mm; kept clear of box cuts/keystone/bolts/channels
joint_pin_d = 2.0; // filament-dowel hole diameter, mm (1.75mm filament + slop)
joint_pin_len = 12; // total dowel length across a joint, mm (half in each segment)
joint_funnel_d = 3; // wire-channel mouth diameter at a panel seam, mm
joint_funnel_len = 1.5; // funnel taper length on each side of a seam, mm