Hey,
I have a project I'm working on that I need some help with. Basically I want to have 3 different enclosures over an engine but only one at a time. So I want to be able to click on the enclosure thats currently on the engine and have the drop down menu show the other enclosure options and then replace the current enclosure in the same location around the engine.
I'm working in and with family files.
How do I do this?
I would recommend building the enclosure into the engine family. You can create a list of possible enclosures by linking an embedded Family Type to an Instance or Type Parameter. (Attached is an example., Revit 2013)
In order to do this, load all of the possible enclosure Families into the engine family, which can be of a single family with multiple type or even multiple families - as long as they are of the same category.
Go to Family Types, and create a new Parameter. Under 'Type of Parameter', select "<Family Type...>" and then from the list, select the Category of the enclosure families. This can be either a Type or Instance Parameter, as necessary.
Place one instance of any enclosure in place over the engine. Select the enclosure and under Properties, there is a "Label" parameter. In the pull-down list there, select the newly created parameter.
Now, this parameter will control the type of enclosure through a pull-down within the Project. If this solution won't work for you, let us know and we can perhaps formulate another plan of attack.
I would make 3 yes/no type parameters and 3 different types. Each type would have 1 of the 3 yes/no parameters as yes and the other 2 as no. These yes/no parameters would control the visibility of the respective enclosure (1 parameter per enclosure).
I can get it to work. When I change the label parameter and hit apply it goes back to none. and the enclosures still go all over the place everytime I switch one out for another, I also tried pinning them to the same reference point which didn't work.
Is it possible for you to make a video of exactly how you made that file you attached? its exactly what I need but I can't get it right.
If the enclosure families are too dissimilar, then this problem can occur. Try going with Sandleaz's suggestion and create Yes/No parameters to control the visibility of each embedded enclosure. With this method, each enclosure must be placed in it's intended location overlapping each over.
I cannot create a video for you, but if you can post your family and the enclosures here, we can see exactly what you're working with.
Ok, I am still working on getting the actual engine completed so I've been going into a new conceptual mass file and making a box thats the size of the standard enclosure and trying to load the enlcosures into that file.
So those are the 3 enclosures that would go over the engine which at this time I'm just using a blank conceptual mass file with a box for reference.
It looks like the enclosures are not similar enough to use the method that I has suggested - the origins and orientation would have to be the same.
To accomplish the "Yes/No" method, load each enclosure into the engine family. Place one instance of each type of enclosure where it is supposed to be relative to the engine. In Family Types, Create a "Yes/No" parameter that will correspond to each of the enclosures. Then select each of the embedded enclosure families and under properties, click on the little grey button to the right of the Visibility parameter. From the list, select the appropriate parameter.
Would you still need more information than what was provided so far?
That depends on how you want the enclosure to be selected:
Do you want the enclosure dictated by the Family Type? That way, you can control multiple instance at once. =Type Parameter
Do you want to select the enclosure individually for each instance of an engine? This will be one-by-one. =Instance Parameter
I want to be able to click on the enclosure, which is on the engine, then be able to, from the drop down, change it to a different one in replace of the old one. and be able to go back and forth choosing whatever one you want.
Here's the difference between using an instance or a type parameter:
Say you make your family name it Engine 1.
If you use an Instance Parameter to turn on/off enclosures (we'll call them A, B, and C), then in your model, you could have some instances of Engine 1 with Enclosure A, some with Enclosure B, and some with Enclosure C, as needed. The enclosure options wouldn't show up in the Type Selector drop-down, though. They would show up in the engine's properies. And, if at some point you need all Engine 1's in the model to be Enclosure B, you'll have to change each one.
If you use a Type Parameter, then you will need to create 3 Engine types in your family. We'll call them Engine 1A, Engine 1B, and Engine 1C. In the Family Properties, you can decide that Engine 1A is the one with Enclosure A, Engine 1B is the one with Enclosure B, and so on. (the engine is the same in all of these, thus the 1 stayed the same - just the enclosure that shows changes).
Using a Type Parameter will allow you to click on an engine, and then select a different engine type (1A, 1B, or 1C) from the Type Selector drop-down, as you wanted. And, if at some point you need to change all type 1A engines, then you can Edit Type instead of changing them all individually.
Here's a simple demonstration of using 3 type yes/no parameters with 3 family types (in 1 family called ABC)...
A, B, and C are model text overlapping each other. Each has its visibility set by the value of their respective yes/no parameter (A, B, or C). There are (3) family types ... each with (1) parameter on and (2) parameters off. This acts like a radio button. By default (without programming probably), REVIT does not allow for radio buttons to be created by the user (unless I completely missed something). This is one way to mimic a set of radio buttons where you want to choose only one letter.
In your case, you have different enclosures and perhaps with completely different geometries per enclosure. You can model each enclosure with your engine family or outside and have them/their visibility be controlled by a parameter made within engine family. If the geometries of each enclosure only differed by changing a few angles, lengths, ... you can might be able to avoid the visibility/overlap and gone with constraining with a variety of parameters, planes, lines, etc ... just like you would with a lot of equipment with various sizes.
Can't find what you're looking for? Ask the community or share your knowledge.