It caused errors because it was expecting mesh object to be selected - when it's not necessary that active_object is the one that mesh belongs to and sometimes no objects can be selected at all.
Error occured when you were editing annotation mesh and tried to switched from EDIT mode
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\geometry\operator.py", line 838, in invoke
elif element.HasOpenings:
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 153, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC4.IfcAnnotation' has no attribute 'HasOpenings'
Crash was caused by some change in Blender Python API in 3.5.
The code below resulted in `ValueError: bpy_struct: item.attr = val: MeshPolygon.vertices: array length cannot be changed to 4 (expected 0)`
```
obj.data.polygons.add(1)
p1 = obj.data.polygons[-1]
p1.vertices = (v1.index, v2.index, v3.index, v4.index)
```
Now adding STAIR_ARROW annotation is a bit more clever - if you have IfcStairFlight selected when adding this type of annotation it will automatically:
1) define stair as it's parent;
2) add the stair as it's product;
3) place itself along the stair (it's assumed that stair direction is X+)
Example - https://i.imgur.com/Ze9DoK2.png
It was causing an error below on opening BIM Tool and probably in some other places.
```
Traceback (most recent call last):
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 35, in draw
self.draw_tool_settings(context)
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 48, in draw_tool_settings
tool = ToolSelectPanelHelper.draw_active_tool_header(
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_toolsystem_common.py", line 809, in draw_active_tool_header
draw_settings(context, layout, tool)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 67, in draw_settings
BimToolUI.draw(context, layout)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 89, in draw
AuthoringData.load()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 52, in load
cls.load_ifc_classes()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 109, in load_ifc_classes
cls.data["ifc_classes"] = cls.ifc_classes()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 196, in ifc_classes
+ tool.Ifc.get().by_type("IfcDoorStyle")
File "\Blender\3.5\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 364, in by_type
return [entity_instance(e, self) for e in self.wrapped_data.by_type(type)]
File "\Blender\3.5\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 4499, in by_type
return _ifcopenshell_wrapper.file_by_type(self, *args)
RuntimeError: Entity with name 'IfcDoorStyle' not found in schema 'IFC4X3'
Traceback (most recent call last):
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 35, in draw
self.draw_tool_settings(context)
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 48, in draw_tool_settings
tool = ToolSelectPanelHelper.draw_active_tool_header(
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_toolsystem_common.py", line 809, in draw_active_tool_header
draw_settings(context, layout, tool)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 67, in draw_settings
BimToolUI.draw(context, layout)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 92, in draw
cls.draw_header_interface()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 351, in draw_header_interface
cls.draw_type_selection_interface()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 367, in draw_type_selection_interface
if AuthoringData.data["ifc_classes"]:
KeyError: 'ifc_classes'
```
Added support for sliding doors in IFC Door Modifier.
The main differences are 2d representation (https://i.imgur.com/VyEH569.png) and the door panel being placed before the lining, not after
Because of jumping between modes "bim.set_arc_index" doesn't remove newly created vertex groups on undo which resulted in error in decorator.
File "\blenderbim\bim\module\model\decorator.py", line 134, in __call__
if group_index in vertex[deform_layer]:
AttributeError: BMElem[key]: invalid key, must be a BMLayerItem