Fusion Guide
intermediate9 min read

User Parameters and Equations

Design a small set of user parameters and equations that drive a whole model, with naming rules, dependency chains and examples.

User Parameters and Equations#

Overview#

A user parameter is a named value you define yourself. An equation is an expression that computes a parameter or dimension from others. Together they let you describe a part by a few meaningful inputs ("box length, wall thickness, screw size") and derive everything else.

The pattern: define inputs (independent parameters) at the top, and derived parameters (equations) below. Dimensions in sketches and features then reference these names.

Example for a project box:

NameExpressionKind
box_l80 mminput
box_w50 mminput
box_h30 mminput
wall2 mminput
screw_d3 mminput
boss_odscrew_d * 2.5derived
inner_lbox_l - 2 * wallderived
inner_wbox_w - 2 * wallderived
fillet_rwall * 1.5derived
n_screws4input (no units)

Change box_l to 100 mm and everything updates: inner length, bosses, fillets.

Where to find it#

  • Modify > Change Parameters (or S and search).
  • Any numeric field in a dialog or sketch dimension accepts an expression. Type a name or formula directly.
  • In a field, start typing a parameter name and Fusion offers matches; pick one. Typing Name=value in a parametric field creates a new parameter on the fly and adds it to Favorites (per Autodesk's help).

Step by step#

Build the parameter table first#

  1. Open Change Parameters and click + User Parameter (Add User Parameter).
  2. Name box_l, unit mm, expression 80 mm (typing the unit avoids any ambiguity about how a bare number is read). Comment: "overall length".
  3. Repeat for box_w, box_h, wall, screw_d.
  4. Add inner_l with expression box_l - 2 * wall. Check the Value column shows 76 mm.
  5. Add n_screws with Unit "No Unit" and expression 4.

Drive sketch dimensions#

  1. Sketch a rectangle on the XY plane, anchoring one corner to the origin.
  2. Press D (Sketch Dimension). Click the horizontal edge, place the dimension; in the value box type box_l and press Enter.
  3. Do the same for the vertical edge with box_w.
  4. Finish Sketch. Extrude with distance box_h.
  5. Shell with thickness wall.

The dimension is now driven by the parameter; you can click the field to switch between the expression and its value.

Drive counts and angles#

  1. In a Circular Pattern dialog, set Quantity to n_screws.
  2. Angles can use user parameters of unit deg.

Chain equations#

  1. Create boss_od = screw_d * 2.5.
  2. Create boss_h = box_h - wall - 1 mm.
  3. Use these in sketches for the bosses. Any change to screw_d cascades.

Use conditional-like patterns#

Fusion expressions are not a full programming language, but Autodesk's reference lists if(condition; true_result; false_result) with and, or, not and the comparison operators, so real conditionals are available. Function arguments are separated with a semicolon (a comma conflicts with the decimal delimiter in some locales). Examples:

  • wall_safe = max(wall; 1.2 mm) guarantees a minimum.
  • fillet_ok = min(fillet_r; wall * 2) caps a fillet.
  • boss_od = if(screw_d > 4 mm; screw_d * 2; screw_d * 2.5) switches the ratio for large screws.
  • rows = if(box_l > 100 mm; 3; 2) changes a pattern count (set the parameter to No Unit).

Options reference#

ElementWhat it doesNotes
Name rulesUnique; the allowed symbols listed in Autodesk's reference are underscore, double quote, dollar sign, degree sign and micro signAvoid reserved words, function names and unit names
ExpressionNumber, unit, parameter names, operators+ - * / ^ and parentheses; functions allowed
UnitDefines the parameter's typePick "No Unit" for counts and ratios
CommentFree textUse it for rationale
DependencyParameters referencing othersAvoid circular references (general guidance)
RenameUpdates referencesVerify derived/external links after
Reference by namebox_l inside any dimension fieldTyping names beats typing numbers

Tips and pitfalls#

Tip: Make a small set of high-level inputs, 5 to 10, and compute the rest. Dozens of independent parameters are just a different kind of mess.

Tip: Use ratio parameters like fillet_r = wall * 1.5, so geometry scales together. Hard-coded numbers rot.

Tip: Group related parameters by name prefix (screw_d, screw_len, screw_head_d). Sorting then groups them naturally.

Warning: An equation that mixes units wrongly (for example wall + 5 deg) will fail. Divide a length by a length to get a unitless ratio.

Warning: Dividing by zero or taking a square root of a negative gives an error that can cascade into the model. Note that sqrt takes a unitless argument in Autodesk's reference.

Warning: Parameters are global to the design but not automatically shared across designs. Use Derive or Configurations when you need to share.

Warning: Avoid names that match a function or unit (for example m, min, max, in); this is general advice, and descriptive names are safer.

Design guidelines:

  • Intent over numbers. A clearance parameter used by every mating feature beats ten separate 0.2 mm dimensions.
  • Tolerance parameters. For 3D printing, keep tol = 0.2 mm and add it to holes: hole_d = screw_d + tol.
  • Single source of truth. Never type the same number into two dimensions; reference one parameter.
  • Avoid over-parameterization. Parameters for values nobody will change add noise. Cosmetic fillets can stay as plain numbers.
  • Check limits. Test the extremes of each input before relying on it; some combinations produce invalid geometry.

Parameters from spreadsheets#

Fusion can export user parameters to CSV (Export Parameters) and import them back (Import Parameters) from the Change Parameters dialog, so you can edit a parameter set in a table editor or reuse it in another design. Export first and use the file as a template so the header is correct. For many variants of one design, Configurations is usually the better route (see the Configurations page).

Designing the parameter set#

A good parameter set has three layers, and the order in the dialog should follow it.

LayerExamplesRule
Requirementsbox_l, box_w, wall, screw_d, n_screwsTyped by a person; have comments with units and source
Standards and tolerancestol, edge_min, clearanceChange rarely; shared by many features
Derivedinner_l, boss_od, fillet_rEquations only; never typed over

Put requirements first, because they are what a colleague will edit. If a derived value needs overriding, add an input (boss_od_override) and use if to choose, rather than typing a number over the equation.

Worked example: fastener fits#

For an M4 screw, screw_d = 4 mm, tol = 0.2 mm (printed) and head_d = 7 mm:

ParameterExpressionValue
clear_dscrew_d + tol * 24.4 mm
cbore_dhead_d + tol * 27.4 mm
cbore_hscrew_head_h + tol4.2 mm (head height 4 mm)
tap_dscrew_d * 0.83.2 mm (plastic self-tap approximation)
boss_odmax(screw_d * 2.5; tap_d + 2 * wall)10 mm with a 2 mm wall
boss_hbox_h - wall - 1 mm27 mm for a 30 mm box

Change screw_d to 3 mm and every one of them recalculates: clear_d 3.4 mm, cbore_d 7.4 mm (head set separately), tap_d 2.4 mm, boss_od 7.5 mm or 2.4 + 4 = 6.4 mm, whichever is larger, giving 7.5 mm. The max keeps the boss from becoming too thin.

Naming and organization#

  • Prefix families: screw_d, screw_len, screw_head_d, boss_od, boss_h. Alphabetical sorting groups them.
  • Suffix units where it helps: rot_ang for angles, n_ for counts (n_screws).
  • Do not use names that look like units or functions. A parameter called min or in produces confusing results.
  • Text parameters (Unit = Text) can drive labels: label = Box {box_l} x {box_w}.

Dependency order#

Parameters are evaluated from the references they contain; circular references cannot be resolved, so a = b + 1 and b = a - 1 cannot sensibly coexist (general guidance). Build chains in one direction: inputs, then standards, then derived. When you need two-way behavior (set a result and compute the input), create a separate input and compute the other from it.

Testing a parameter set#

  1. Set each requirement to its extreme in turn, recording which derived values become negative, zero or absurd.
  2. Add guards: max(), min(), if().
  3. Record safe ranges in the comment column ("box_l: 40 to 200 mm").
  4. For counts, test the minimum and maximum that physically fit; divide-by-zero lives at n = 1.

Failure modes and fixes#

SymptomCauseFix
Expression flagged as invalidInvalid expression or unit mismatchSimplify the expression and compare units
Derived dimension does not changeDimension was typed with a number over the parameterRe-enter name in the dimension field
Rename leaves old name in a derived designDerived design uses the old nameUpdate downstream, or keep the old name and add a new one
Model fails at a high valueNo limit on a derived featureAdd min() limits
Count parameter gives a lengthUnit was mmSet Unit to No Unit
Parameter list is chaosNo naming schemePrefix families; comment each
Tolerance repeated in 10 placesValue typedReplace with tol

Practice exercise#

Build the parametric project box and discover its limits numerically.

  1. Create inputs: box_l 80 mm, box_w 50 mm, box_h 30 mm, wall 2 mm, screw_d 3 mm, tol 0.2 mm, n_screws 4 (No Unit). Add comments with units and a stated safe range.
  2. Create derived parameters: inner_l = box_l - 2 * wall, inner_w = box_w - 2 * wall, boss_od = max(screw_d * 2.5; screw_d + 2 * wall), fillet_r = wall * 1.5, hole_d = screw_d + tol. Verify the values (76, 46, 7.5, 3, 3.2 mm).
  3. Sketch and extrude the outer body using box_l, box_w, box_h; shell with wall. Add four bosses of boss_od with holes hole_d, patterned with n_screws.
  4. Add a guard parameter wall_ok = if(wall < 1.2 mm; 1.2 mm; wall) and use it in the shell.
  5. Test: box_l 120 mm, wall 3 mm, screw_d 4 mm. The model should update with no errors.
  6. Find the breaking points: raise wall until the shell fails (expect near box_w / 2, about 25 mm, or earlier because of the bosses) and lower box_w until the bosses no longer fit.
  7. Test n_screws of 2, 4, 6 and 8 and decide how to protect the pattern.
  8. Write the safe ranges back into the comments.

Expected result: a parametric box resizable from seven numbers, with written limits and guards that keep it valid.

  • The Change Parameters dialog
  • Units and expressions
  • Design-for-change patterns

Sources

Checked against these Autodesk help topics (opens autodesk.com):

Related pages