April 30, 2026
Description
A 3D-printable bracket for a horizontal pergola cross bar. One side clamps onto the bar with a tapered bite; the other holds a curtain rod in a side pocket. There are no screws in the part itself—the grip comes from flexing the plastic over the bar and from tuning dimensions in OpenSCAD.
Mirador (pergola bar)
Customizer defaults match a Mirador-style cross member: about 15.5 mm wide where the taper grips. Other pergolas or extrusions will differ—measure your bar and adjust outer bar width, indent height, and clamping offset if the snap-on fit is too loose or too tight.
Kenney KN90001 (curtain rod)
Rod pocket defaults are set for the author’s install with the Kenney KN90001 Weaver indoor/outdoor curtain rod (72–144 in, 1 in nominal steel, cap-end style). Product page: https://www.amazon.com/dp/B06XHLRLTH
Kenney and retailers are third parties; this model is not affiliated with them. For any other rod, measure the section that sits in the bracket and set pocket width and pocket depths in the Customizer.
Parametric (OpenSCAD Customizer)
You can change bar width, taper height, shelf width, wall thickness, pocket size, and tower height without editing the geometry code. Source uses BOSL2 (include <BOSL2/std.scad>). Install BOSL2 and add it to OpenSCAD’s library path: https://github.com/revarbat/BOSL2
Printing
Place the part on the bed with the largest flat face down (the model’s bottom in the default OpenSCAD export). Use enough walls/perimeters for strength. For outdoor sun and heat, PETG or ASA are reasonable material choices.
Tips
If the bar fit is loose, increase clamping offset slightly; if it will not snap on or is too tight, decrease it. For the rod slot, use a pocket width slightly larger than the measured outer size of the rod at the bracket, plus your usual clearance for layer shrink.
License:
Standard Digital File License