Under-Desk Cable Clip
buildable validated
A single-piece printable clip that holds a cable bundle beneath a desk: a screw flange flows through a blended neck into an asymmetric side-entry hook with independently dimensioned stop and flex lips.
Molded asymmetric side-entry cable clip for underside desk mounting: a continuous shell flowing from a flat screw flange through a blended neck into an asymmetric side-opening hook. The upper (short, stop) and lower (long, tapered flex) lips are independently dimensioned profile features, so lower_lip_len > upper_lip_len is real, measurable geometry.
Why it matters: Demonstrates parameterized retention geometry, protected modifier regions and print validation in one small everyday part.
Built from a real example — orbit to inspect.
Declaration example
A minimal product declaration for this archetype — exposed parameters at
their defaults. Validate and build it with
forge validate / forge build.
schema: product/v1
id: my_underdesk_cable_clip
archetype: underdesk_cable_clip_v2_molded@1
params:
bundle_d: 20mm
mouth_gap: 10mm
upper_lip_len: 6mm
lower_lip_len: 15mm
modifiers:
- id: add_countersunk_holes
target: flange Parameters
| parameter | type | default | range | role | |
|---|---|---|---|---|---|
bundle_dcable bundle diameter the cradle must hold | length | 20mm | 8mm … 40mm | functional | exposed |
wallconstant shell wall thickness | length | 3.5mm | 2mm … 6mm | manufacturing | |
mouth_gapthroat opening; must stay narrower than the bundle | length | 10mm | 4mm … expr(bundle_d * 0.7) | functional | exposed |
upper_lip_lenshort fixed stop lip above the mouth | length | 6mm | 3mm … 12mm | functional | exposed |
lower_lip_lenlong tapered flex lip below the mouth — the retainer | length | 15mm | expr(upper_lip_len * 1.6) … 30mm | functional | exposed |
flange_l | length | 70mm | 40mm … 140mm | assembly | |
flange_w | length | 30mm | 16mm … 60mm | assembly | |
flange_t | length | 5mm | 4mm … 10mm | manufacturing | |
neck_drop | length | 8mm | 3mm … 20mm | aesthetic | |
screw_count | count | 2 | 1 … 4 | assembly | |
screw | choice | M4 | M3 | M4 | M5 | assembly | |
screw_spacingscrews sit beside the hook along the cable axis; the floor keeps a driver clear of the hook footprint | length | 50mm | expr(flange_w + 13) … expr(flange_l - 10.0) | assembly | |
clearanceradial cavity clearance around the bundle | length | 0.8mm | 0.2mm … 2mm | manufacturing | |
cavity_roofteardrop = self-supporting 45deg cavity bottom for support-free printing (hook gets ~40% of a radius deeper) | choice | round | round | teardrop | manufacturing |
Regions
-
flangemounting surface -
screw_zonesfastener keepout -
cable_contactsoft contact surface -
snap_roothigh stress region forbids: add_hex_perforation -
lower_lipretaining flexure forbids: add_hex_perforation -
perforation_safe_zoneaesthetic lightening
Contract
Guarantees
must-have features and invariants — verified on every build
asymmetric_side_hookside_facing_mouththrough_cavitymounting_flangeretaining_lower_lipmouth_gap < bundle_d * 0.7lower_lip_len > upper_lip_len * 1.5
Will refuse
explicit prohibitions — the engine refuses to build these
symmetric_c_ringclosed_ringdownward_entryboxy_rectangular_hook
Not claimed
what passing validation does not mean
- Provided “as is” under Apache-2.0 — no warranty of fitness for a particular purpose.
Allowed modifiers
add_countersunk_holesadd_hex_perforationfillet_soften
Subscribed validators (18)
form.profile_closedform.profile_smoothform.mouth_opens_sidewaysform.mouth_gap_matchesform.lower_lip_longer_than_upperform.not_symmetric_c_ringform.flange_above_cradleform.wall_thicknessform.regions_presentform.contact_edges_roundedform.screw_access_cleartopology.single_connected_solidtopology.cavity_opentopology.mouth_opens_sidewaystopology.asymmetric_lips_geometrytopology.flange_above_cradletopology.screw_holes_opentopology.countersinks_present