Hello! I’m trying to filter out the parameters by its name to create multiple schedules. Do I miss something between these nodes?
hello, you are missing a comparison (greater lower equality or mixture of 3) to have a boolen (true, false ) to send to the mask
edit:
here are 2 examples
Cordially
christian.stan
Hi @gtangWZEDY
As @christian.stan states, you need to have true/false results feeding into your bool mask node. Are you trying to get only the structural framing that has a value in the “Frame SKU” parameter?
Not sure how up to speed you are with schedules, but if that is all you are after, it would be better to create a Structural Framing schedule and use schedule filters to do the work instead of Dynamo. Schedules are dynamic and will automatically update as changes are made in the project. Any new elements that meet the filter criteria will be automatically added to the schedule. So you don’t have to keep rerunning the Dynamo graph. Also cool thing about schedules is you can copy and paste them between two projects that are open within the same session of Revit.
Hi! This is another post that I created, I already have all the filters, filed, etc set up, and have all the SKUs within the same schedule, now I need to split up those SKUs and have their own schedules. I’ll also need this script to be able to apply to other files in the future.
[Create multiple schedules with different structural assemblies]
But I have so many Frame SKUs, is there another way instead using (greater lower equality or mixture of 3)?
There are a number of nodes that you can use to filter elements by parameter values. EvolveLAB_Beaker has quite a few of these nodes. They all are just variations of utilizing the true/false methods. For example, if you want a list of all elements where the Frame Type equals WF3_24x136.25, then you can use the ElementFilter.ByParameterEquals. Below is a list of most of them.
But I want all of the frames that contains frame type(Frame SKU) parameter from the structural framing category. So I need to filter all of these frame types out. Is it still the same way to filter?
You still need a way to compare values. That could be whether or not a value exists or it could be for a specific substring within the value. Either way, your output needs to be a boolean list for FilterByBoolMask
to separate the elements.
If you have the elements filtered and now you want them grouped by value then you can use GroupByKey
to group the elements based on unique value.
Maybe my path is wrong, I just want these value to be able to list out without those empty value if that makes sense, there are several different values and I dont need just one of them. I tried to find parameter exist node to get all the values out, is there a similar one that I can use?
Check for a value. Dynamo will return an empty string if there’s no value so you just use val == "";
in a code block to check to see if the value is equal to an empty string.
So it that the list what you are wanting?
The in
output should now be all elements with no (blank) value and the out
output should be all elements with a value.
No. Still, I want these exist values in the node to be able to list out in another node without the index that doesn’t have value. Because those values are the main parameter that needs to be show up in the schedule.
what nodes should I connect with the in and out output?
You would have to tell us. You’re trying to filter the elements by parameter. That’s what you’ve done.
Now that you have your list of elements that have a value in the Frame SKU parameter, use the Get.Parameter node again and feed the filtered elements into that to get the parameter values.
This is what I have so far and I don’t feel right. I’m not sure where is the blank space coming from. I’m trying to filter out the matching indexes of the two parameters and then Im trying to get true indexes using filterbyboolmask. You can refer back to my other topic. Create multiple schedules with different structural assemblies - #16 by gtangWZEDY
You’re still comparing a blank against a blank which is going to be a match. You still need to filter out the elements with no value.