I was wandering if it is possible to make a statement that will allow the parameter to have a specific value IF a YES/NO parameter is "True", and leave the input for the parameter available for the user IF the YES/NO parameter is "False".
To be a little more clear, here is an example of the statement I would like to create:
In this image I have created a parameter YES/NO that says that "Rectangle" is True or False.
If True, then the value of H2 = 0, but if False, then I would like the user to be able to input the value as usual.
I believe this is not possible but it will be extremely useful. We just need a String definition to allow this to happen. If not true than you type the input. Or in a better way, if not, then the value is not overwritten by the parameter and the user is still able to input.
Solved! Go to Solution.
Solved by barthbradley. Go to Solution.
Solved by ToanDN. Go to Solution.
No. You will need another parameter for input value.
If (rectangle, 0 mm, [input parameter])
Yeah I understand, but it is a bit of a redundancy isn't it? I mean I have to create an additional parameter to have a parameter that is the same parameter I need to input. I feel this is a must to update in revit to make family parameters more effective.
@giovanni.bonavia.pela wrote:Yeah I understand, but it is a bit of a redundancy isn't it? I mean I have to create an additional parameter to have a parameter that is the same parameter I need to input. I feel this is a must to update in revit to make family parameters more effective.
It absolutely is. Parameter functionality is one of the things that desperately needs an overhaul in Revit.
Hey hey thanks for the reply, I absolutely understand your point and is the same as per @ToanDN answer. Do not get me wrong, I appreciate that there is a work around but is not efficient. It is taking additional info that is not actually needed.
Anyway thanks for the answer
@giovanni.bonavia.pela wrote:Hey hey thanks for the reply, I absolutely understand your point and is the same as per @ToanDN answer. Do not get me wrong, I appreciate that there is a work around but is not efficient. It is taking additional info that is not actually needed.
Anyway thanks for the answer
What "additional information"? I don't understand. You're asking Revit to decide between 2 values based on another parameter's value. That's 3 Parameters. That's all I'm using in above screenshot. You can ignore the "Default Elevation".
...maybe there's a better way to build the family. Post it here and we'll take a look and see.
for me the limit of how Revit is asking me to set up the parameters is that the IF statement does not allow for an option to let the input open.
Parameter 01 = IF(Rectangle, 0, "Parameter 02")
This implies the fact that I need to create another parameter (Parameter 02) just to be able to input a value that I could already place in Parameter 01.
If there was an option like:
Parameter 01 = IF(Rectangle,0,INPUT) where INPUT is just the parameter value that can be typed in.
I hope this makes sense.
Yes, I get what you are after. That's why I suggested that there might be a better way to build the family. Don't know for sure without seeing it though.
You cannot mix text value with length value. It has to be all text or all length. There is no in between.
I know this, my point here is just a matter of creating a conversation at this point. I think that Revit could include more flexibility in the parametric language to be able to make less drawing and parameters, just with a little more language in it.
I will share the family to show you what I was doing. Really basic family and in a way "stupid" but it highlights some limitation to the parameters language. That is all.
This is where the idea forum was created.
https://forums.autodesk.com/t5/revit-ideas/allow-text-in-formulas/idi-p/6322082
HA! Maybe I'm not following you. I thought "H2" was a Length Parameter, and you were trying to get "H2" to accept a user input LENGTH value if "Rectangle" was unchecked. In other words, only have 2 parameters - not 3 parameters. If that's right, I love to know where you can do this in another database. I can't think of one.
I'm not sure what the sort of workflow would even be to have an undetermined boolean result. Do you want a UI that requests the correct value upon toggle? How does the family get reconciled if the parameter input doesn't match the storage type?
It's inconvenient to have parameters that are only used conditionally fill up your Properties palette, but that's essentially what happens any time you have geometry that is visibility-controlled anyway, so I don't see how this is a unique inconvenience.
I don't see a difference at the user level to define a string that represents a unitized value versus defining a unitized parameter and having that parameter exist in a conditional statement. Parameter grouping does a pretty good job of conveying usage intent.
Here is the family, really really basic. And of course I can create a third parameter to be able to have the value if not rectangle. Of course I could also have an additional element that hides out if Rectangle is ticked. But here is just me trying to make 1 object the most flexi as possible.
Thanks all for the useful debate and the helpful replies 🙂
Can't find what you're looking for? Ask the community or share your knowledge.