I’ve taken a list and filtered the list based on the value of the Fabrication Service parameter. I would like to assign a parameter value to the items in the filtered list. I tried to assign a string to the comments field but had no success. What am I doing wrong?
I would try connecting the “Elements” from the node “All Elements Of Category” to “LIST” on the node “ListFilterByBooleanMask” Edit* Currently you are isolating the Parameter Name and inputting that in to your List Filter then connecting that to your elements node on Set Parameter, the issue with this is that the Parameter Name is not an element, it is a parameter of an element. you need a direct connection ,through your List Filter, of an element option of a node to the other element option of a node.
Michael, If I do that it will bypass the filters I’ve setup (fabrication service). I tried what you suggested but got errors. I used the LunchBox Get Parameter Value node because it was actually pulling the text values I wanted. When I use Element.GetParameterValueByName parameter I get numbers. I bet you’re right though…it probably has something to do with the LunchBox node I used.
This For example will isolate all my curtain wall panels with the mark 1013 in list IN and and all the other in the list Out, if I want to assign a value to a the assigned parameter it should then be possible.
You need to plug an element in to the element input of Element.SetParameterByName. In this photo you are just filtering a parameter value not an element. Since the lists from All.Elements.of.Category and the Paramiter Value nodes are the same you can plug the elements int the List.FilterByBoolMask and it pass the Oxygen elements through.
Whoops missed the extra level in the list when ran through the Parameter Value node. Move Flatten between Srting.Contains and List.FilterByBoolMask. You will no longer need it after List.FilterByBoolMask. Should be good after that.
I removed the flatten node completely and still have problems. I’m getting the list I want, I’m just having trouble assigning the items in that list a value. I did try to flatten the list as you suggested between string.contains and list.filterbyboolmask and didn’t receive the output I wanted.
I guess I’m not following you? The List.FilterByBoolMask is looking for a list, not an element. Correct? I follow what you’re saying regarding filtering a list of parameters and not elements. How do I select the elements with the parameters I want, after filtering, and then apply a parameter value? I notice when I run this the elements aren’t highlighting in Revit. Can you take a look at the files? Thanks for the help!
A list can be anything. List of numbers, letters, elements ex… Some nodes can only except elements, strings or numbers.
List.FilterByBoolMask is just going to
In: Pass the items in the list input with a corresponding True values from mask.
Out: Pass the items in the list input with a corresponding False values from mask.
String.Contains is going to create a True / False list based on whether or no the items from str contain the item in Search For.
You took a parameter from and checked if it had Oxygen. The parameter with oxygen are True and the ones without are False. If you place the Elements List, Parameter value list and the Fattened list next to each other they should look like this.