Underdesk Audio Interface Mount V1
implemented unverified
Under-desk tray for a desktop audio interface: a rounded plate that screws flat under the desk, a central vent/cable window, and a through strap-slot pair — a hook-and-loop strap wraps the device against the tray. Pure recipe YAML on core ops; device presets (MiniFuse, Scarlett) are examples that change one parameter block.
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_audio_interface_mount
archetype: underdesk_audio_interface_mount_v1@1
params:
device_l: 200mm
device_w: 110mm
strap_w: 25mm
modifiers:
- id: add_hex_perforation
target: plate Parameters
| parameter | type | default | range | role | |
|---|---|---|---|---|---|
device_ldevice length along the tray (X) | length | 200mm | 120mm … 320mm | functional | exposed |
device_wdevice depth across the tray (Y) | length | 110mm | 70mm … 220mm | functional | exposed |
thickness | length | 5mm | 4mm … 8mm | manufacturing | |
corner_r | length | 6mm | 2mm … 14mm | aesthetic | |
end_marginplate margin past the device at each end — the desk-screw zone | length | 16mm | 12mm … 30mm | assembly | |
strap_wstrap width the slots must pass | length | 25mm | 15mm … 50mm | functional | exposed |
strap_slot_tslot thickness — strap plus working slack | length | 4mm | 3mm … 6mm | functional | |
vent_wcentral vent/cable window width | length | 120mm | 40mm … expr(device_l - 40) | functional | |
vent_hcentral vent/cable window height | length | 60mm | 24mm … expr(device_w - 24) | functional | |
screw | choice | M4 | M3 | M4 | M5 | assembly | |
min_web | length | 4mm | 3mm … 10mm | manufacturing |
Regions
-
platemounting surface -
plate_lighteningaesthetic lightening
Contract
Guarantees
must-have features and invariants — verified on every build
mounting_plate_bodyhole_patterntie_slotsvent_h < device_w - 2 * min_web
Will refuse
explicit prohibitions — the engine refuses to build these
- none declared
Not claimed
what passing validation does not mean
safety certifiedmedicalfood safeelectrical certifiedpressure rated- Provided “as is” under Apache-2.0 — no warranty of fitness for a particular purpose.
Built from operations
rounded_platerounded_rect_cutoutrounded_rect_cutoutrounded_rect_cutoutcountersunk_hole_pattern
Allowed modifiers
add_hex_perforationadd_vein_ribsfillet_soften
Subscribed validators (7)
form.min_web_between_holesform.holes_within_outlineform.cuts_respect_keepoutstopology.single_connected_solidtopology.screw_holes_opentopology.countersinks_presenttopology.cutout_present