Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BlenderBIM -"Block" collections - Selecting all elements in the collection by default. #3887

Open
danielkrajnik opened this issue Oct 14, 2023 · 11 comments

Comments

@danielkrajnik
Copy link

danielkrajnik commented Oct 14, 2023

BlenderBIM could set a callback to select all elements in a collection when any of its constituent elements gets selected.

This could ensure that elements in a collection don't get accidentally separated and may seem more familiar to workflows in other CAD/BIM software.

User should be allowed to choose, which collection gets this behavior. Otherwise a project with a lot of nested collections may become unmanageable. My initial idea to implement this is to add a prefix .block to the name?

Color of the selection would change to indicate it.

A separate operator would be needed to turn this callback off when the user wants to access individual elements in such a "collection block".

Personally I'm not sure how 3d artists manage their assemblies in larger scenes without such mechanism. The same behavior appears in maya, although not in 3dsmax. I assume that as the assemblies grow more complex they create dummy handles to communicate the child-parent relationships, but this approach wouldn't work inside of buildings with many overlapping elements and limited visibility.

@danielkrajnik danielkrajnik changed the title "Block" collections - Selecting all elements in the collection by default. BlenderBIM -"Block" collections - Selecting all elements in the collection by default. Oct 14, 2023
@brunoperdigao
Copy link
Contributor

I was planning to achieve a similar goal for duplicate aggregates by using IfcGroup. In my case, I'm trying to use a prefix in the IfcGroup name, instead of relying on blender collections. I'll update here when I have something to show.

@danielkrajnik
Copy link
Author

danielkrajnik commented Oct 16, 2023

Thank you, I don't want to duplicate the work, so will check "duplicate aggregates" first.

@brunoperdigao
Copy link
Contributor

I'm playing with the idea of creating a decorator for aggregates. It creates a bounding box around all the objects in the aggregate when you select one of them. It doesn't prevent you from moving or editing, but it warns the user that the object belongs to an aggregate.
Also added the idea of selecting everything by double-clicking one of the elements.
Thoughts?

GIF 22-10-2023 00-17-06

@danielkrajnik
Copy link
Author

danielkrajnik commented Oct 22, 2023

Wow, that looks cool! "selecting everything by double-clicking" sounds useful although I'd still prefer to turn it around and select everything by default (if it's a "tagged" aggregate) and double click to move a part (or a "sub-aggregate"). The main concern for me was that the user would accidentally move a single part of the aggregate and thus mess it up.

The decorator box looks like the one from Sketchup - that's a good thing I think (would make it more familiar for the new users).

Sorry, I've been stuck due to a few technical desktop issues (unrelated).

@theoryshaw
Copy link
Member

cool!

I'd still prefer to turn it around and select everything by default (if it's a "tagged" aggregate) and double click to move a part (or a "sub-aggregate")

would agree. Maybe, could it be a 'tab' to get into the aggregate? ... similar to other Blender UI approaches.

@theoryshaw
Copy link
Member

I do like the double click though... i wish that did the same thing as 'tab', for other stuff in BB, as well.

@danielkrajnik
Copy link
Author

iirc 'Tab' is also used in revit to select subcomponents? Would make it more familiar to those users then.

@brunoperdigao
Copy link
Contributor

I generally agree with the idea that we should keep things similar to how they work in vanilla Blender. That's why I would keep "one-click=one object". But maybe this could be customizable in the addon preferences. I think it's possible, would have to investigate.
How would 'tab' work when you have to go into and aggregate and then 'tab' again to edit it?

@danielkrajnik
Copy link
Author

But maybe this could be customizable in the addon preferences.

Yes, making it "opt-in" sounds like a good idea - in the same way "Base Snap" and "Navigate while Transforms" options were added.

@Moult
Copy link
Contributor

Moult commented Oct 23, 2023

Alt-D currently selects the decomposition. How about if there is no decomposition it selects siblings instead?

@brunopostle
Copy link
Contributor

Alt-D currently selects the decomposition. How about if there is no decomposition it selects siblings instead?

How would this work with multiple levels of aggregation? Thinking also that for the user, the distinction between aggregation and spatial containment should be completely transparent ie. You should be able to select a storey in exactly the same way as an aggregate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants