Hi All,
I just make a script for tagging ducts which length is above 2000 mm. So what i have done is firstly tag all the ducts using Tag.ByElement. Then I want to filter the length which is below 2000 mm so i take Node List.FilterByBoolMask it works smoothly. But the problem is when i connect List.FilterByBoolMask output to Tag Element input it shows something is Wrong. Can anyone look into it. It would be helpful.
(See Below attached Snap)
Thank You
If you look at your filtered list you’ll see you’re now providing a length instead of an element to be tagged. The mask
input for FilterByBoolMask
has to be a list matching the list
input. For each item in list
there needs to be a respective boolean in mask
that determines which output the item gets filtered to. In your case you would check the duct lengths to be >2000 and then filter the elements, not the lengths like you’re doing currently.
Thanks. your Suggestion is working
But What if i want to filter list (Which Contains Length).
I’m not sure I follow. The list
input is the list that gets filtered. If you wanted to separate the lengths then you would supply the lengths list. However, in this case, you need to supply an element to be tagged so you filter the elements based on length.
Thanks. Its Working. (Accepting as a Solution)
Related note: your script can potentially tag rise/drop (vertical) ductwork unless you are intending to manually select horizontal ducts via your Select Model Elements node. You may want to consider adding a duct slope filter depending on what your final goal is.
1 Like
Thanks for your suggestion.