diff --git a/src/bonsai/bonsai/bim/module/model/railing.py b/src/bonsai/bonsai/bim/module/model/railing.py index 40b91995ac..6403e834f6 100644 --- a/src/bonsai/bonsai/bim/module/model/railing.py +++ b/src/bonsai/bonsai/bim/module/model/railing.py @@ -107,11 +107,12 @@ def update_railing_modifier_ifc_data(context: bpy.types.Context) -> None: ) tool.Model.replace_object_ifc_representation(body, obj, model_representation) + # TODO: is still necessary? Seems to be needed only because FRAMELESS_PANEL was using too.Ifc.edit. # hacky way to ensure tha ifc representation won't get tessellated at project save tool.Ifc.finish_edit(obj) elif props.railing_type == "FRAMELESS_PANEL": - tool.Ifc.edit(obj) + tool.Model.add_body_representation(obj) def update_bbim_railing_pset(element: ifcopenshell.entity_instance, railing_data: dict[str, Any]) -> None: diff --git a/src/bonsai/bonsai/bim/module/model/roof.py b/src/bonsai/bonsai/bim/module/model/roof.py index 216a90c328..289a64f8ab 100644 --- a/src/bonsai/bonsai/bim/module/model/roof.py +++ b/src/bonsai/bonsai/bim/module/model/roof.py @@ -417,7 +417,7 @@ def update_roof_modifier_ifc_data(context: bpy.types.Context) -> None: # occurrences attributes # occurrences = tool.Ifc.get_all_element_occurrences(element) - tool.Ifc.edit(obj) + tool.Model.add_body_representation(obj) def update_bbim_roof_pset(element: ifcopenshell.entity_instance, roof_data: dict[str, Any]) -> None: diff --git a/src/bonsai/bonsai/bim/module/void/operator.py b/src/bonsai/bonsai/bim/module/void/operator.py index 80a5be7b43..b9b3534104 100644 --- a/src/bonsai/bonsai/bim/module/void/operator.py +++ b/src/bonsai/bonsai/bim/module/void/operator.py @@ -126,6 +126,8 @@ class AddOpening(bpy.types.Operator, tool.Ifc.Operator): representation=representation, should_reload=True, is_global=True, + # Don't sync changes because object has an opening, + # therefore bim.update_representaiton wouldn't work either way. should_sync_changes_first=False, )