mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-16 02:24:30 +00:00
b5a0f1fc74
The Reassign Class operator refused to reassign an element to a different IFC product family unless it was an IfcElement <-> IfcElementType swap, so a piece of geometry mistakenly hosted on IfcSite could not be turned into IfcFurniture even though root.reassign_class handles it fine. Loosen the guard: only block the case that actually matters - a spatial element (IfcSpatialElement / IfcSpatialStructureElement for IFC2X3) with no geometry, which would be a real containment-hierarchy container rather than a stray modelled object. Everything else reassigns freely. Closes #8664 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>