Profile operations (extrude/revolve) are derived but never exported to STEP/FCStd #6

Closed
opened 2026-06-10 15:42:29 +00:00 by Mark · 2 comments
Owner

See evaluation notes. Details to be expanded.

See evaluation notes. Details to be expanded.
Mark reopened this issue 2026-06-17 18:22:53 +00:00
Author
Owner

Audit (reopened)

Reopened this issue. It was closed with quickfix + bug + triage-approved + blocked:needs-decision labels but with no close comment and no matching commit on main. Profile operations (extrude/revolve) being derived but not exported to STEP/FCStd is a real gap — I see profile extraction code in pc2cad.py but no path through export_step() / export_fcstd() that includes profiles as features.

Reopening so the export path can be added. Likely scope: pass section_profiles and profile_features through to the FreeCAD/build123d exporter and apply them as additional solids or cuts.

## Audit (reopened) Reopened this issue. It was closed with `quickfix + bug + triage-approved + blocked:needs-decision` labels but with no close comment and no matching commit on `main`. Profile operations (extrude/revolve) being derived but not exported to STEP/FCStd is a real gap — I see profile extraction code in `pc2cad.py` but no path through `export_step()` / `export_fcstd()` that includes profiles as features. Reopening so the export path can be added. Likely scope: pass `section_profiles` and `profile_features` through to the FreeCAD/build123d exporter and apply them as additional solids or cuts.
Author
Owner

Scope split (with #22)

To keep this issue tractable and prevent future confusion, splitting the profile work into two concerns:

  • #6 (this issue) — export-side fix. Profile extraction code already exists in pc2cad.py; the gap is the path from the derived section_profiles / profile_features through export_step() and export_fcstd(). Fix: pass the profiles through to the exporter, emit them as additional solids (for extrudes) or swept solids (for revolves) on top of the RANSAC-fitted primitives.
  • #22 — upstream profile extraction from segmented point regions. Wider scope: given a planar or axisymmetric point region (output of #11), recover a Sketch + sweep operation entirely from the points, including the prismatic vs revolved classification. This is the "scanning app" version of the work — no user-supplied cross-section, no user-supplied CAD.

#22 is the parent-of-#17 work that generates the profiles; #6 is the consumer that emits them. Both must land for the mechanical path (#17) to be feature-complete, but they are independent and can be worked in parallel. The integration test (synthetic L-bracket end-to-end → STEP opens in FreeCAD) lives on #22's acceptance list.

## Scope split (with #22) To keep this issue tractable and prevent future confusion, splitting the profile work into two concerns: - **#6 (this issue) — export-side fix.** Profile extraction code already exists in `pc2cad.py`; the gap is the path from the derived `section_profiles` / `profile_features` through `export_step()` and `export_fcstd()`. Fix: pass the profiles through to the exporter, emit them as additional solids (for extrudes) or swept solids (for revolves) on top of the RANSAC-fitted primitives. - **#22 — upstream profile extraction from segmented point regions.** Wider scope: given a planar or axisymmetric point region (output of #11), recover a `Sketch` + sweep operation *entirely from the points*, including the prismatic vs revolved classification. This is the "scanning app" version of the work — no user-supplied cross-section, no user-supplied CAD. #22 is the parent-of-#17 work that *generates* the profiles; #6 is the *consumer* that emits them. Both must land for the mechanical path (#17) to be feature-complete, but they are independent and can be worked in parallel. The integration test (synthetic L-bracket end-to-end → STEP opens in FreeCAD) lives on #22's acceptance list.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/pc2cad#6
No description provided.