Parametric U-Shape Generator (OpenSCAD · mm)
Print Profile(1)

Description
Flexibly create U-shaped holders, brackets, and inserts – fully parametric, precise to the millimeter, and MakerWorld-safe.
Supports round holes and slots, oval counterbores & countersinks for slots, countersink/counterbore for round holes, per-corner radii, outer chamfers (top/bottom), inner top chamfer, hole arrays, per-side inset, and a groove mode for mating parts
Compatibility: OpenSCAD Customizer, dimensions in mm, only basic body CSG (no offset(), hull(), scale(), assert())
Highlights
- Scalable: Outer dimensions, U-geometry (leg/thickness, bottom, gap) freely selectable
- Clean Edges: per-corner roundings (inner/outer), outer chamfers (stepped)
- Pro Holes: Round or Slot (capsule) with Counterbore or Countersink
- Oval Slot Head: flat Counterbore or stepped Countersink without scale()
- Flexible Placement: Hole insets per side, vertical arrays (count & pitch)
- Inner Top Chamfer: softens edge on upper inner frame
- Groove Mode: generates positive mating part (e.g., milling groove) with selectable clearance
- UX Extras: Anchor options, optional debug guides, echo summary with warnings
- MakerWorld-safe: pure CSG construction, robust parameter clamps
Parameter Overview (Short)
Size & U-Geometry
- outer_width_mm, outer_height_mm, part_height_mm
- leg_thickness_mm (or asymmetric left/right)
- gap_width_mm (gap/inner width), bottom_thickness_mm
Roundings & Chamfers
- Outer: outer_corner_rounding_enable (+ per-Corner optional)
- Inner: inner_corner_rounding_enable (+ per-Corner optional)
- Outer Chamfers top/bottom: top_chamfer_*, bot_chamfer_* (stepped)
- Inner Top Chamfer: inner_top_chamfer_* (stepped)
Holes & Slots
- Shape: hole_shape__0_round__1_slot
- Round: hole_diameter_mm
- Slot: hole_diameter_mm (Minor), slot_length_mm (total length)
- Head (Round & Slot): hole_head_type__0_none__1_counterbore__2_countersink
- Head Dimensions: hole_head_diameter_mm, hole_head_depth_mm
- Slot Head additionally: slot_head_length_mm, slot_sink_steps (fineness for Countersink)
Placement & Arrays
- Inset: hole_inset_mode__0_single__1_per_side, hole_inset_mm or Left/Right
- Vertical: holes_count_per_leg, holes_pitch_z_mm, hole_top_margin_mm
Groove
- output_mode__0_Part__1_Groove
- groove_clearance_enable, groove_clearance_mm
UX
- Anchor: anchor__0_center__1_bottom_front_left__2_bottom_center
- Debug: debug_guides_enable (preview only)
- Console Info: echo_summary_enable
- Resolution: $fn = $preview ? 24 : 48
Common Setups (mm)
- M3 Mount (round, Counterbore)
- hole_shape=0 · hole_diameter=3.2 · head_type=1 · head_D=6 · head_depth=2
- holes_count=1 · hole_inset=2 · top_margin=4
- outer_w=30 · outer_h=20 · gap=10 · leg=3 · bottom=4 · part_h=10
- M4 Mount (round, Counterbore)
- hole_shape=0 · hole_diameter=4.3 · head_type=1 · head_D=8 · head_depth=2.5
- holes_count=1 · hole_inset=2 · top_margin=4
- outer_w=36 · outer_h=22 · gap=12 · leg=3.5 · bottom=4 · part_h=12
- Zip-Tie Slots (oval, flat head)
- hole_shape=1 · hole_diameter=5.2 · slot_length=12
- head_type=1 · slot_head_length=14 · head_D=6 · head_depth=1.5
- holes_count=2 · pitch_z=6 · top_margin=5
- outer_w=40 · outer_h=22 · gap=12 · leg=3 · bottom=4 · part_h=10
- M3 Countersink (round, countersunk)
- hole_shape=0 · hole_diameter=3.2 · head_type=2 · head_D=6 · head_depth=1.8
- Groove/Mating Part (with tolerance)
- output_mode=1 · groove_clearance_enable=1 · groove_clearance=0.2
- Holes off (add_holes_enable=0)
Recommended Edge Settings
- Outer radii: outer_*_enable=1, radius=2.0 (optionally per-Corner)
- Inner radii: inner_*_enable=1, radius=1.5
- Outer Chamfers (visually clean, fast to render):
- top/bot_enable=1 · depth=1.0 · inset=1.0 · steps=3
- Inner Top Chamfer (grippier, deburred):
- enable=1 · depth=0.8 · inset=0.6 · steps=3
Sanity Check (Prevents Failures)
- Hole Inset ≤ Leg Width – Ø/2 – 0.2 mm.
(Our clamps catch this; if "too large", holes automatically shift inward.) - Top Margin ≥ Ø/2 + 0.2 mm.
- Countersink/Counterbore Head Ø ≥ Hole Ø.
- Slot Head Length ≥ Slot Length.
- Chamfer Depths: top_depth + bot_depth < part_height.
Print Notes (short & pragmatic)
- FDM: 0.2 mm layer, 3–4 perimeters, 20–30% infill; small countersinks optionally with 0.16 mm layer.
- Resin: Clean countersinks, but note minimum wall thicknesses (≥1.2–1.5 mm).
License
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.




Comment & Rating (0)