mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-05 23:41:44 +00:00
fdf9970685
The + gizmo previously appeared whenever a fillable host and any non-host object were selected, so clicking it against an IfcCovering crashed the geometry kernel when the opening generator tried to derive a shape it couldn't build (AttributeError on 'NoneType.wrapped_data'). Tighten the gizmo poll to require the secondary selection to be a class the operator can dispatch on: IfcDoor, IfcWindow, IfcOpeningElement, or a non-IFC mesh. Make the poll selection-order- independent so either click order activates it. Validate the same class set at the operator boundary so keymap or scripted invocations report a clear warning instead of crashing. The narrower Door/Window support in the opening generator is a Bonsai implementation limit, not an IFC schema restriction — IfcRelFillsElement.RelatedBuildingElement is typed as IfcElement and the schema permits any subtype. The tooltip and inline comment on the validation branch note this so a future reader knows the gate is future-work, not schema-mandated. Rewrite the operator's bl_description to end-user-friendly wording that drops the internal terms matrix_world and rl1/rl2. Fixes #8215. Generated with the assistance of an AI coding tool.