Concatenate Design Options

Is there a way to concatenate Design Options together in Revit?
Example:
If (Option Set 1_Option A), (Option Set 2_Option A)
If (Option Set 1_Option B), (Option Set2_Option B)

Many Thanks,
A.

What do you mean exactly? You can concatenate the strings, but what do you actually want to do?

Thanks Nick, I am new to Dynamo but I will try my best,
Let’s say I have 2 Design Options (Option Set 1 & 2, each one with 3 options inside A/B/C).
I want to pair design options together, so when I select Option Set 1-A, I automatically select Option Set 2-A as well.

Are you talking about functionality within Revit? So that activating one design set’s option also activates another design set’s similar option? This is not possible. Design sets are separate and unconnected. If you want two options to always be shown together then they should just be one option.

If you’re just talking about managing and manipulating these options/sets within Dynamo, then yes, you could group options (in their respective set) based on name or manual assignment. But this would not transfer to Revit unless you wrote a script to update all views based on option selections.

I would like a Dynamo script to push these changes into Revit. All my views are always set to in terms of Design Option. How would you go about building a script like this?

Thanks for the support :slight_smile:

I’d first ask again, if each set has a solution that is tied to other solutions in different sets, why have separate sets in the first place?

You could also create view templates specifically for each group of options you want to control together and apply these as needed. Your typical view templates would have no control over design options. This would allow you to control the visibility by using “Apply Template Properties”, which only applies the properties not currently controlled by the active template without actually changing the template itself.

If you really wanted to do it with Dynamo you would have to create a UI (Data-Shapes is your best option) that would allow you to pick an option by name (ex: Option A), group all options with that name, and set those options as the visible option for their respective sets in the active view (or all views if you really wanted but that would obviously be slower).

Likely the best ways to accomplish this will be via the UI as @Nick_Boyts pointed out, as I am not sure that there is any way to set the visible design options in the API.

Another options which this Revit API forum post makes me think might work (but I can’t confirm) would be to set the “visible in design option” parameter, however I am not sure if this can be done for multiple design options at once.

1 Like

Yup. I meant to circle back and check before I posted. You could essentially combine the two options by having Dynamo apply a view template for the visibility properties instead of actually changing them in the active view.

The main reason is that I have 10 Option Sets, not just 2, each with 3 to 5 Options.
In reality it looks more like this:
If (Option Set 1_Option A), (Option Set 2_Option A), (Option Set 3_Option A)…(Option Set 9_Option A)
If (Option Set 1_Option B), (Option Set2_Option B), (Option Set 3_Option B)…(Option Set 9_Option B)
If (Option Set 1_Option C), (Option Set2_Option C), (Option Set 3_Option C)…(Option Set 9_Option C)

I was hoping to automate these correlations with Dynamo, either by:
Making new primary option on all sets at once
Controlling all View Templates at once to show one option for all sets

I’m still confused as to why you would have 10 Design Sets with 5 Options if you want all sets to show the same relative option all the time. Why wouldn’t you just have 1 Design Set with 5 Options? If this is a retroactive fix because you already have all the options then ok, that’s understandable, but it doesn’t sound like you’d want this to be the typical behavior.

Either way, the view template option seems like your best bet, whether you use Dynamo to automate that for you or just manually set it on each view as needed.