Ruled solid loft
i of each section is joined to curve i of the
next. The current document grammar therefore requires:
- at least two hole-free profiles, each one closed outer loop;
- planes of the same principal-plane family at distinct, strictly monotonic stations (in-plane offsets are allowed);
- the same loop orientation, clockwise or counterclockwise, in every section;
- the same number of boundary curves with the same kinds and traversal
directions in the same order, so a rectangle can loft to a rectangle and a
circle to a circle, but a rectangle-to-circle loft fails with
curve-signature-mismatch; - the authored starting phase between every pair of adjacent sections. If
rotating a section’s curve order would pair it more closely with its
neighbour, the loft fails with
curve-phase-mismatchinstead of letting OCCT re-pair the curves. A gradual twist is fine as long as each adjacent pair stays closest in its authored pairing.
FEATURE_INVALID at /nodes/<id>/profiles/<index>.
Mixed-shape, smooth, guided, open, and holed lofts remain future contracts.
Polyline path
self-intersection). Composite line-line junctions reject the same fold-back.
Three-point circular arc
through lies on the desired arc. It is not a Bézier control point. The three
points must define one conditioned arc below a full turn.
Composite line/arc route
1e-8 (COMPOSITE_PATH_MAX_JUNCTION_SINE). Write arc points as exact
expressions, as above. A through point rounded to a few decimals, such as
mm(8.535), tilts the arc enough to fail with FEATURE_INVALID (reason
non-tangent-junction).
Sweep a profile
The profile plane must be seated at the path start with its normal parallel to the initial tangent:Complete example
This canonical module combines the route and section above, sweeps them on stock OCCT, and is executed in CI:Clearance and conditioning
InvariantCAD validates more than path syntax. It checks the full profile envelope against arc radius, remote path returns, adjacent curvature neighborhoods, native transfer floors, and numerical conditioning. Composite results are checked against an analytic transported-centroid volume oracle. The important user-facing rule is simple: the complete cross-section needs physical clearance around every bend and between remote path segments. Shrinking only a nominal width while leaving an off-center profile can still be invalid. Clearance is measured with the profile envelope radiusr, the distance from
the profile origin (the path start) to the farthest point of the section. A
right corner that turns by θ, at a polyline vertex or a composite line-line
junction, cuts the section on the bisector plane. That miter reaches
r · tan(θ / 2) before the vertex on the inside of the turn and the same
distance beyond it on the outside. Each straight segment must therefore be
longer than the miter setbacks at its two ends, and remote segments must clear
the segments extended by that outer reach by more than 2r. Short segments
between sharp corners fail with FEATURE_INVALID (reason path-clearance).
For exact tolerances, major-arc restrictions, centered-profile stock-runtime
behavior, and the owned-facade refinements, read the
complete guide.
Not yet supported
- closed or full-circle path documents
- Bézier, B-spline, and helix paths
- guided or variable-section sweeps
- arbitrary transition and frame modes
- holed sweep profiles
- general smooth surfacing