fusion-sketch

star 1

Create and edit sketches in Fusion 360 using the fusion-sketch CLI. Use when the user asks to sketch, draw geometry, create profiles, add constraints, dimensions, patterns, or work with 2D geometry in Fusion 360.

peytoncasper By peytoncasper schedule Updated 2/28/2026

name: fusion-sketch description: Create and edit sketches in Fusion 360 using the fusion-sketch CLI. Use when the user asks to sketch, draw geometry, create profiles, add constraints, dimensions, patterns, or work with 2D geometry in Fusion 360.

Fusion 360 Sketching

Control Fusion 360 sketches via tools/fusion-sketch. All coords are mm. Output is JSON.

Orient yourself first

Before drawing anything, understand where you are:

tools/fusion-sketch state              # what's focused, selected, timeline position
tools/fusion-sketch list               # all sketches in the design
tools/fusion-sketch info --sketch S1   # curves, points, constraints detail
tools/fusion-sketch graph --sketch S1  # topology of a specific sketch

Core workflow

# 1. Create sketch on a plane
tools/fusion-sketch create --plane xz --name SidePanel

# 2. Draw geometry (sketch coords — read the plane rules below)
tools/fusion-sketch rect --sketch SidePanel --c1 0,-50 --c2 100,0

# 3. Add constraints to lock geometry
tools/fusion-sketch constrain --sketch SidePanel --type horizontal --e1 SidePanel_curve_0

# 4. Add dimensions to make it parametric
tools/fusion-sketch add-dim --sketch SidePanel --type distance --e1 SidePanel_curve_0 --value 100

# 5. Verify profiles formed
tools/fusion-sketch finish --sketch SidePanel

# 6. If gaps exist, diagnose and fix
tools/fusion-sketch gaps --sketch SidePanel
tools/fusion-sketch close-gaps --sketch SidePanel

Plane coordinate rules — MEMORIZE THESE

The sketch 2D coordinate system depends on which plane you drew on:

Plane Sketch X → Sketch Y → Gotcha
XY World +X World +Y None — direct mapping
XZ World +X World -Z Y is inverted! For +Z geometry, use negative sketch Y
YZ World -Z World +Y X is inverted! For +Z geometry, use negative sketch X

The rule: to place geometry at positive World Z, negate the corresponding sketch axis.

Example: panel from Z=0 to Z=50 on XZ plane

# sketch Y = -50 → world Z = +50
# sketch Y = 0   → world Z = 0
tools/fusion-sketch rect --sketch S1 --c1 0,-50 --c2 100,0

Bypass: use world coordinates directly

# rect3d auto-converts world coords to sketch coords for you
tools/fusion-sketch rect3d --sketch S1 --wc1 0,0,0 --wc2 100,50,0

Prefer rect3d when placing geometry at known world positions. Use rect only when you're thinking in sketch-local terms.

Verify coordinates before trusting them

# Convert sketch 2D → world 3D to check your math
tools/fusion-sketch coords --sketch S1 --points 0,0 100,-50

# Get suggested sketch coords for world 3D targets
tools/fusion-sketch suggest --plane xz --wmin 0,0,0 --wmax 100,50,100

Complete command reference

Lifecycle

Command What it does
create --plane P [--name N] [--component C] New sketch on plane xy/xz/yz/custom
create-on-face --body B --face F [--name N] New sketch on a body face
finish --sketch S Validate: returns profile count + open curves
delete --sketch S [--component C] Delete a sketch
list All sketches with plane info + coordinate mappings

Drawing primitives

Command What it does
line --sketch S --start x,y --end x,y [--construction] Line segment (optionally construction)
arc --sketch S --center x,y --radius R --start-angle D --sweep D Arc by center+radius+angles
arc3 --sketch S --start x,y --mid x,y --end x,y Arc through 3 points
circle --sketch S --center x,y --radius R Circle
rect --sketch S --c1 x,y --c2 x,y Rectangle in sketch coords
rect3d --sketch S --wc1 x,y,z --wc2 x,y,z Rectangle in world coords (auto-converts)
spline --sketch S --points x,y x,y ... [--closed] Spline through points
polygon --sketch S --center x,y --radius R [--sides N] [--rotation D] Regular polygon (default 6 sides)
slot --sketch S --c1 x,y --c2 x,y --radius R Slot (oblong) shape
centerline --sketch S --start x,y --end x,y Construction line
point --sketch S --pos x,y Sketch point

Modifications

Command What it does
fillet --sketch S --c1 CURVE_ID --c2 CURVE_ID --radius R Fillet between two curves
trim --sketch S --curve CURVE_ID --point x,y Trim curve at point
extend --sketch S --curve CURVE_ID --point x,y [--from-start] Extend curve toward point
offset --sketch S --curves ID ... --dist D --dir x,y Offset curves by distance
mirror --sketch S --curves ID ... --line LINE_ID Mirror curves about a line
pattern-rect --sketch S --curves ID ... [--xn N --yn N --xs D --ys D] Rectangular pattern
pattern-circ --sketch S --curves ID ... --center x,y [--count N --angle D] Circular pattern

Constraints

Command What it does
constrain --sketch S --type TYPE --e1 ID [--e2 ID] Add geometric constraint
coincident --sketch S [--tolerance T] Auto-apply coincident constraints at close endpoints
list-constraints --sketch S List all constraints

Constraint types: coincident, horizontal, vertical, perpendicular, parallel, tangent, equal, concentric, midpoint, fix, collinear

Single-entity types (no --e2): horizontal, vertical, fix

Dimensions

Command What it does
dims --sketch S List all dimensions with values + expressions
dim-edit --sketch S --dim INDEX [--value V] [--expr E] Edit dimension value or expression
add-dim --sketch S --type TYPE --e1 ID [--e2 ID] [--value V] [--pos x,y] Add dimension

Dimension types: distance, diameter, radius, angular

Analysis & repair

Command What it does
gaps --sketch S [--tolerance T] Find unclosed gaps between curves
close-gaps --sketch S [--tolerance T] [--max-gap M] [--dry-run] Auto-close small gaps
recreate --sketch S [--new-name N] [--delete-orig] Recreate as proper closed polygon

Query & coordinate helpers

Command What it does
profiles --sketch S Profile list with areas and world bounds
info --sketch S Detailed sketch: all curves, points, constraints
coords --sketch S --points x,y ... Sketch 2D → world 3D conversion
suggest --plane P --wmin x,y,z --wmax x,y,z World 3D → sketch 2D suggestion
graph [--sketch S] Topology graph (LOCAL_GRAPH)
state [--compact] Navigation state snapshot

Import & text

Command What it does
import-svg --path FILE [--plane P] [--body B] [--name N] [--scale S] Import SVG into sketch
text --text T [--sketch S] [--plane P] [--font F] [--height H] [--pos x,y] Add text to sketch

Entity ID format

Curves and points use a predictable naming scheme:

  • SketchName_curve_0, SketchName_curve_1, ... (index-based)
  • SketchName_point_0, SketchName_point_1, ...
  • SketchName_dim_0, SketchName_dim_1, ...

Use info --sketch S to see all entity IDs.

Reading the output

Every command returns JSON. Key fields to watch:

finish — the most important check:

{"success": true, "is_valid": true, "profile_count": 1, "open_curves": 0}
  • is_valid: false means no closed profiles → can't extrude
  • open_curves > 0 means geometry doesn't close → run gaps

profiles — what you'll extrude:

{"profiles": [{"profile_index": 0, "area_mm2": 5000, "sketch_bounds": {...}}]}
  • profile_index is what you pass to extrude later

info — full detail for planning:

{"curves": [{"curve_id": "S_curve_0", "type": "SketchLine", "start": [0,0], "end": [100,0], "length_mm": 100}]}

Common mistakes

  1. Forgetting the Y inversion on XZ plane. Geometry ends up at -Z. Use rect3d to avoid this entirely.

  2. Drawing open geometry then trying to extrude. Always finish and check profile_count > 0 before moving on.

  3. Sketch coords in mm but thinking in inches. Everything is mm. A 1" panel is 25.4mm.

  4. Not naming sketches. Always use --name on create. Unnamed sketches get auto-names that are hard to reference later.

  5. Drawing on the wrong plane. XY = horizontal (floor). XZ = vertical front-facing. YZ = vertical side-facing.

  6. Not adding constraints. Unconstrained sketches drift when you edit dimensions. Use constrain to lock geometry relationships, then add-dim to make it parametric.

Decision guide: which plane?

I want to make... Plane Extrude direction
A horizontal panel (floor/shelf) XY +Z (up) or -Z (down)
A vertical front panel XZ +Y (into model) or -Y (toward viewer)
A vertical side panel YZ +X (right) or -X (left)
A panel at an offset Create offset plane first, then sketch on it
A shape on an existing body face Use create-on-face instead of a plane
Install via CLI
npx skills add https://github.com/peytoncasper/modeling --skill fusion-sketch
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
peytoncasper
peytoncasper Explore all skills →