Files
FreeCADWasmDev/docs/current/IFC_BOOLEAN_EDIT_PROGRESS.md

3.2 KiB

IFC Boolean Property Edit Continuation

Batch: dabecec37465df44803cfa97, 2026-09-16. Requirement remains business-format:BIM:semantic-export:.ifc; retain all 1508 requirements.

Implementation

IfcOpenShellExport.cpp now compares imported property-set metadata structurally and allows existing IFC4 IfcPropertySingleValue boolean values to change through the upstream schema API. It keeps property-set identities, types, units, relationships and other values. All represented references to a shared property must agree; inconsistent edits reject before file commit. The source document is not mutated. Unsupported value types, metadata, property membership, identity and hierarchy changes still reject explicitly.

bim-ifc-semantic-business-cases.mjs changes both true and false boolean values in the independent ColumnPSetsOfSets fixture, together with native solid dimensions, label, translation and rotation. It compares reparsed output property sets against the edited native properties and checks native geometry. It also checks shared-property conflicts and invalid boolean values preserve destination bytes, document state and caller transactions. FCStd persistence and the existing independent verifier remain in the execution path.

Validation In Progress

Initial focused build passed (99.366 seconds), assets synchronized and the selected acceptance runner executed. It exposed a casing compatibility error: upstream metadata serializes IfcBoolean, not uppercase IFCBOOLEAN. Historical failed evidence is retained at business-evidence/266816da4ea763887c126a8a-20260916T014433831696.json. The implementation now compares the type spelling case-insensitively; the case uses the actual upstream spelling. The corrected build and acceptance result will be recorded below before this continuation returns.

Remaining Boundaries

  • Existing boolean property edits are the only newly implemented value edits. Other typed values and quantities still reject changes explicitly.
  • Required added_deleted_objects, classifications, materials, native_bim_authoring and quantities proof remains outstanding.
  • Native authoring currently exports only wall, column and proxy classes; required slab/opening/window/door behavior and misleading-label checks still need implementation and executable proof.
  • Imported additions/deletions and hierarchy edits still reject explicitly.
  • No new browser semantic scenario has been executed in this continuation. Reuse the existing browser/WASM workflow for subsequent browser proof.
  • IFC4 is the tested semantic-export schema. IFC2X3 input support is not equivalent to IFC2X3 semantic export; IFC4X3 remains unsupported.
  • Do not modify the semantic contract, independent verifier, proof-area requirements or acceptance machinery. No acceptance status was edited.

Resume

Start with the final evidence below. Fix any first failing assertion before repeating the selected case. Once this property-edit case passes, continue with the existing importer metadata and embedded OriginalIFC graph for the remaining semantic areas. Reuse local desktop exportIFC/exportIFCHelper, nativeifc, cached IfcOpenShell source and linked parser/geometry archives. Do not rerun the unchanged full BIM batch or rebuild OCCT.