Files
IfcOpenShell/src/ifcdiff
Petru Conduraru fbe36532a0 ifcdiff: fix crash when exporting property diffs to JSON
DeepDiff's dictionary_item_added/set_item_added results are a
deepdiff.helper.SetOrdered instance, which subclasses orderly_set's
StableSetEq rather than the OrderedSet class json_dump_default checked
for, so the property relationship check always crashed export() with
"Object of type SetOrdered is not JSON serializable". Check against
StableSet, the common base class shared by every orderly_set set
flavour, instead.

Fixes #8905

Generated with the assistance of an AI coding tool.
2026-07-25 07:47:13 +10:00
..

IfcDiff

Compare IFC models for changes to geometry, properties, and structure. Compares the differences between two IFC models, including changes to geometry, properties, relationships, and spatial structure. Outputs differences in JSON format for further processing or reporting.

Features

  • Element tracking: Identify added and deleted elements between models
  • Relationship comparison: Track changes in multiple relationship types:
    • Geometry
    • Attributes
    • Type assignments
    • Properties
    • Spatial containers
    • Aggregations
    • Classifications
  • Flexible filtering: Compare only specific element types using IFC selectors
  • Configurable depth: Choose between shallow (first difference only) or deep (all differences) comparison
  • JSON export: Export comparison results in JSON format for further processing
  • Precision control: Configure geometric comparison precision