How to filter nested istances?

dynamo
listfilter
familyinstance

#1

Hi everyone,
it seems to me very weird I couldn’t find anything on this forum, so I’ll start this fun topic :slight_smile:

I was wondering which is the best method to filter out a nested object from a list…
Let’s say I have a schedule of furniture istances in a projects, some of which are nested elements of the main istance… how would you filter them out? (extra problem: sometimes the nested object is itself an non nested object in the project… :\ )

Hope it was clear, and many users would offer their point of view, thanks!

Actually I was filtering them out with a type mark/description criteria, but still the problem remain!


#2

Hi Carmine,

I have added the Nested Name to tose objects zo I can filter them out quick and easy :wink:

For example:

Funiture_A
-Nestesed_Table_A
-Nestesed_Chair_A
-Nestesed_Chair_A
-Nestesed_Chair_A
-Nestesed_Chair_A

Greatings


#3

Yeah I thought of that,
what if Chair A (nested) has to be the same name of the Chair A (not nested) (for Naming compliance on other schedules)


#4

Run your list of furniture instances through Clockwork’s FamilyInstance.SuperComponent node. It will return null for all instances that are not nested. Running that through the IsNull and Not nodes will give you True for nested instances and False for anything else. You could then write those values into a project parameter and use that to filter your schedule.


#5

I saw the definition, it’s good, but actually split the istances in two groups: those ones who are nested, and those who are not. It’s not actually picking the basic families, it doesn’t work very well for my purpose… I’d like to filter them out directly in Dynamo…


#6

Then just use a FilterByBoolMask node instead of writing to a project parameter. You mentioned schedules so I assumed you wanted that data in a schedule, hence the project parameter.


#7

Add a node from “LunchBox” called “Manage.RemoveNulls” after the SuperComponent node then finish out the script. After reading the SuperComponent node from this post it just now helped me solve my issue in gathering the Doors & their hosted Wall’s Fire Rating into a new parameter I called “Host Fire Rating” to transpose that info to to make the Relationship Analysis of Room/Space from/to & the Wall’s Fire Rating to determine the Fire Rating to assign to the Door. My main door family has a nested Doors as Panels to filter out & also a Window as Frame.


#8

Sorry,
but seems like I don’t get the logic in this problem, or I explained it poorly…

This is my situation… actually after using the Lunchbox and null definition I only have the three istances from the NESTED family, the other two won’t be counted…
What I want is to count the Three - Chair as one istance (because it’s an istance from a single family, only nested) … one istance from the chair with two arms … and an other one from the chair with one arm…

Which the filter logic to do that? Seems like one case exclude the other…!


#9

How about posting your graph and a sample model? That has proven to be the most reliable form of communication on this forum so far.


#10

Andreas I’ll post it, thanks for the tip. I’m grounded with other staff right now, that’s why I was not able to do it.

Thanks!


#11

I worked on 2 solutions for my Shared Nested Doors as Panels. The Cyan colored groups gave me 10 more than I needed compared to the Door Schedule (which I use a parameter “Appear in Schd” to filter out all Shared Nested). Only when I exported data of the mark values to update all Shared to start with “N” for example could I properly get back the same amt as in my reporting Schd to verify my script. All this so I could get the report on their hosted Wall’s Fire Rating to then be mixed with Room data to calc the Door’s Required Rating instead of needing to manually check in a plan to a faster analysis on a spreadsheet.
Here is my work for the 2 options for reference & hopefully someone can chime in with a “Leaner” method…