print-bench

nuggs-elbow

A first-party NUGGS module: a curved (elbow) tube that routes an 80 mm-bore run around a corner, carrying the genderless quarter-turn NUGGS port (nuggs_neck()/nuggs_port() from lib/nuggs-coupling.scad) on each end, joined by a bent tube shell with a continuous, smooth bore through the bend (welfare non-negotiable). It is a consumer of the port standard, exactly like designs/nuggs: it builds one cfg with nuggs_cfg() defaults and never redefines a coupling number.

Overview

Three-quarter view of the 45° elbow, inlet flange down

Hero Detail 1 / 4

Three-quarter view of the 45° elbow, inlet flange down

A curved N.U.G.G.S. module that routes an 80 mm-bore hamster tunnel run around a corner. It carries the genderless quarter-turn NUGGS port on each end, so it drops into any run between two other modules — a straight, a bulkhead, another elbow — and twists shut a quarter turn either way. The bore stays a continuous, smooth 80 mm circle through the bend: a NUGGS welfare non-negotiable, because a live animal travels this corner and any interior ledge or step is a hazard.

The default is a 45° elbow — the supportless, welfare-clean maximum for a vertically-printed enclosed bore (see Print settings). A full 90° corner is two of these coupled; because every NUGGS face mates with every other, a pair makes any 0–90° turn in any plane.

What you get

One printable part: a bent tube with a NUGGS port at each end, printed as a single piece.

  • elbow — the 45° elbow (approx. 134 × 95 × 161 mm envelope; ~126 g at the slicer defaults below). Inherits every coupling dimension from the NUGGS standard (lib/nuggs-coupling.scad): 80 mm bore, 84.8 mm tube OD, 96.8 mm coupling-ring OD.

The pair and cutaway views (-D part="pair", -D part="cutaway") are review previews, not separate prints.

The elbow is designed to print standing on its inlet flange, the same orientation as the NUGGS straight — the three coupling-sector tips are the bed contact.

  • Material: PLA or PETG.
  • Layer height: 0.2 mm.
  • Infill: 15–20 % (walls carry the load; the tube is 2.4 mm / 6 perimeters).
  • Supports: none for the default 45° bend. This is the whole reason the default turn is 45°: a vertically-printed enclosed bore has a ~45° overhang ceiling, so at 45° the bore ceiling holds itself up and no support ever lands inside the bore (which the smooth-bore welfare rule forbids). Turning bend_angle past 45° needs support inside the bore — don't, unless you have a reason to accept it; couple two 45° elbows for a 90° corner instead.
  • Orientation: inlet flange down, bore vertical at the inlet. printcheck confirms this is as good as any axis-aligned alternative.
  • Brim: recommended. The part stands on three sector tips, so the first-layer contact patch is small (~530 mm²); a brim keeps it planted.

At the committed quality the part scores 76/100 — printable with caveats in printcheck (watertight, one body, no critical issues; the caveats are the 2 % bend-belly overhang and the small bed-contact patch, both inherent and both addressed above).

Parameters

All parameters are at the top of nuggs-elbow.scad, grouped in Customizer sections; override on the command line with -D 'bend_angle=60'.

ParameterDefaultWhat it does
bend_angle45°Turn angle of the elbow. 45° is the supportless maximum; up to 90° is allowed but needs bore support.
bend_radius120 mmCenterline radius of the bend (~1.5× bore). Gentler = shallower overhang; the bore stays a full circle regardless.
port_stub16 mmStraight full-round shell each port fuses to, past the coupling collar (also a short grip).
bore_d80 mmInternal bore, the headline number. A NUGGS-standard value; asserted ≥ 70 mm (welfare floor).
wall2.4 mmTube shell thickness (6 perimeters at a 0.4 mm nozzle).
port_tol0.30 mmThe coupling fit clearance — owned by the NUGGS standard, tuned on the nuggs coupon, not here.

The coupling parameters (lug_r, port_proj, n_lug, lug_deg, twist_deg, …) are the NUGGS standard defaults: change them and this elbow no longer mates with other NUGGS modules. They are exposed for the Customizer, not for tuning.

Assembly & use

  • Into a run: push a port onto any other NUGGS port and twist a quarter turn either way; the bayonet ribs seat. The joint is genderless, so orientation never has to be got right, and it is hand-releasable.
  • A 90° corner: couple two elbows. The second one's clocking is free (the quarter-turn joint retains at any of its clockings), so rotate it to aim the outlet wherever the run needs to go.
  • Welfare: this elbow is a bend, and per the NUGGS charter a bend is not a break in an enclosed run — it does not reset the per-run length limit. Count it as continuously enclosed bore when you plan a run length (see designs/nuggs and its NOTES.md for the run-length rule and its source).

Workbench

View in 3D

Inspect the real geometry — drag to rotate, scroll to zoom. The model is rendered from this design's own source at its default settings, right in your browser; nothing is uploaded.

Make it fit

This design has 21 tunable parameters. Change them and render your own STL — OpenSCAD runs in your browser, so nothing is uploaded and nothing is installed.

An STL you configure here is ungated. The files this project ships have each passed a printability check and a PrusaSlicer test-slice; your variant has not. Treat it as a starting point, and print the fit coupon first if the design has one.

History

History of work together

  1. 2026-08-29 commit · git

    render.sh: emit the --render form the installed OpenSCAD build accepts (fixes the render camera opt) (#408)

    Shai Perednik shai
  2. 2026-08-29 commit · git

    Fix teardrop_hole() point orientation to +Z as documented; pin it with a mates manifest (#424)

    Shai Perednik shai
  3. 2026-08-24 commit · git

    Add the missing product-manager characters to the People page (#381)

    Shai Perednik shai
  4. 2026-08-11 commit · git

    nuggs-elbow: a 45° curved NUGGS corner module (continuous smooth bore) (#188)

    Shai Perednik shai
  5. 2026-08-10 decision · PM.md

    bend_angle default 45°, 90° = two coupled elbows

    Supportless enclosed-bore ceiling (#34); protects N2/N3

    Nadia nadia
  6. 2026-08-10 decision · PM.md

    Tube built as one BOSL2 path_sweep; ports fuse to a 16 mm port_stub

    Three hand-rolled builds (hull loft, cylinder+rotate_extrude, overlapping cylinders) passed CGAL but failed CI's Manifold backend (19 shells / non-manifold). A single swept polyhedron has no junction to fail.

    Nadia nadia
  7. 2026-08-10 decision · PM.md

    Brief's ~30 mm lead-in dropped to a 16 mm port stub

    Non-material, non-blocking assumption; the Manifold-clean single-sweep construction has no straight leg fused to the bend. Amended on #116.

    Nadia nadia
  8. 2026-08-10 decision · PM.md

    No new coupon

    No new mating clearance; the port fit is the standard's, gated by the lib

    Nadia nadia