analyze_sweep_path
Check whether a path's curvature can support a profile radius before sweeping, flagging stations where the swept rings would self-intersect.
Instructions
Check whether a path can carry a profile of a given radius, without building it.
Where a path's radius of curvature falls below the profile radius, the swept rings pass through each other on the inside of the bend. The result still reports as watertight and manifold with no degenerate faces, so no ordinary mesh check catches it. Call this before sweeping, or to find where an existing path needs widening.
Args: path_points: Centreline as a list of [x, y, z] points, in order. radius: Outer radius of the profile you intend to sweep. resolution: Samples between path points, matching what you will pass to sweep_profile_along_path so the check covers the same curve.
Returns: Dict with min_clearance_ratio (curvature radius over profile radius at the tightest station; below 1.0 self-intersects), tightest_index, tightest_point, self_intersects, and counts of stations below 1.0 and below 1.5. Aim for 1.5 or more for a clean surface.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| radius | No | ||
| resolution | No | ||
| path_points | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||