Place detail family as symbol for fire protection values of doors

We try to place detail families (symbols) according to values of a parameter called “fire protection” (Brandschutzanforderung) at the origin of filtered doors.
As the parameter can have 10 values, do we need to copy the script 10 times?
Is there a way to combine the lists and get it in one script?

Hi @Johannes_Meiners

You need to use List.Combine node that will do the job.

Hi Kulkul,

thanks´, but what kind of “Combinator” could do the job? Could you give an example?

Johannes

@Johannes_Meiners You can read this link how it works http://dynamoprimer.com/en/06_Designing-with-Lists/6-3_lists-of-lists.html
Below is an example:


If your not able to succeed drop files here. We will help you to understand how it works.

Hi, a GroupByFunction node can be used to sort the list, and then a List.Create with symbols in the correct order (the indexes will match)

Yna_Db,

thak you, it works, until every item of the sorted list is used for at least one door.
If one fire ratin value is not used, but the symbol is listed the index will not match.
So there is no “connection” between values and symbols.
Files to play with.

Brandschutzsymbole.dyn (35.9 KB)
Projekt-brs.rvt (2.4 MB)

1 Like

Before I try to improve it, I would advise to create a legend first (so at least one of each item could be placed). But I will take a look further. Thanks for your answer.

That is what we do at the moment, and it seems to work.

This could be a tool for display information with graph. symbols for a lot of situations.

Another idea, what to do when parameters change. Delete all symbols and place them again will be easy,
but maybe there is a better way to update information and symbols?

Tanks´

Johannes

The Dictionary.ByKeysValues node simply maps the list of values (=keys) with the list of symbols types (in List.Create), and returns as a result a list of symbols instances accordingly to the parameter values from the existing elements (=searchKeys). The parameters syntax in code blocks depends on the parameter type.


When parameters change, to re-run the script should be enough, there’s apparently no need to delete anything (at least that’s what I see).

1 Like

Yna_Db,

great, it works and it is “magisch” the spring node does it.
The only thing i changed is a “remove null”. If there are doors with no fire rating value there will be an error at the
last node.

Thank you

Johannes