I'm currently trying to design a family with several sets of yes/no parameters to dictate whether certain items are visible in the family, however, i want to coordinate them with if:then parameters so that only one of the parameters is checked while the others are off, however, I can't seem to get it to work with more than a single if=then statement, i.e.: I can't get it to work if i plug in "not(Parameter1 OR Parameter2)". Am I simply not understanding how the conditional statements work in this case, or is it impossible to make "or" style conditional statements in Revit?
Much help appreciated.
@mbootsUJVFW wrote:
I just tried that, but i'm getting an error code "Improper use of boolean expressions". for reference, this is what i input: "NOT (OR (TC, TC+C))"
(TC & TC+C) are the two parameters that i want the yes/no parameter to not work with
NOT (OR (TC, [TC+C]))
Try not using any booleen symbol (+ - * /) in your parameter name. If you must use them then you need to add [...] to frame them in the formula.
@mbootsUJVFW wrote:
Well, that worked to solve the boolean error code, and that one parameter is now working, however, when i try plugging that logic into the other parameters, it comes back saying that there is a circular chain of references among the formulas. for instance, this is what I'm trying to get my parameters to look like:
1 = not(or(2, 3))
2 = not(or(1, 3))
3 = not(or(2, 1))
You cannot have a circular chain of reference like that. Use Integer parameters to drive the Yes/No parameters instead of what you are doing.
Integer Param
1 = (Integer Param = 1)
2 = (Integer Param = 2)
3 = (Integer Param = 3)
Toan's method is scalable to an arbitrary number of parameters while being pretty intuitive to read, so you won't have to worry about users trying to modify logic chains if they ever wind up adding more elements constrained to the same visibility set. This logic's also usable for all sorts of family types, we use these to manage pipe/duct tag variations based on what information we want a particular sheet to display.
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.