Files
FreeCADWasmDev/docs/current/assembly-mixed-command-boundaries.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

1.5 KiB

Assembly mixed command batch 63ba299dfa723c67e479218c

Edits add current-document native routes for Assembly_SolveAssembly and Assembly_ExportASMT through the existing Python-family dispatcher and Assembly desktop adapter. Solve uses the desktop assembly.recompute(True) operation in a document transaction. Export calls assembly.exportAsASMT and returns the actual file bytes for browser download; its temporary file is removed on success or failure. No build, sync, or business acceptance was run in this edit batch.

Remaining implementation boundaries:

  • Assembly_Insert and Assembly_InsertLink: source selection, link creation, first-component grounding, placement, and task accept/reject behavior.
  • Assembly_InsertNewPart: saved-document prerequisite, part/body creation, optional new document, linking, origin joint, and task rollback.
  • Assembly_CreateBom: native spreadsheet object and BOM computation, column settings, document/assembly scope, export and rollback.
  • Assembly_CreateSimulation: native simulation and motion objects, joint eligibility, parameters, execution, and task rollback.
  • Assembly_CreateView: native exploded-view steps, component placements, display application/restoration, and task rollback.

These six records retain their existing implementation-required responses. The two edited routes require outer-pipeline runtime verification, including solver failures, component placement serialization, ASMT download, and cleanup. Recompute completion is not proof that every constraint is satisfiable.