Skip to content

Shelf Bracket V1

implemented unverified

Wall shelf bracket (wave R4, strength): a rounded wall plate with two countersunk screws, a TAPERED LOFTED ARM straight out of the wall, and thin web gussets tying the arm root into the plate on both bending sides. The taper (tip smaller than root) is enforced by the Form IR, so the standing print is self-supporting; the arm is probe-verified solid out to its tip.

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_shelf_bracket
archetype: shelf_bracket_v1@1

params:
  arm_len: 150mm

modifiers:
  - id: fillet_soften
    target: plate

Parameters

parametertypedefaultrangerole
plate_lplate length along the wall (vertical when mounted)length120mm70mm … 200mmassembly
plate_wlength60mm30mm … 120mmassembly
plate_tlength6mm4mm … 12mmstructural
corner_rlength6mm2mm … 14mmaesthetic
arm_lenshelf reach from the walllength150mm50mm … 210mmfunctionalexposed
arm_root_llength34mm16mm … expr(plate_w - 10)structural
arm_root_wlength30mm14mm … expr(plate_l / 2)structural
arm_tip_ltip must not exceed root — the taper is the print safetylength22mm10mm … expr(arm_root_l)structural
arm_tip_wlength18mm8mm … expr(arm_root_w)structural
gusset_hlength26mm10mm … 60mmstructural
gusset_lenlength22mm8mm … 50mmstructural
gusset_tlength5mm3mm … 10mmstructural
screwchoiceM5M4 | M5assembly
screw_spacingscrews sit beyond the gussets where a driver reacheslengthexpr(arm_root_w + 2 * gusset_len + 30)expr(arm_root_w + 2 * gusset_len + 26) … expr(plate_l - 18)assembly
min_weblength4mm3mm … 10mmmanufacturing

Regions

  • plate mounting surface
  • arm_root high stress region

Contract

Guarantees

must-have features and invariants — verified on every build

  • mounting_plate_body
  • hole_pattern
  • tapered_arm
  • stiffening_ribs
  • arm_tip_l <= arm_root_l

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.

Allowed modifiers

fillet_soften

Subscribed validators (7)

form.min_web_between_holesform.holes_within_outlinetopology.single_connected_solidtopology.screw_holes_opentopology.countersinks_presenttopology.ribs_presenttopology.arm_reaches_tip