Monday, October 11, 2010
Simple parametric family in Revit
One of the coolest things about Autodesk Revit is the ability to make shapes that are governed by formulas. This is the essence of algorithmic design, and while several other tools on the market are more flexible and powerful than Revit in this regard, there are interesting things one can do in Revit's BIM environment.
There are several concepts that one must grasp. First, a new Revit family should be drawn using reference planes and references lines. It is easier to impose constraints on the reference planes than it is on the model lines and model geometry (model lines tend to lock to reference planes and points by default and it can be unpredictable or unwanted.) Use dimensions to establish the essential geoemtric relationships of your family, such as lengths and angles. Second, the Revit family must have named parameters. You associate these named parameters with the dimensions and angles in your geometry and model. Third, there must be an "index" value that triggers the formula. Typically you will type in the index value and then the formula will calculate the geometry parameter. Finally, you must enter a formula using the index (or indices) that will calculate a geometric relationship.
Once a family has been created in this way, you can insert multiple instances of it into your project and then set different values for the index. The geometry will alter for each instance based on the formula.
Below you will see the same project file after changing the formula in the beam family.
Here it is with the cosine determining the angle of the beam. (I am sure that I have not done this in the simplest way, but I added the extra calculated parameters just to convert the units of the parameters so that the formula would not complain about "inconsistent units". Apparently the cos function requires that the input value must be in degrees. Input value in integer or number does not work.)