PDA

View Full Version : Shared Families, Hiding Parameters...



Calvn_Swing
2006-11-16, 08:24 PM
So, I'm messing around with a very complex door family, and it is raising some questions for me:

The general framework is as follows:
Frame Family - Opening, 5 Frame Types with visibility controlled by Yes/No switches.
Door Panels - Nested in, 5 Door Panels with visibility controlled by Yes/No switches.

Natrually, there are quite a few parameters associated with these. In terms of managing the host family:

1. Is there any way to hide parameters? Either because they are controlled by a formula and I don't want someone messing with it, or because a particular parameter is associated with one of the off options? Can you make family types and delete parameters in one type but not in another perhaps? If you could additionally write a conditional equation for the Family Type parameter so that the Yes/No visibility parameters could control the Family Type as they would be combinations of visibility settings that might work.

2. One option was to make the nested doors "shared" families so that I didn't have make parameters in the Frame Family to control the parameters only in the Door Panel families because you can select each family separately. However, then you get two entries in the door schedule for each door (1 for active frame, one for active door). Is there a way to trick Revit into making them one entry other than making them not shared families?

3.Is there any way to change how a Yes/No parameter displays in the sheet view of the schedule? Currently it says "Yes" or "No" but that is not correct for how we're using it. Actually showing up as a checkbox would work fine, or being able to specify what displays in each condition would be preferable.

Thanks!!!

Scott Hopkins
2006-11-17, 02:56 AM
Question 1 - No, there is no way to hide parameters. This item is on my wish list.

Question 2 - If you want to schedule a pair of doors as one item then don't "share" the nested families. The main reason for sharing nested families is to schedule them separately.

Question 3. - No. Unfortunately we are stuck for now with yes or no in the schedules.

Another tip: rather than controlling your different door panel options with yes/no parameters, you might try controlling them with a "family type" parameter. That way you get a drop down list of the different door types. If you go this route, one thing to be mindful of is that multiple nested families all need to have the exact same parameter names.

Calvn_Swing
2006-11-17, 03:44 PM
I figured as much. Sometimes I just get frustrated because there are so many things I want Revit to do, think it should be able to do, and it jjust can't!

As for using family types, per the first question can you have parameters in one type that aren't in another? And, can parameters be Type parameters in one Family Type and Instance in another???

Also, is there a way to make dimensions directional? If I have a dimension that is located on a centerline, but the geometry that it is controlling could be a distance on either side of it. So, you put in a negative value for one way and a positive value for another?

I know you can just change what you are dimensioning to so that it isn't ever a negative value, but it doesn't make sense to dimension the Geometry off anything but the centerline in terms of the family making sense. I'd need to make another parameter that would allow someone to offset the distance they want and write a conditional statement to make the actual dimension adjust appropriately. A little excessive perhaps.

Thanks again.

robert.manna
2006-11-18, 10:13 AM
Also, is there a way to make dimensions directional? If I have a dimension that is located on a centerline, but the geometry that it is controlling could be a distance on either side of it. So, you put in a negative value for one way and a positive value for another?

I know you can just change what you are dimensioning to so that it isn't ever a negative value, but it doesn't make sense to dimension the Geometry off anything but the centerline in terms of the family making sense. I'd need to make another parameter that would allow someone to offset the distance they want and write a conditional statement to make the actual dimension adjust appropriately. A little excessive perhaps.

Thanks again.In the past I've used two reference planes and two dimension parameters with conditional statemensts to achieve this functionality. The user thinks that they are enteirng whatever value they want (I think I even managed to allow the user to enter a negative number, can't remeber for sure) and behind the scenes I have all the numbers jump through alot of hoops to move the reference planes around as needed. Dimenions that are paremeterized can go to 0 which is what makes the whole thing work.

HTH,
-R

Revit MEP DR
2009-06-03, 01:43 PM
I have a similar question. I have a parameter that I want hidden, or locked unless a checkbox is checked, then I want it to be available to the user to enter a value for the instance parameter. Any suggestions?

Thanks
David Raynor

robert.manna
2009-06-03, 01:48 PM
You could do a conditoinal statement that drives the actual parameter, the conditional statement would "lock" the actual value based upon your check box, if your box is un-checked you could have another parameter that allowed a value to be entered. You can't actually "hide" stuff, simply prevent people from doing certain things at certain times.

HTH,
-R

Revit MEP DR
2009-06-03, 01:55 PM
Yes, and I have played with that option. The problem I have run into is this, If the check box is selected, then this parameter (Length B) = Length A. If the Check box is Not selected, then I want the user to be able to input a value for Length B. I have to use a default value of at least 3", is there a Conditional statement that I can put in there that will allow for a user value to replace the default?

Example: if (Symetric, Length A, USER INPUT) Where Symetric is a check box.

Thanks

robert.manna
2009-06-03, 02:13 PM
You're going to need something like this, and no garuntee that my actual syntax is valid:

Parameters:

Checkbox Parameter (Yes/No), we'll call this "CK"
Overide Value Parameter (for when Checkbox is "no"), we'll call this "OV"
Actual Value Parameter (the label used to drive your geometry), we'll call this "Value"

Value = if(CK,x, OV)

Where "x" is a harcoded value, it could also be replaced with another parameter. Parameters can be "locked" by entering a value in the formula collumn, rather then an actual formula. The benifit to that would be it is slightly easier to change the "hard" value if required, rather then rembering what you did with the conditional statement(s).

HTH,
-R

Revit MEP DR
2009-06-03, 02:42 PM
That is how I have gotten the functionality correct, I guess the real problem I have is that the Parameter Length B is still available to edit, when the check box is not selected. Since I am making content for the whole office, I am trying to make things as simple as possible. Thanks for the help though.

Sincerely,
David Raynor

robert.manna
2009-06-03, 03:05 PM
Yeah, I agree, but I guess I don't see it as an issue. If the check box is checked, then modifications to the value parameter won't result in any changes, yes this could lead to some confusion, but at a certain point you can't plan for the absolute lowest common denominator.

Scott Womack
2009-06-03, 08:56 PM
Question 1 - No, there is no way to hide parameters. This item is on my wish list.

Yes there is a way to hide parameters. It is certainly a hack and is not officially supported by Autodesk. Once hidden, and brought into a project, you'll never be able to get directly at the parameter again, nor can you delete it. It was taught in a class at AU last year called Horrible Hacks in Revit.

Scott Hopkins
2009-06-09, 09:37 PM
Yes there is a way to hide parameters. It is certainly a hack and is not officially supported by Autodesk. Once hidden, and brought into a project, you'll never be able to get directly at the parameter again, nor can you delete it. It was taught in a class at AU last year called Horrible Hacks in Revit.

Scott,

Fantastic! I must know the secret! What perverse alchemy does one use to make this possible? Please share this one.

Just out of curiosity - was my hack on reordering Revit parameters included in the Horrible Hack class?

Steve_Stafford
2009-06-09, 09:57 PM
It only works for shared parameters, you have to edit the shared parameter file before you actually use the parameter. Each shared parameter has a Visible setting =1 or not visible = 0. Changing it to 0 before using it means that it won't be visible in the element properties dialog of the element categories it is assigned to. It is definitely a "horrible hack" as the class name implied.

Scott Hopkins
2009-06-10, 06:00 AM
Interesting - Thanks Steve

jsteinhauer
2009-07-15, 02:22 PM
It only works for shared parameters, you have to edit the shared parameter file before you actually use the parameter. Each shared parameter has a Visible setting =1 or not visible = 0. Changing it to 0 before using it means that it won't be visible in the element properties dialog of the element categories it is assigned to. It is definitely a "horrible hack" as the class name implied.

Steve,

What prey tell makes this a horrible hack? Does it just add file size to your families? Or, does it do something much worse? Please share your insights on this subject.

Thank you in advance,
Jeff S.

Scott Womack
2009-07-15, 02:29 PM
What prey tell makes this a horrible hack? Does it just add file size to your families? Or, does it do something much worse? Please share your insights on this subject.

First, this is not supported by Autodesk, since it requires a manual editing of the shared parameters file. Second, once you do this, and add the parameter to either a family or your project, you cannot remove the parameter, or ever make it visible again. Changing the parameter back in the shared parameters file does not make it visible, since you cannot re-import the parameter with the same name. IF something goes wrong with a file, and it gets sent to Autodesk, they may not be able to properly diagnose that this occurred, and may or may not be part of a problem.

jsteinhauer
2009-07-15, 06:28 PM
First, this is not supported by Autodesk, since it requires a manual editing of the shared parameters file. Second, once you do this, and add the parameter to either a family or your project, you cannot remove the parameter, or ever make it visible again. Changing the parameter back in the shared parameters file does not make it visible, since you cannot re-import the parameter with the same name. IF something goes wrong with a file, and it gets sent to Autodesk, they may not be able to properly diagnose that this occurred, and may or may not be part of a problem.

Sorry for beating a dead horse issue, but I still have a few questions. So, where would one see this parameter, if not in the elements properties? Is it view-able from a schedule? Can you see it when you edit the family? I guess I am failing to see why this is even an available.

I apologize again,
Jeff S.

Scott Womack
2009-07-15, 06:50 PM
Ok, now you are making me re-read the notes from that class last year.

You apply the shared parameter to those catagories you want it to be in, in a project. It will be available in schedules, but will not be visible in the families, nor in the list of parameters added in the project.

Since it won't appear in the list of project parameters, you won't be able to remove it at a later fate if you chose to do so.

Beyond that, I'm not sure. You should probably consider going to AU for these types of classes.

Munkholm
2009-07-17, 09:44 PM
3.Is there any way to change how a Yes/No parameter displays in the sheet view of the schedule? Currently it says "Yes" or "No" but that is not correct for how we're using it. Actually showing up as a checkbox would work fine, or being able to specify what displays in each condition would be preferable.

I´m pretty sure that you can specify what to display in each condition by using a formula like this, in a shared parameter:

if(PARAMETERYESNO, "YES YES", "NO NO")

This would return "YES YES" if the checkbox parameter "PARAMETERYESNO" is checked, and "NO NO" if left blank :beer:
"YES YES" & "NO NO" can surely be substituted by anything of your likings :-)

Calvn_Swing
2009-09-17, 12:11 AM
Yes, you can but:

1)You've just doubled the parameter count for any Yes/No type parameters. Nothing like an extra five parameters in a family that has 30 already to make things EXTRA complicated.

2)What if you want symbols? Yes, you can add some symbols in a family in quotes, but you'd be surprised what you can't do. Since it is text it can't (for instance) fill the whole cell or "X" it out. (If conditional formatting becomes available in RA you can at least partially accomplish that too.

3)Most importantly, you can't change it. So, in a schedule, you've got to have a hidden field and un-hide each time you need to change the value? What??? The point is to make it user-friendly to change...

Anyway, the point was to ask for changes to remove workarounds, and what you're describing is really a workaround in my opinion.

Alex Page
2010-09-09, 12:00 AM
Ok, now you are making me re-read the notes from that class last year.

You apply the shared parameter to those catagories you want it to be in, in a project. It will be available in schedules, but will not be visible in the families, nor in the list of parameters added in the project.

Since it won't appear in the list of project parameters, you won't be able to remove it at a later fate if you chose to do so.

Beyond that, I'm not sure. You should probably consider going to AU for these types of classes.

So I would assume two things:
1. This is still the case? (2011)
2. You cant have a formula based parameter hidden in the family?

Any one has any other ideas on how one might be able to do this?