Let’s say you have a family that has shape handles for instance dimensions (Length Parameters). What if you want to use it for quick prototyping, and then switch that same family into a version that uses Type based parameters?
Here’s how I went about it:
- Change all existing Reference Planes to “Not a Reference”
- Create new Reference Planes
- Create new instance parameters bound to those Reference Planes
- Lock one of the planes on each Dimension to existing origin planes
- Create a corresponding set of Type dimensions
- Create a set of Yes / No parameters for “Use Type for …”
- Create formula like:
if(Use Type for X, x type, x instance)
- Apply it to the original parameters (the ones that are driving geometry):
How to Use:
- Place the family
- Resize using the shape handles (instance dimensions)
- Create a Type
- Modify the type Values and Tick the “Use Type” box
At this point, the Shape Handles are still visible, but only the Type values are used for the geometry.
Download Sample Family Here – Revit 2018:
Note: A future development of this family could be to make an inverse visibility parameter that switches off the Shape Handles once the Type Value is enforced.
Can you change built-in parameters from Type to Instance based, and vice versa? This post shows you can.
The essence of the workflow is to
- start a family with the desired template,
- add a value to the parameter,
- change the Family Category to something that doesn’t have that parameter built-in,
- switch the parameter to Instance,
- then change the Family Category back to the original
Read the more detailed version here:
(It is based on changing voltage parameter to Instance based for Electrical Equipment)
Dieter Vermeulen describes an interesting workaround – when using a Family Type parameter, how can you turn “off” the family without using Visibility parameters?
His solution is essentially to delete geometry out of a copy of the Nested instance, and leave only one Type in that blank instance. Call it None, and it shows up in the Family Types list that way.
Read the whole post:
Another nice workaround by Philip Chan – if you want to change one of Revit’s built-in Type Parameters (derived from a Family Template, such as Door Fire Rating) to an Instance Parameter, you just have to take the Family on a little round trip to a more flexible Family Category.
- New Door based on Door Family Template
- Switch to Generic Model Type
- Change built-in Type Parameter for Fire Rating to Instance
- Switch back to Door Category
You can read Philip’s whole post at:
Phil-osophy in BIM: Hacking System Parameters in Door Family