feature_loft
Create solid or surface lofts through two or more profiles, faces, or end points, with rails, centerline, end conditions, and join/cut operations.
Instructions
Loft a solid through two or more sections - transitions, ducts, bottle necks, domes ending in a point.
Sections: each is exactly one profile ('profile:@x,y' or a {"sketch", ...} spec selecting one region), a planar face (inspect_query), or a point - a sketch point, construction point (construction_point, origin:O) or vertex - which may only be the first or the last section. End conditions: free (default), tangent / smooth (with weight), direction (angle in degrees + weight), point_sharp / point_tangent (point sections only). Inner sections keep free unless asked otherwise.
Guides: rails (sketch curves or edges touching every section) or one centerline, never both. closed=true joins the last section back to the first (needs 3+ profile sections and no point section). is_solid=false lofts a surface body (new_body / new_component only).
Units: angles in degrees, weights plain numbers; units only applies to
{"sketch", "point"} profile specs. Errors: fewer than 2 sections, rails with a
centerline, a point in the middle, point_* on a profile, closed with a point, more
than one profile in a section -> INVALID_PARAMS (nothing changed); a feature Fusion
computes with an error -> FUSION_API_ERROR and the timeline is rolled back.
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_loft(sections=[{"entity": "profile:@0,0"}, {"entity": "profile:@0,0"}], rails=[])
feature_loft(sections=[{"entity": , "end_condition": "tangent"}, {"entity": , "end_condition": "point_tangent", "weight": 2}], operation="join")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rails | No | Rail curves/edges guiding the loft (not with centerline) | |
| units | No | Unit of plain-number lengths and points | mm |
| closed | No | Close the loft back to the first section (no points) | |
| is_solid | No | true (default) = solid; false = surface body (new_body / new_component only; close surfaces with surface_stitch, check is_solid) | |
| sections | Yes | Sections in order: {"entity", "end_condition"=free, "angle"=0, "weight"=1}. entity = one profile (ref or spec), a planar face ref, or a point (sketch point, construction point, vertex) - points only first/last | |
| operation | No | new_body (default), join, cut, intersect or new_component | new_body |
| centerline | No | Centerline curve/edge the sections follow (not with rails) | |
| participant_bodies | No | Body refs join/cut/intersect act on (default: every body it touches); not allowed with new_body / new_component | |
| merge_tangent_edges | No | Merge tangent edges of the result (default true) |