diff --git a/src/blenderbim/blenderbim/bim/module/type/operator.py b/src/blenderbim/blenderbim/bim/module/type/operator.py index 8d1348c709..43abc6e47b 100644 --- a/src/blenderbim/blenderbim/bim/module/type/operator.py +++ b/src/blenderbim/blenderbim/bim/module/type/operator.py @@ -49,8 +49,12 @@ class AssignType(bpy.types.Operator, Operator): if self.related_object else context.selected_objects or [context.active_object] ) + model_props = context.scene.BIMModelProperties for obj in related_objects: - core.assign_type(tool.Ifc, tool.Type, element=tool.Ifc.get_entity(obj), type=type) + element = tool.Ifc.get_entity(obj) + core.assign_type(tool.Ifc, tool.Type, element=element, type=type) + if model_props.occurrence_name_style == "TYPE": + obj.name = tool.Model.generate_occurrence_name(type, element.is_a()) class UnassignType(bpy.types.Operator): diff --git a/src/blenderbim/blenderbim/tool/model.py b/src/blenderbim/blenderbim/tool/model.py index 12b1432e56..6466aeec6a 100644 --- a/src/blenderbim/blenderbim/tool/model.py +++ b/src/blenderbim/blenderbim/tool/model.py @@ -202,7 +202,7 @@ class Model(blenderbim.core.tool.Model): return surface @classmethod - def generate_occurrence_name(cls, element_type, ifc_class): + def generate_occurrence_name(cls, element_type: ifcopenshell.entity_instance, ifc_class: str): props = bpy.context.scene.BIMModelProperties if props.occurrence_name_style == "CLASS": return ifc_class[3:]