Previously:
E TypeError: Object of type Prophecy is not JSON serializable
Now:
E TypeError: Failed to serialize call: '{'name': 'duplicate_ifc_objects', 'args': ([<Prophecy for 'bonsai.core.tool.Ifc'>],), 'kwargs': {}}'.
E Possibly due to unpredicted return value for some call.
E See the list of the recent calls without return values:
E - {'name': 'get_object', 'args': ('annotation',), 'kwargs': {}}
E - {'name': 'run', 'args': ('group.assign_group',), 'kwargs': {'group': 'new_group', 'products': ['new_drawing']}}
E - {'name': 'run', 'args': ('group.edit_group',), 'kwargs': {'group': 'new_group', 'attributes': {'Name': 'unique_name', 'ObjectType': 'DRAWING'}}}
E - {'name': 'run', 'args': ('group.unassign_group',), 'kwargs': {'group': 'group', 'products': ['new_drawing']}}
E.g. it shows now:
AttributeError: Interface 'bonsai.core.tool.Drawing' has no attribute 'weird_method'.
Instead of:
Prophecy <class 'abc.Drawing'> has no attribute weird_method
`camera_props.update_representation` basically always returned True leading to `bim.update_representation` call on camera on every drawing activation. It was always True because `create_camera` wasn't setting `representation` and some other related camera props.
Changes:
- create_camera now setting representation
- ortho_scale, rather_x and raster_y now explicitly is tied to width, height and drawing scale props, not on depsgraph update. Depsgraph update wasn't allowing to set these props in time for create_camera to record representation correctly
- depsgraph update now only in charge of ortho_scale (just to be sure user won't touch it by hand) and scene.render resolution
Previously you would use bim.override_mesh_separate from UI with any of the available `type` options, then running operator separately would leading to running this operator from F3 to always choose this options (possibly leading to errors in objects mode)
mesh.separate will be used for all other selected non-ifc objects.
Included some code to support multple objects but there are still a few issue with it, I'll look into soon.
`obj` variable was used but never passed to `separate_element`
```
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 458, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\geometry\operator.py", line 105, in _execute
self.separate_element(element)
File "\bonsai\bim\module\geometry\operator.py", line 175, in separate_element
new_objs = [obj]
^^^
NameError: name 'obj' is not defined
```
Mimicking default mesh.separate behaviour.
@Gorgious56 I don't know if you've seen this before, but you might be interested - I've found a way to figure if operator wasn't called without any arguments.