feature_sweep
Sweeps sketch profiles or planar faces along a path to create pipes, handles, springs, rails, or swept cuts, with options for twist, taper, and guide rails.
Instructions
Sweep sketch profiles or planar faces along a path - pipes, handles, springs (with twist), rails, swept cuts (operation="cut").
Units: angles in degrees (a string is a Fusion expression, e.g. "pitch_angle");
path_extent is a plain share of the path length; units only applies to
{"sketch", "point"} profile specs. Refs: profiles from sketch_draw / sketch_profiles;
path and guide rail from sketch_draw (sketch curve refs, the path sketch usually lies
on a plane perpendicular to the profile sketch) or BRep edges from inspect_query.
Do not mix sketch curves and edges in one path. With path_chain=true one curve
is enough to take the whole connected chain. is_solid=false sweeps a surface
(new_body / new_component only); the profile may then be open sketch curves or edges.
Rules: twist_angle / taper_angle with guide_rail -> INVALID_PARAMS; path_extent
outside (0, 1] -> rejected; a path with gaps -> FUSION_API_ERROR. A feature Fusion
computes with an error -> FUSION_API_ERROR and the timeline is rolled back; a warning
keeps the feature and is reported in health.
Returns {"feature": {ref, type, name}, "health": {"state": ok|warning|error|unknown, "message"}, "created_bodies": [{ref, type, name}], "modified_bodies": [{ref, type, name}], "removed_bodies": [<refs of bodies consumed by join/cut>], "component"?: {ref, type, name} (new_component only)}.
Examples:
feature_sweep(profiles=["profile:@0,0"], path=[, ])
feature_sweep(profiles=[...], path=[], twist_angle=360)
feature_sweep(profiles=[...], path=[], guide_rail=[], rail_scaling="stretch")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flip | No | Sweep the other way along the path | |
| path | Yes | Sweep path: sketch curve refs (sketch_draw) or BRep edge refs (inspect_query) - one kind only | |
| units | No | Unit of plain-number lengths and points | mm |
| is_solid | No | true (default) = solid; false = surface body (new_body / new_component only; close surfaces with surface_stitch, check is_solid) | |
| profiles | Yes | Profiles to use: 'profile:<sketch>@x,y' refs from sketch_profiles / sketch_draw, {"sketch", "point"} / {"sketch", "curves"} / {"sketch", "all": true}, or planar face refs (inspect_query) | |
| operation | No | new_body (default), join, cut, intersect or new_component | new_body |
| guide_rail | No | Optional guide rail (sketch curves or edges) that steers and scales the profile; excludes twist_angle and taper_angle | |
| path_chain | No | true (default): extend each path/rail curve to every curve connected to it end to end (tangent chain for a single edge) | |
| orientation | No | perpendicular (default, the profile follows the path) or parallel (keeps its orientation) | perpendicular |
| path_extent | No | Share of the path to sweep along, (0, 1] | |
| taper_angle | No | Taper of the profile, degrees (no guide_rail) | |
| twist_angle | No | Twist over the whole path, degrees (no guide_rail) | |
| rail_scaling | No | With guide_rail: scale (default), stretch or none | scale |
| participant_bodies | No | Body refs join/cut/intersect act on (default: every body it touches); not allowed with new_body / new_component |