diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index f9df38b268..64fe302de2 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -1898,7 +1898,10 @@ class AddAnnotation(bpy.types.Operator, tool.Ifc.Operator): drawing=drawing, object_type=props.object_type, relating_type=tool.Ifc.get().by_id(int(props.relating_type_id)) if props.relating_type_id != "0" else None, - enable_editing=True, + # ELEVATION/SECTION annotations use simple empty/line geometry that + # cannot be tessellated by the IFC geometry engine, so skip IFC + # item edit mode for these types. + enable_editing=object_type not in ("ELEVATION", "SECTION"), ) if props.object_type == "IMAGE": bpy.ops.bim.add_reference_image("INVOKE_DEFAULT", existing_object_by_name=obj.name) diff --git a/src/bonsai/bonsai/bim/module/drawing/workspace.py b/src/bonsai/bonsai/bim/module/drawing/workspace.py index 3710dfacb9..1d323af157 100644 --- a/src/bonsai/bonsai/bim/module/drawing/workspace.py +++ b/src/bonsai/bonsai/bim/module/drawing/workspace.py @@ -230,7 +230,8 @@ class AnnotationToolUI: @classmethod def draw_edit_object_interface(cls, context): - if DecoratorData.get_text_data(bpy.context.active_object): + obj = bpy.context.active_object + if tool.Ifc.get_entity(obj) and DecoratorData.get_text_data(obj): add_layout_hotkey_operator(cls.layout, "Edit Text", "S_E", "") if bpy.ops.bim.copy_annotation_to_drawing.poll(): row = cls.layout.row(align=True)