2 Ways to Use Multiple Choice Option Sets in Archicad Expressions

It’s a shame! You can’t use option sets with multiple choices in property expressions in Archicad. When you the tick the box “Allow multiple choices” in your option set property, the same property is no longer available to choose in expressions. And if you have already used it in another expression, that other expression will report the property as missing.

Here are two workarounds to handle at least some cases where you’d like a multiple option-set in an expression.

1. Single Option-Set with All Needed Option Combinations

It’s a heavy duty workaround and really only is feasible if you have very few options. I got the idea from this thread on the German Archicad Forum.

Let’s say your option set consists only of two options:

  • Option A
  • Option B

You could make the option set instead with the following options:

  • No Option
  • Option A
  • Option B
  • Option A + Option B

And for example check if an option was selected via string matching in an expression:
IF ( CONTAINS ( "Option A", Your Combined Option Set), "Option A selected", "Option A not selected")

Useful if…

  • you don’t need all the combinations.
  • you only have very few options.

Drawbacks

  • Very cumbersome to write out all the combined options if all combinations are needed.

2. Make Multiple Properties with the Same Options

Now what can we do if the number of options increases? Let’s say this time we have 5 Options to choose from. The previous example would give us 2^5 = 32 combinations to list if we want to be exhaustive. That’s a bit much.

So alternatively we can create several option sets with the same content.

Your Option Set 1

  • Option A
  • Option B
  • Option C
  • Option D
  • Option E

Your Option Set 2

  • Option A
  • Option B
  • Option C
  • Option D
  • Option E

Now you can make another String expression property Your Combined Option Set: CONCAT (Your Option Set 1, Your Option Set 2)

And you could use it similarly to the previous workaround:
IF (CONTAINS ( "Option C", Your Combined Option Set), "Option C selected", "Option C not selected")

I’ve got the basics for this idea from Richard Spracklen, who is using a similar approach for his keynote properties.

Useful if…

  • you only need a small number of parallel choices but have a long list of options.

Drawbacks

  • A lot of duplicated option sets if you want to allow a lot of simultaneous choices.
  • An option can be selected multiple times.

Try It Yourself!

Fire up the Archicad Property Manager and try the two approaches for yourself!

  1. Create the option sets for approach #1 or #2 (and the extra String expressions for approach #2)
  2. Create an expression to evaluate which option was selected
  3. Make the properties available to some elements you are going to test this with
  4. Place an element and choose some options in the new option sets
  5. Check your evaluation property for that element

Both approaches have their limitations, but maybe one of these can help in your situation. If you found this helpful, sign up to my newsletter below to get notified when I post more tips like these or when I release new Add-Ons.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *