Cup Holder Post V1
implemented unverified
SCREWLESS cup holder for a square wooden post: a LOW ring-wall cup (just enough rim to keep a mug standing; spills drain through the raised floor) with a snap C-clip welded to its outer wall. Push the holder onto the post from the front — the flexing side walls ride over the far corners and the chamfered lips snap shut; the cup's own weight presses the post into the flat seat, so nothing else is needed. 2x2 cm post by default, any 12-30 mm square by parameter.
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_cup_holder_post
archetype: cup_holder_post_v1@1
params:
cup_d: 92mm
cup_h: 38mm
post_w: 20mm Parameters
| parameter | type | default | range | role | |
|---|---|---|---|---|---|
cup_dinner rim sized to drop a mug in (92 fits most mugs) | length | 92mm | 60mm … 130mm | functional | exposed |
bottom_d | length | 80mm | 50mm … 120mm | functional | |
cup_hLOW ring wall — holds the cup, never hides it | length | 38mm | 26mm … 80mm | functional | exposed |
wall | length | 2.4mm | 1.8mm … 4mm | structural | |
floor_t | length | 3mm | 2mm … 5mm | structural | |
floor_raise | length | 4mm | 2mm … 10mm | functional | |
drain_count | count | 3 | 1 … 6 | functional | |
drain_d | length | 6mm | 4mm … 10mm | functional | |
post_wthe square post's measured side (20 = the 2x2 cm standard) | length | 20mm | 12mm … 24mm | assembly | exposed |
fit_clearance | length | 0.5mm | 0.3mm … 0.9mm | manufacturing | |
clip_hsnap clip height (>= 1.5x post — anti-rock) | length | 36mm | 18mm … 60mm | assembly | |
clip_z | length | 1mm | 0mm … 30mm | assembly | |
snap_bite | length | 1.2mm | 0.8mm … 2mm | assembly | |
clip_wall | length | 2.8mm | 2.4mm … 3.6mm | structural |
Regions
-
cup_cavitysoft contact surface -
cup_outer_shellaesthetic lightening -
clip_post_channelmounting surface
Contract
Guarantees
must-have features and invariants — verified on every build
pot_vesseldrainage_boressquare_post_clampclip_z + clip_h <= cup_h
Will refuse
explicit prohibitions — the engine refuses to build these
- none declared
Not claimed
what passing validation does not mean
- Provided “as is” under Apache-2.0 — no warranty of fitness for a particular purpose.
Built from operations
pot_bodybore_patternsquare_post_snap
Subscribed validators (9)
form.pot_taper_okform.pot_floor_drainsform.post_sleeve_fit_okform.post_sleeve_engagement_okform.post_sleeve_walls_okform.post_snap_retention_okform.holes_within_outlinetopology.bores_opentopology.single_connected_solid