To make sure user will get an error if files are not provided - if we use sys.argv then we always have __file__ in it and if user won't provide fiels they'll get a less readable error
Before:
sr.setFile(files[0])
~~~~~^^^
IndexError: list index out of range
Now:
usage: draw.py files [files ...]
draw.py: error: the following arguments are required: files
Example - https://imgur.com/a/lixOxeN
Ideally users shouldn't need those as syncing should work seamlessly but since we do have syncing it can be useful if you can check sync status from the UI.
edited pyproject.toml as `disableBytesTypePromotions` is disabled by default in non-strict mode and type checker intrerprets `bytes` as `bytes | memoryview | bytearray` which is deprecated in https://peps.python.org/pep-0688/#no-special-meaning-for-bytes
Please correct me if I am wrong:
while trying to create relationships I saw that in def create_rel_sequence (line 194) there is a parameter missing which should reflect the "rel_type", otherwise and according to "assign_sequence.py" the sequence_type remains
def assign_sequence(
file: ifcopenshell.file,
relating_process: ifcopenshell.entity_instance,
related_process: ifcopenshell.entity_instance,
sequence_type: str = "FINISH_START",
The operator is no longer needed and all the variations can be called exactly at the workspace hotkey level now (and thus nested operator errors won't cause runtime exceptions)
The alignment tool was initially designed specifically for LAYER2 objects. It doesn't have to be, so now LAYER2 is a special case where it may have its baselines and sidelines aligned whereas non-LAYER2 objects simply align based on bbox.
1) Used a hack to bring `blenderbim` into the main namespace instead of `bl_ext.repository.blenderbim`. This is not an official way to do it but this works for testing stuff (official way is to create a stub wheel that would redirect all `blenderbim` requests to `bl_ext.repository.blenderbim`).
2) AddonPreferences now require blender package name as it's bl_idname (e.g. bl_ext.repository.blenderbim)
3) Addressing preferences now also works through the blender package name. Created method in tool/Blender.py to incapsulate those details.
Example - https://imgur.com/a/EDfBTJS
Paths to the opened IFC projects are now stored and then you can open them from File -> Open Recent IFC Project menu. It's done in very similar way to how Blender does it, list of files is stored in `Blender\4.1\config\recent-ifc-projects.txt`.