Select Entire Wall By Category

I wanted to create a simple Dynamo script that would allow the user to only select a certain category (in this case, walls), then return the total sum of all the selected wall areas. However, whenever I try to incorporate a categorized selection node into my graph, it reverts to each individual wall type element within a stacked wall instead of the entire wall.

When using the OOTB “Select Model Element(s)” node and selecting a stacked wall element, it selects the entire wall without issue, and the area value can be pulled easily. You can even tab to select individual wall types within the stacked wall and pull its area. However, when the same is tried with a category-based selection node, i.e., “Select Model Elements By Category,” it only lets the user select each wall type within the stacked wall, effectively multiplying the amount of work required to select a wall by how many wall types it has embedded within it.

Just to understand the requirements, I want the graph to:

  • Not allow the accidental selection of elements other than walls.
  • Select multiple specific walls (Not all wall elements within the project).
  • Select stacked walls as a whole, not each wall type within a stacked wall.
  • Not require Python outside of package nodes.

Some wisdom on this issue would be fantastic.

Can you post a video showing the behavior difference? I’m not sure I follow, but I haven’t seen stacked walls on a project in awhile.

selectstackedwall
For better explanation with the “Select Model Element” node I can select the entire wall or even its sub walls via tab.
Meanwhile when I try doing the same with the “Select Model Elements By Category” Node which is set to walls, it only allows me to select the sub walls and not the entire wall.

Trying with similar nodes from other packages the same applies:
Datashapes: Select Model Elements of Category

Hi,
with this configuration I don’t have this problem.

Regards, Christian Stan

hi not really sure but maybe something or…can for sure be a more elegant way i think..just some intersect

0r just maybe