Turn on all objects in an aggregate, if the drawing's camera sees at least one aggregate object.
When you bim.activate_drawing, it would be nice if there's at least one object, in an aggregate, that is seen by the camera, that it turns on all the objects in the aggregate.
For example, let's say you have a simple moment frame, with (2) columns and one beam. And you have a plan drawing, that cuts through the columns. When you activate this drawing, the beam turns off since it's above the camera. In this scenario, if you want to move the entire moment frame in this drawing, you have to turn that beam on before moving, or else the beam will not move with the columns.
If all the objects in an aggregate are turned on, if at least one object is seen by the camera, you can move the aggregate with confidence that you don't have orphaned objects that are unmoved.
Thoughts?

Comments
Here a PR to address that https://github.com/IfcOpenShell/IfcOpenShell/pull/7323. Rather than turn in on all the elements of the aggregate in the drawing (which I guess it is not right), when we "activate model" we can compute the delta between the moved object in drawing and ifc old position, apply thaat to the non-moved aggregate parts, sync to ifc and switch to model that will have all the aggregate parts correctly positioned.
Cheers!
Wow, you're knocking 'em out today! :)
I like how, moving the aggregate, doesn't depend on the camera, which make more sense.
Thank you!
Would it be possible, if using the move/rotate gizmo, for this to not have an affect on the aggregate as a whole?
That's the way it works now, and allows you to move parts without having to 'tab into' the aggregate.
...
video: https://community.osarch.org/uploads/editor/kr/rbxc3l3ggo23.mp4
I did not even know there was that possibility to use the gizmo to "edit" the assemblies. Nice! I have changed the logic. I have not found a reliable way to track the use of the gizmo so I have changed the logic and apply the transformation tracking if IFC Move Aggregate has been invoked. Only in that case we do the transform.
Please take a look:
Cheers!