Fusion 360 Add-In · Arroway Ltd

EqSketch

Drive Fusion 360 sketches with math.

Two commands tucked into Sketch → Create: Equation Curve for parametric and polar splines, and Gear Wizard for involute gears and matching racks — complete with named parameters that flow into Fusion's own Parameters dialog.

Fusion 360 Add-In v1.0.0 Windows · macOS 83 unit tests
2 Commands in Sketch → Create
400 Max sample points per spline
Live Derived gear values as you type
83 Unit tests on the expression evaluator

What's inside

Everything you need, nothing you don't.

EqSketch is a focused tool. It adds exactly two commands and gets out of your way.

Equation Curve

Sketch any curve you can express mathematically. Parametric mode gives you independent X(t), Y(t), and Z(t) expressions — ideal for helices, Lissajous figures, and 3D paths. Polar mode takes r(θ) for rose curves, spirals, and cardioids.

Equation Curve
Mode Parametric ▼
X(t) = cos(t) * r
Y(t) = sin(t) * r
Z(t) = p * t / (2*pi)
Parameters r = 20   p = 5
t range 0  to  2*pi
Sample pts 100
☑ Closed curve
Derived Spline · 100 pts · Parametric 2D
  • Mode selector Parametric gives X(t), Y(t), Z(t) inputs — good for helices, Lissajous figures, and 3D space curves. Polar gives a single r(θ) input — good for spirals, rose curves, and cardioids.
  • X(t) expression Any combination of t, named params, and whitelisted math functions. Use Z(t)=0 to stay flat.
  • Y(t) expression Expression for the Y coordinate at each sample point.
  • Z(t) expression Non-zero Z creates a 3D curve. For a flat sketch curve keep this at 0.
  • Parameters block Named values (e.g. r=20) become Fusion user parameters with the eq_ prefix, visible in the Parameters dialog and usable to drive model dimensions.
  • t range Curve parameter range. Full circle: 0 to 2*pi. Half-arc: 0 to pi.
  • Sample points Number of points the spline passes through. 20–80 for most curves; 200–400 for high-frequency waves. Over 400 auto-splits into two segments.
  • Closed curve Joins the last sample back to the first. Use for closed loops; leave unchecked for open paths.
  • t range with configurable start and end
  • 2–400 sample points; auto-splits above 400
  • Closed curve option connects last point to first
  • Palette stays open for rapid iteration
  • Warns when no active sketch is open

Gear Wizard

Full involute gear profiles generated from standard parameters. Choose sketch-only, extrude to solid, or helical sweep — all from one dialog. A separate Rack tab auto-syncs the helix angle for rack-and-pinion pairs.

Gear Rack
Module (m) 2.0
Teeth (z) 20
Pressure angle 20°
Profile shift (x) 0.0
Flank resolution 40
Output ● Full gear   ○ Single tooth   ○ Pitch circle
Build ● Sketch   ○ Extrude   ○ Helical sweep
☐ Hub hole   8 mm
Derived values
Pitch dia40.00 mm
Tip dia44.00 mm
Root dia35.00 mm
Base circle37.59 mm
Circular pitch6.28 mm

Rack tab mirrors the same module and pressure angle, with helix angle auto-synced for rack-and-pinion pairs.

  • Module (m) Controls tooth size. m=1 means 1 mm pitch radius per tooth. Standard modules: 0.5, 0.8, 1, 1.5, 2, 2.5, 3. Imperial: m = 25.4 / DP.
  • Teeth (z) Number of teeth. Minimum 3; recommend ≥17 at 20° PA with zero profile shift to avoid undercut. A warning appears for z < 8.
  • Pressure angle Flank angle at the pitch circle. 20° is the global standard; 14.5° is legacy; 25° for heavy or shock loads. Must match the mating gear.
  • Profile shift (x) Moves the pitch circle toward the tip. Positive shift reduces undercut on low-tooth gears. Range −0.5 to 0.5. Must account for shift on the mating gear to keep correct centre distance.
  • Flank resolution Points per tooth flank spline. 20 for previews; 40–60 for final parts; 80 for large gears needing smooth flanks at any zoom.
  • Output Full gear creates the complete profile. Single tooth is faster for array-patterned builds. Pitch circle gives the reference circle only — useful for layout and centre-distance construction.
  • Build Sketch inserts the profile curve. Extrude adds a Face Width input and creates a solid. Helical sweep adds a Helix Angle input and sweeps the profile.
  • Hub hole Adds a centre bore of the given diameter. Diameter validation ensures it is smaller than the root circle.
  • Live derived values Updates in real time as you type. Centre distance for a pair: C = m × (z₁ + z₂) / 2.
  • Module, teeth, pressure angle, profile shift
  • Full profile · single tooth · pitch circle outputs
  • Extrude or helical sweep (face width + helix angle)
  • Optional hub hole with configurable diameter
  • Matching rack with body height control

Safe Expression Evaluator

EqSketch never calls eval(), exec(), or compile(). Expressions are parsed with ast.parse() then validated through a strict two-layer whitelist before a single value is computed.

  • Layer 1: any expression with __ rejected before AST construction
  • Layer 2: AST walker permits only literals, operators, and whitelisted functions
  • Blocked: attribute access, keyword args, import / exec / eval / open / getattr
  • Dry-run at t=0 catches expression errors eagerly, before Fusion's spline builder runs

Named Parameters → User Params

Any named variable in your expression — A, k, pitch — becomes a Fusion 360 user parameter with an eq_ prefix. Change the value in Fusion's Parameters dialog and update the curve without re-opening EqSketch.

  • Parameters appear in Fusion's Parameters dialog
  • Can drive sketch dimensions and other features
  • Registered on first curve insert in the session
  • Works with both Equation Curve and Gear Wizard

Gear Library

Save and reload named gear profiles across sessions. The library persists as saved_gears.json in the add-in folder — back it up before uninstalling. Build a personal catalogue of standard gear families for your projects.

  • Save any gear configuration under a custom name
  • Reload profiles instantly from the Gear Wizard dialog
  • Persists between Fusion sessions and restarts
  • Back up saved_gears.json to preserve your library

Rack & Pinion Pairs

The Rack tab mirrors the Gear tab's parameters and auto-syncs the helix angle, making it straightforward to generate a matched rack-and-pinion pair in one session. A live derived-values panel updates pitch, addendum, and tooth depth as you type.

  • Module and pressure angle must match between tabs
  • Helix angle auto-syncs from Gear tab
  • Live: circular pitch, addendum, dedendum, total length
  • Body height control for the rack blank

Curve type reference

Parametric vs. Polar

Choose the mode that matches how you think about the shape.

Mode Inputs Good for Example
Parametric 2D X(t), Y(t) Ellipses, Lissajous figures, cam profiles, any closed or open planar path X = a·cos(t)
Y = b·sin(t)
Parametric 3D X(t), Y(t), Z(t) Helices, spirals, 3D sweep paths, spring profiles X = r·cos(t)
Y = r·sin(t)
Z = pitch·t/(2·pi)
Polar r(θ) Rose curves, Archimedean spirals, cardioids, limaçons r = A·cos(k·θ)

Available math functions

Trig
sincostanasinacos atanatan2sinhcoshtanh degreesradians
Algebra
sqrtexploglog10 abshypotfloorceilround
Range
minmax
Constants
pitauet

Operators

Standard arithmetic: + - * / ** (power) % (modulo) // (floor division). Unary minus is supported. No bitwise operators, no comparisons.

Gear Wizard — live derived values

The math, done for you.

The panel updates every keystroke. No calculator required.

Gear tab

ParameterFormula
Pitch diameterd = m · z
Base circledₛ = d · cos(α)
Tip circledₐ = m(z + 2(1 + x))
Root circledᶠ = m(z − 2(1.25 − x))
Circular pitchp = π · m

Rack tab

ParameterFormula
Circular pitchp = π · m
Addendumha = m · (1 + x)
Dedendumhf = m · (1.25 − x)
Tooth depthh = ha + hf
Total lengthL = p · z

Note: Profile shift x ranges from −0.5 to +0.5. Values near the limits with low tooth counts (z < 8) will trigger an undercut warning — the wizard proceeds but flags the condition. For very low z + extreme shift combinations, tip width may approach zero and the wizard will show an error before inserting.

Installation

Up and running in two minutes.

No installer. No admin rights. Just point Fusion 360 at the folder.

  1. Download the add-in

    Clone the repository or download the ZIP from GitHub and extract it anywhere on your machine. The folder must be named Fusion360-EqSketch.

  2. Open Scripts and Add-Ins

    In Fusion 360, go to Tools → Add-Ins → Scripts and Add-Ins (or press Shift+S). Click the + button next to My Add-Ins.

  3. Select the folder

    Navigate to and select the Fusion360-EqSketch folder. Fusion will detect the manifest and list EqSketch under My Add-Ins.

  4. Run (and optionally enable at startup)

    Select EqSketch and click Run. To load it automatically every time Fusion starts, check Run on Startup before clicking Run.

  5. Find the commands

    Equation Curve and Gear Wizard appear under Sketch → Create. Gear Wizard is also accessible under Solid → Create when working in a component.

Requires Fusion 360 (any current subscription)
Python 3.x — bundled with Fusion, no separate install needed
Platform Windows 10/11 · macOS 12+

Usage tips

Get the most out of EqSketch.

Open a sketch first

Equation Curve requires an active sketch. Create or double-click into a sketch before launching the palette.

Iterate without closing

The palette stays open after each insert. Adjust your expressions and click Insert again — great for tuning a shape interactively.

Name your constants

Use A = 30 in your expression rather than a raw number. EqSketch registers eq_A in Fusion's Parameters — change it later without reopening the palette.

Match module and pressure angle for rack-pinion

Set identical module and pressure angle on both the Gear and Rack tabs before generating. Mismatched values will produce profiles that don't mesh.

Back up your Gear Library

Saved profiles live in saved_gears.json inside the add-in folder. Copy this file before uninstalling or moving the add-in directory.

Tune sample count deliberately

Higher sample counts produce smoother curves but slow Fusion's spline builder. For display models try 80–120; for precision paths go up to 300. EqSketch auto-splits above 400.

Troubleshooting

Common questions & known issues.

"No active sketch" warning when opening Equation Curve

Equation Curve must be launched from inside an active sketch. In the browser, double-click an existing sketch to activate it — or go to Sketch → Create Sketch and pick a plane — then open Equation Curve again.

Spline looks faceted or choppy

Increase the sample count. The default is intentionally conservative to keep Fusion responsive. For smooth curves on screen, try 120–200 points; for high-precision manufacturing paths, 300–400.

Inserting a curve is very slow

Very high sample counts (above ~300) push Fusion's spline builder hard. If you need more than 400 points, EqSketch automatically splits the curve into two connected segments — but even then, expect a longer build time. If speed matters more than smoothness, reduce the count and use a lower t range step.

The Parameters dialog shows no eq_ parameters

Named parameters are registered on first insert, not when you open the palette. Insert a curve with at least one named constant and the eq_ parameters will appear in Fusion's Parameters dialog immediately after.

Gear Wizard shows "near-zero tip width" error

Profile shift values near ±0.5 combined with low tooth counts can produce a tip circle that's barely wider than the base circle. EqSketch validates this before inserting and shows a clear error. Try reducing the absolute value of the profile shift, or increasing the tooth count.

Undercut warning on gears with z < 8

Gears with fewer than 8 teeth risk undercut on the involute flank at zero profile shift. EqSketch flags this condition but still generates the profile — use the warning as a cue to add positive profile shift (x = 0.2–0.4) to compensate.

Helical sweep fails or produces an unexpected solid

The face width and helix angle together define a helix in the current sketch plane. If that helix is geometrically invalid (e.g. the angle is too steep for the face width), Fusion's sweep will fail. Try reducing the helix angle or widening the face. Also make sure you have a component active — Gear Wizard's solid operations require a component context.

Rack and gear profiles don't mesh correctly in simulation

The two non-negotiable matching conditions are module and pressure angle. Check both tabs show identical values. Profile shift may differ between gear and rack for centre-distance adjustment, but module and pressure angle must be the same.

Ready to sketch with equations?

Free and open source. Requires Fusion 360. Python runtime is bundled with Fusion — no extra setup.

← Replicant FX A product of Arroway Ltd