There are times when I want to have something's distand be relative to another dimension. This currently requires assigning both to labels.
But then the user can change those labels.
Dimension A represents the length of Side A. I want Side B to be 1.5 x Dimension A. And I don't want the user changing Side B.
There might be a time where I want to let the user SEE the label for Side B (but be unable to change it) and there might be a time where I don't even want them to see it either.
Hi, Here my trick to have a read-only parameter:
Create a yes-no parameter called: Lock
Create your length parameter: Size A
Create your length parameter: Size B with the following formula : if(Lock, Size A*1.5, Size A*1.5)
This way the Size B parameter will be greyed out and read-only.
To hide a parameter there is another post explaining it : Family parameters
Hope this help! Mario
Thanks I found the thread you mentioned (at least I think it's the one).
It links to a blog entry (http://aectechtalk.wordpress.com/2012/07/12/hiding
The parameters I'm dealing with won't/shouldn't exist anywhere else. Is there anyway to do this WITHOUT using shared params?
And assuming for a minute that I DO go that route, what happens if the user attaches a DIFFERENT shared params file to the project? Will my params be "lost"?
I don't know a way to hide family parameter other then shared parameter!
But,the shared parameter will be loaded and part of your family, it doesn't matter which shared parameter file linked to your project when you use the family.
Also, I tried the method you suggested and it worked. BUT it created a new parameter that didn't really do anything. If I turn it off, nothing changes. And I really didn't want the user to have the option of UNLOCKING it anyway.
This is the forumla I entered for Side B: =if(1=1,Side A *1.5, Side A * 1.5)
This way there's no extra param to create and the if statement is going to evaluate to true no matter what.
This tip was what I was looking for also, many thanks.
A slight enhancement - the formula can be:
For Side B: =if(1=1,Side A *1.5, 0)
This saves copying or re-typing the "Side A*1.5" formula again. As referred to in the prior post, there is no way the statement can be false (ie. 1=1 always - at least in Revit's mathematical universe). Saves typing mainly with lengthy parameter names or complicated formulas.