Research · research/compliant-mechanisms.md · Markdown

Compliant mechanisms and single-part joints: references, equations, allowables, process effects (2026-10-31)

For Valpatel/cad-agent #94 (compliant-mechanism engineer), #95 (calculators), #97 (pitfalls), #99 (process profiles). Extends research/landscape.md (2026-10-24) and research/simulation-tools.md (2026-10-26). Neither covers this field.

How this was checked. "Read" means the text was pulled from the PDF or page on 2026-10-31 (pdftotext or the page's own Markdown) and the number is quoted from it. (s) means the number comes only from a search-engine snippet of the page, not from reading the page. (u) means unverified: from memory, or from a source that could not be opened. [derived] means I calculated it from cited inputs; the method is stated beside it. Citation keys such as [BAY] are listed in §10.

1. Feature catalogue

Feature Use it when Governing equations / reference Typical failure modes Process notes
Cantilever snap: constant section, tapered to h/2, or width tapered to b/4 One-off or occasional assembly of a lid, cover or panel; you want the joint stress-free once seated Bayer Table 1 [BAY]: y = K·ε·l²/h, P = b·h²·E_s·ε/(6l), W = P(μ+tanα)/(1−μ·tanα). DuPont: S = FLc/I, y = FL³/3EI [DUP]. See §2 Root crack at a sharp fillet; strain over the allowable because the undercut was guessed; creep loss of retention when left deflected; weld line at the hook [DUP] Moulded: a 90° undercut needs a side core or a slot in the part [DUP]. FDM: deflect within the layers and never stack the beam in Z [KLA][HUBS-SF]
U-shaped / L-shaped snap Not enough straight length for the strain: folding the arm makes it longer in the same envelope Bayer recommends a curved-beam analysis and gives no closed form [BAY]. BASF manual pp. V-1…V-4 [BASF] (s). A Fusion add-in implements U-shaped and overlay snaps [F360SF] Strain peaks at the inner radius of the U; the fold becomes a stress raiser FDM: the U must lie flat in XY
Torsion snap Release by pressing a lever; the hook rotates rather than bends φ_pm[°] = (180/π)·γ_pm·l/r; γ_pm ≈ (1+ν)·ε_pm ≈ 1.35·ε_pm; P₁l₁ = P₂l₂ = γ·G·I_p/r, with I_p = πr⁴/2 for a round bar [BAY] (the PDF text is partly garbled; the form is standard torsion) Shear fracture of the torsion bar; posts too weak FDM: run the bar along a layer; posts in Z are weak in bending
Annular snap Round, rotationally symmetric parts: caps, lamp covers, bearings y_pm = ε_pm·d with one part rigid (halve the strain if both parts are equally flexible); P = y·d·E_s·X; X_N = 0.62·√[(d₀/d−1)/(d₀/d+1)]/{[(d₀/d)²+1]/[(d₀/d)²−1]+ν} (the square root is on the rendered page; pdftotext drops it; lamp cover: 1.69e-3, Bayer 1.7e-3); a groove far from the tube end needs up to 3× the force [BAY]. DuPont: hub-expansion force from interference stress and geometry factor W [DUP] Hoop crack at a weld line [DUP]; an inseparable return angle needs a split-cavity mould [BAY] FDM: a full ring is too stiff, so slot the collar into fingers [F360SF]
Living hinge Lid and box in one part, many cycles, moulded PP/PE Moulded PP: 0.012 in (0.30 mm) thick, about 0.060 in (1.5 mm) spacing, a 0.008 in reduction on the side it folds towards, and a 0.030 in radius on the tension side [PL-LH]. Land 1.5 mm, thickness 0.2–0.4 mm [PT-LH] (s). Strain ε = t·θ/(2L) under uniform bending [derived] Cracks at once if not flexed while warm (K-resin) [PL-LH]; knit line across the hinge [PL-LH] A 180° fold of 0.3 mm over 1.5 mm reaches ε ≈ 31 % [derived], which only orienting PP/PE survives. FDM PLA/PETG hinges are short-life: print them flat with lines across the hinge axis (u). BOSL2 living_hinge_mask models a printed hinge by layer height [BOSL2]
Leaf flexure / parallel-guided stage Short-stroke guidance without backlash: probe mounts, stages, grippers Small deflection: one leaf K_θ = EI/L under end moment; a fixed-guided leaf k = 12EI/L³, so two leaves give k = 24EI/L³ and σ_max = 3E·t·δ/L² [derived, beam theory]. Large deflection: PRBM γ = 0.85, K_Θ ≈ 2.65 for end force [PRB][CHEN-PRB] (s). References: Howell [HOW], Smith [SMITH] Fatigue at the clamp; buckling under axial load; parasitic motion FDM: leaves in XY, at least 2 perimeters, no infill in the leaf (u)
Notch hinge (circular, elliptical) Precision pivots with small rotation Paros & Weisbord 1965, simplified (t ≪ R): θ/M ≈ 9πR^½ / (2E·b·t^{5/2}) (u: the constant was not checked against the 1965 paper; see Lobontiu [LOB]) [PW] Stress concentration at the throat limits the angle to a few degrees Needs isotropic, notch-tough material; poor in FDM (the notch sits across layers) (u)
Cross-axis flexural pivot (CAFP) / cross-spring Larger rotation than a notch, with less centre shift than a single leaf Haringx 1949: the pivot point is near where the leaves cross and shifts with angle [HAR]. PRBM/CBCM model of CAFPs [CAFP]. The often-quoted K ≈ 8EI/L for leaves crossing at mid-length is (u) Centre shift; stiffness depends on load direction [HAR] FDM: leaves that cross in the XY plane print. Leaves crossing in Z need bridges (u)
LET joint (lamina emergent torsion) A rotational joint cut from flat sheet: laser-cut, waterjet or planar-printed Jacobsen, Chen, Howell, Magleby 2009 give the force-deflection equations: torsion bars and bending segments combined as series/parallel springs [LET]. The equations were not read here (the PDF is bot-blocked): (u) Parasitic motion, so the off-axis stiffness is low [LET]; torsion-bar shear Planar by design: printed flat in XY, or cut from sheet. BYU LET-joint chair model [BYU]
Bistable latch (curved beam) Two stable states without a spring: switches, latches Qiu cosine double beam, centrally clamped, second mode constrained: bistable when Q = h/t > 2.31; for Q ≥ 6, f_top ≈ 740·EIh/l³, f_bot ≈ 370·EIh/l³, d_mid = 1.33h, d_top ≈ 0.16h, d_bot ≈ 1.92h [QIU] (read) Second-mode buckling with only one beam; asymmetric clamping; stress relaxation flattens the curve FDM: the beams must lie in XY; the amplitude h must be ≥ several line widths
Detent (cantilever and bump, ball and spring) Indexed positions, holding a lid open Cantilever equations from §2. Holding force uses the same W formula with the return angle α′ in place of α [BAY][derived] The bump wears; the holding force drifts with friction (the μ ranges in §4) Printed bumps on sloped faces chatter across the stair-steps [KLA]
Spring tab (printed cantilever or serpentine) Preload against a part, anti-rattle, battery contacts Cantilever formulas; design for sustained strain well below the snap allowable (u) Creep: a preload carried by a printed polymer relaxes. No study of permanently deflected printed snaps was found (§9) A metal spring is safer for sustained load. static74's skill offers a printed/metal choice for every spring [S74]
Crush / press ribs A press fit into a drafted or variable hole without tight tolerance At least three undrafted ribs along the hole [PL-CR]; rib about 2.5 mm diameter with about 0.25 mm interference [RD-CR] (s) Ribs shear off; hoop crack in a thin boss Printed: no published values were found, so print a coupon. FDM ribs in Z are strong in shear
Print-in-place joint Hinges and chains that come off the bed already assembled XY clearance 0.2–0.4 mm for a 0.4 mm nozzle (forum and third-party guides, not official) [PIP]; FDM 0.5 mm, SLA/SLS/MJF 0.3 mm [HUBS-SF]. PrusaSlicer merges bodies closer than about 0.5 mm unless the slice-gap closing radius is changed [PIP-PS] (s) Fused joint; elephant's foot locks the first layer Make Z gaps a multiple of the layer height [PIP] (s). b123d-print's gap check fails solids closer than pip_clearance [B123]
Sheet-metal spring clip / tab A metal latch or ground spring cut and bent from tempered strip Beam formulas with the yield of the temper: 301 full-hard has UTS ≥ 1276 MPa, yield ≥ 965 MPa, elongation ≥ 9 % [ULB] (s). Associated Spring flat-spring design stresses (u, not found) Cracks at the bend in hard temper; fatigue at the root Protolabs: features within about 4T of a bend distort; tab width ≥ max(2T, 3.2 mm) [PL-SM]. Bend radius against temper (u)

2. Snap-fit equations and worked examples for tests (Bayer guide, read)

Source [BAY]: Bayer MaterialScience, Snap-Fit Joints for Plastics – A Design Guide (26 pp). Covestro is the successor company and the issue cites the Covestro edition [COV]; the copy read here is the Bayer-branded PDF, and the Covestro edition prints the same equations and worked examples. Cite them, do not redistribute them.

Gold test case Inputs Expected output [BAY]
Example I, tapered hook (design 2, rectangular section) Makrolon PC; l = 19 mm; b = 9.5 mm; y = 2.4 mm; α = 30°; ε_pm = 4 % with design ε = ½ε_pm = 2 %; E_s(2 %) = 1815 MPa; μ = 0.5×1.2 = 0.6 h = 1.09·0.02·19²/2.4 = 3.28 mm; P = 32.5 N; (μ+tanα)/(1−μ·tanα) = 1.8; W = 58.5 N
Example II, ring-segment hook (design 2, shape C) Bayblend PC/ABS, frequent separation: ε = 0.6×2.5 % = 1.5 %; l = 25.4; r₂ = 20; r₁ = 17.5; h = 2.5; θ = 75°; K₂ = 2.67 (Fig. 10) y = 1.64·K₂·ε·l²/r₂ = 2.11 mm. Cross-check: c₂ = 2.52 mm, y = 0.55·ε·l²/c = 2.11 mm
Annular lamp cover Makrolon; d = 200; t = 2.5; undercut 2×1 mm (equal stiffness); α = 45° taken as 30° effective; E_s = 2200 MPa; d₀/d = 1.025 → X_N = 1.7e-3 ε = 0.5 %; P = 748 N; W = 748×1.8 = 1346 N

These three cases are the acceptance tests the issue asks for ("calculators reproduce the design guide's worked examples").

3. Allowable strain tables (moulded resin)

Bayer Table 2 [BAY] (read): short-term strain limits at 23 °C for a single assembly; use about 60 % for frequent separation.

Resin Single Frequent (×0.6)
Apec high-heat PC 4 % 2.4 %
Bayblend PC/ABS 2.5 % 1.5 %
Makroblend PC blends 3.5 % 2.1 %
Makrolon PC 4 % 2.4 %
Makrolon PC, 10 % glass 2.2 % 1.3 %
Makrolon PC, 20 % glass 2.0 % 1.2 %

DuPont Table 10.06 [DUP] (read): suggested allowable strain for lug-type snap fits.

Resin Used once (new material) Used frequently
Delrin 100 (POM) 8 % 2–4 %
Delrin 500 (POM) 6 % 2–3 %
Zytel 101 (PA66), dry 4 % 2 %
Zytel 101, 50 % RH 6 % 3 %
Zytel GR (glass), dry 0.8–1.2 % 0.5–0.7 %
Zytel GR, 50 % RH 1.5–2.0 % 1.0 %
Rynite PET GR 1 % 0.5 %
Crastin PBT GR 1.2 % 0.6 %
Hytrel (TPC elastomer) 20 % 10 %

4. Friction coefficients (Bayer Table 3, plastic on steel; same-material factor in brackets) [BAY] (read)

PTFE 0.12–0.22 · PE rigid 0.20–0.25 (×2.0) · PP 0.25–0.30 (×1.5) · POM 0.20–0.35 (×1.5) · PA 0.30–0.40 (×1.5) · PBT 0.35–0.40 · PS 0.40–0.50 (×1.2) · SAN 0.45–0.55 · PC 0.45–0.55 (×1.2) · PMMA 0.50–0.60 (×1.2) · ABS 0.50–0.65 (×1.2) · PE flexible 0.55–0.60 (×1.2) · PVC 0.55–0.60 (×1.0).

5. FDM anisotropy: in-plane (X-Y) vs inter-layer (Z) data from manufacturer TDS (read)

All specimens were 100 % infill, ISO 527 / GB/T 1040. Z means pulled across the layers.

Material (TDS version) E XY / Z (MPa) UTS XY / Z (MPa) Elong. at break XY / Z (%) Z/XY strength Z/XY strain Source
PLA Basic, Bambu (V2.0) 2680 / 2160 39 / 35 12.2 / 7.5 0.90 0.61 [BBL-PLA]
PLA Matte, Bambu (V2.0) 1960 / 1670 32 / 25 32.8 / 4.8 0.78 0.15 [BBL-PLAM]
PolyLite PLA, Polymaker (V5.4) 3427 / 3065 52.3 / 40.5 6.3 / 1.8 0.77 0.29 [PM-PLA]
PETG Basic, Bambu (V2.0) 1460 / 1120 48 / 39 11.2 / 5.7 0.81 0.51 [BBL-PETG]
PETG HF, Bambu (V1.0) 1810 / 1540 34 / 23 8.6 / 5.1 0.68 0.59 [BBL-PETGHF]
PETG-CF, Bambu (V2.0) 2460 / 1340 59 / 38 10.4 / 4.7 0.64 0.45 [BBL-PETGCF]
PolyLite PETG, Polymaker (V5.4) 2117 / 1899 50.8 / 42.8 8.4 / 3.3 0.84 0.39 [PM-PETG]
ASA, Bambu (V2.0; annealed and dried 80 °C/12 h) 2450 / 2120 52 / 35 9.2 / 4.6 0.67 0.50 [BBL-ASA]
PolyLite ASA, Polymaker (V5.4) 2379 / 1965 43.8 / 32 6.7 / 1.65 0.73 0.25 [PM-ASA]
PolyMide CoPA, dry (annealed 80 °C/6 h) 2703 / 2209 78.0 / 45.8 12.7 / 1.3 0.59 0.10 [PM-COPA]
PolyMide CoPA, wet (6.16 % moisture) 724 / 660 34.3 / 13.7 13.2 / 1.7 0.40 0.13 [PM-COPA]
Fiberon PA6-CF20, dry (annealed 100 °C/16 h; V1.1) 8637 / 3760 109.3 / 54.0 2.1 / 1.9 0.49 0.90 [PM-PA6CF]
Fiberon PA6-CF20, wet 2508 / 1056 54.7 / 25.5 7.0 / 6.7 0.47 0.96 [PM-PA6CF]
PA6-CF, Bambu — — 5.8 / 3.7 — 0.64 [BBL-PA6CF] (s; the PDF now returns 404)
TPU 95A HF, Bambu (V1.0) 9.8 / 7.4 27.3 / 22.3 >650 / >480 0.82 ≥0.74 [BBL-TPU]
PolyFlex TPU95, Polymaker (V5.4) 33.6 XY (ISO 37) — 551 XY — no Z data [PM-TPU]

Reading the table:

HP Jet Fusion 5200 (MJF), XY / Z [HP] (read):

Material UTS (MPa) Elong. at yield (%) Elong. at break (%)
PA 12 50 / 50 10 / 8 17 / 9
PA 11 54 / 54 25 / 20 40 / 25
PA 12 GB 31 / 30 8 / 4 —
PP 29 / 29 9.5 / 9.5 20 / 14

MJF is isotropic in strength but not in strain.

SLA (Formlabs).

6. Printed allowable strain: a starting rule to be confirmed by coupons [derived]

Rule:

  1. Single assembly: ε_single = min(0.7·UTS/E, 0.5·ε_break), applied separately to XY and Z values. 0.7·σ/E is Bayer's amorphous rule using UTS/E as a lower bound on the strain at maximum stress. 0.5·ε_break is Bayer's no-yield rule.
  2. Repeated assembly: ε_repeat = 0.6·ε_single.
  3. Never exceed the moulded value for the same polymer family (§3).
  4. In Z, use min(Z, XY).
  5. Bayer's own example designs at ½ε_pm, which is a factor of 2.
Material (TDS) XY single / repeat Z single / repeat static74 skill, in-plane single / repeat / across layers [S74] AgentCAD table, design value before its printing derate [AGCAD]
PLA (Polymaker) 1.1 / 0.6 % 0.9 / 0.5 % 2.0 / 1.2 / ≤0.5 % 1.2 %
PLA Basic (Bambu) 1.0 / 0.6 % 1.0 / 0.6 % — —
PETG (Polymaker) 1.7 / 1.0 % 1.6 / 0.95 % 3.6 / 2.1 / ≤1.0 % 3.0 %
PETG Basic (Bambu) 2.3 / 1.4 % 2.3 / 1.4 % — —
PETG HF (Bambu) 1.3 / 0.8 % 1.0 / 0.6 % — —
ASA (Polymaker) 1.3 / 0.8 % 0.8 / 0.5 % 2.0 / 1.2 / 0.3–1.0 % —
ASA (Bambu) 1.5 / 0.9 % 1.2 / 0.7 % — —
CoPA, dry (Polymaker) 2.0 / 1.2 % 0.65 / 0.4 % 3–4 / 2 / ≤0.4 % PA 6 % (moulded basis)
CoPA, wet 3.3 / 2.0 % 0.85 / 0.5 % — —
PA6-CF20, dry 0.9 / 0.5 % 0.9 / 0.5 % — —
TPU 95A strain does not govern; size for force and retention — ≥10 % —

7. How the process changes each feature

Process Changes Key numbers
FDM Anisotropic strain (§5); stair-step on slopes (ratchet feel across the steps) [KLA]; walls come in whole perimeters [S74]; bridges sag; creep in PLA (u) Clearance 0.5 mm for snaps [HUBS-SF]; print-in-place 0.2–0.4 mm XY [PIP]; overhang about 45°, bridges under 5 mm sag least [HUBS-FDM]
SLS / MJF Near-isotropic strength with lower Z strain [HP]; no supports; powder must escape; PA12 picks up moisture Clearance 0.3 mm; MJF root ≥ 1 mm [HUBS-SF]
SLA Choose a tough or durable resin, because standard resins are brittle [HUBS-SF]; post-cure changes the properties Tough 2000 is not for living hinges [FL-T2000]
Injection moulding Isotropic but with weld lines [DUP]; undercuts need side actions or slots [DUP]; draft; fillet t/2 [DUP]; flex the hinge warm off the press [PL-LH]; the annular undercut must survive ejection [BAY] Allowables in §3; draft 0.5° on vertical faces, 2° in most cases, 3° minimum with light texture and 5° or more with heavier texture (PM-T2), 3° minimum on shut-offs [PL-IM]
Laser-cut sheet / plastic Planar flexures (LET, kerf-pattern hinges) [LET][LH-INK] Hole ≥ T; edge distance 1.574 mm for T ≤ 0.914 mm, else 3.175 mm [PL-SM]
Bent sheet metal Spring temper vs formability; relief and edge distances Flange ≥ 4T; features within about 4T of a bend distort; hem ID ≥ T with a 6T return [PL-SM]; hole-to-bend ≥ 2T + R [BD-CHK]

8. Failure modes that become pitfall-catalogue rows (#97)

Failure Deterministic check candidate
Strain at the root fillet over the allowable Calculator: ε(y, l, h, taper) ≤ derated ε_allow(material, process, orientation, cycles); flag a fillet under max(0.38 mm, 0.5·h) [BAY][HUBS-SF]
Snap beam bending across layer lines Geometry: the beam's long axis or bending-plane normal against the print-rotation Z; fail when the bending strain direction has a Z component above a threshold [KLA]
Permanently loaded snap or spring tab (creep) Assembly state: residual deflection after seating > 0 means "sustained", which needs PETG/ASA/PA or metal, and a stress-relaxation note (u)
Undercut that cannot be moulded or printed Moulding: undercut faces against the pull direction (cf. the dfm-agent approach [DFMAG]). FDM: the hook overhang angle in print orientation
Print-in-place gap too small, or merged by the slicer Minimum distance between solids of one part ≥ pip_clearance [B123]; Z gaps an integer number of layers [PIP]
Living hinge in a material or process that cannot take ε = tθ/2L Calculator plus a material whitelist (PP/PE moulded; TPU or PP printed) [PL-LH]
Friction assumption (μ) unstated Lint: every W calculation names its μ source row (§4)

9. Open-source calculators and libraries

Project Licence Activity What it implements Use
BelfrySCAD/BOSL2 BSD-2-Clause push 2026-10-30, 2441★ snap_pin/snap_pin_socket, rabbit_clip, half_joiner, dovetail, living_hinge_mask (layer-height aware), knuckle_hinge, snap_lock/snap_socket, apply_folding_hinges_and_snaps Geometry ideas; port shapes to CadQuery (OpenSCAD runtime not needed)
dwragon/Fusion360SnapFitGenerator MPL-2.0 (LICENSE file; GitHub shows NOASSERTION) created 2026-10-24, v1.1.0, 18 commits Fusion add-in for FDM enclosures: cantilever, overlay, U-shaped, torsion and annular snaps; material presets (thickness, engagement, clearance, allowable strain, E); detachable 60° vs permanent 90° return angle Best reference for parameter UX; MPL is file-level copyleft, so reimplement rather than copy
Mechanical-Python/SnapFit_Calculator LGPL-2.1 last push 2022-03-16 Cantilever, annular and torsion calculator; ships .exe/.7z binaries Skip (stale, binaries)
n3r/AgentCAD skills/snap-fits Apache-2.0 push 2026-08-26 Skill, material_strain.json, cantilever_lid.py snippet Data format idea; values need checking (§3)
static74/3dp-compliant-mechanisms MIT created 2026-10-26, 0★ Skill with tagged allowables, clearances and 3 evals; FDM only See agent-toolkits note
aatmdelissen/pyMOTO MIT (simulation-tools.md) ex_compliant_mechanism*.py topology-optimisation examples Adopt for compliant topology optimisation (already the recommended TO engine)
ninja7v/TopoptComec MIT push 2026-10-31, 18★ 2D/3D topology optimisation of compliant mechanisms, GUI + CLI Watch
GazzolaLab/PyElastica MIT push 2026-10-25, 363★ Cosserat-rod large-deflection beams Optional fast large-deflection check of slender arms
artofscience/flexures GPL-3.0 2023 MATLAB/COMSOL/STL flexure material Reference only
BYU CMR software page [BYU] no licence stated — MATLAB/XLS large-deflection beam scripts for the Handbook examples Equations only; ask before copying
CameronBrooks11/snapfit-scad (MIT), nohkumado/openscad_snapfit (GPL-3.0), jmj3d/snapmates (CERN-OHL-W) as listed small Parametric snap geometry, no strain maths Skip
Laser living hinges: buxtronix/living-hinge (GPL-3.0), Gernreich/living-hinge (CC0) [LH-INK] as listed 2024 / 2026-10 Kerf-pattern SVG generators CC0 one is freely reusable
skyneticist/flexure-hinge-calculator MIT 1★ HTML/JS hinge thickness and length Skip

No maintained Python or JS library implements the Bayer/BASF/DuPont snap-fit calculations, PRBM flexures or Qiu bistable beams with tests. cad-agent #95 has to build this; it is small (§2 equations plus tables), and the §2 gold cases are its tests.

10. References

Could not verify: