Small fix to allow setting cad_tool even if operators were called not from viewport and to avoid warnings like "Warning: Tool 'bim.cad_tool' not found for space 'PROPERTIES'"
Changes:
1) Added editing railing / roof path as hotkey to bim / cad tools.
2) Added profile decorator
3) Some switching modes and tools for convenience
4) Fixed nasty bug in tool.Blender.apply_bmesh - method wasn't updating current mesh if it was in edit mode.
Added Ifc Roof modifier (also added it to shift-a menu and type manager). It works similar way to railing modifier - you define roof profile and then roof is generated.
Currently it has only 1 type of roof - HIP_ROOF (it utilizes bim.generate_hipped_roof operator).
Added Ifc Railing modifier (similarly to stair, window, door modifiers...).
You can start working with it either creating some edge based path and adding this modifier or by creating Railing for Shift+A menu (it will create some simple path to start with).
In railing modifier you can switch two edit modes - editing main railing properties and editing path. Editing path will show only the railing path, you can edit it and save it. You cannot edit the railing pass if you're not in this mode.
Noticed bug trying to edit "Data" in psets from ifc modifiers and fixed it.
Traceback:
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\pset\operator.py", line 94, in execute
self.load_from_pset_data(pset)
File "\blenderbim\bim\module\pset\operator.py", line 206, in load_from_pset_data
metadata.set_value(value)
UnboundLocalError: local variable 'value' referenced before assignment
Currently it's always set to the same thickness and doesn't update from pset value.
It's currently using zigzag pattern to indicate batting because some techincal limitation of the shader (Error: C6033: Hardware limitation reached, can only emit 256 vertices of this size)
Also added batting to the annotation tool panel.