Saturday, July 30, 2011

Revit MEP Lasso Leader

If you are an Revit MEP user, a constant source of frustration is that Revit MEP does not have lasso for a leader head. Lassos are particularly helpful when labeling a pipe in a group of pipes or a circuit in a busy area, and they have been heavily relied upon in the past, which makes it hard not having them in the tool box now.


Revit currently does not allow changes or additions to the standard leader heads, but a user in my office named Mitch came up with an idea that is just crazy enough to work. The idea is to draw a generic annotation shaped like a lasso and add a leader to it, but set the leader arrowhead to none. Essentially the lasso is at the wrong side the leader and there is no arrow head on the other side, It's not perfect, but it works with a little effort.


Start by creating a new annotation family using the generic annotation template and delete the text in the default view.


Draw a line centered on the intersection of the reference planes then an arc above and another arc below. Create a visibility parameter for each arc. I made a Left and Right parameter.
In the Family Types dialog, I added a formula to the Right of "not(left)". What this does is not let both arc be on at once. If left is visible right will not be. If left is not visible, right will be.
These arc can over shoot the plane a little to give the classic lasso look or end right at the plane as I drew them here.


Load this into a project an make sure to add a leader. Edit the type if necessary to set the leader arrowhead to none.  Tweak the leader bend points and presto! It's a Revit lasso.

Thursday, July 21, 2011

Creating Revit Type Catalogs for Families


When you have a family that has a lot of types, using a Type Catalog may be the best choice for helping users navigate them. An obvious example is structural steel. In that case there are many different choices and each choice changes the shape, weight and identity of the family. Type catalogs use a lookup table to assign the appropriate data needed for the different available types. It is important to note that the type catalogs can only drive family parameters and not project parameters.

For this example a dishwasher family is created and it is named dishwasher.rfa.

Select the Family Types button to identify the parameters to associate with the look up table. For this example use Model and Manufacturer. In order for this to work correctly some data has to be placed in Value column. The words model and manufacturer will work, the letter or any other characters will work as well, just don't leave them blank.
Next a look up table needs to be created. Start with an Excel file and save it with the same exact name as the family. Only the file extension should be different.

Leave cell A1 blank. Revit reconizes this as a heading for family type which will start below it. Placing any data here will cause things not to work. Fill out the rest of the cells as indicated below.
Column A defines the family Types that can be created.
Column B defines the Model number assigned to that type.
Column C defines the Manufacturer assigned to that type.

The column headers for Model and Manufacturer are a combination of the parameter name to be controlled and a code for the parameter type. The codes are listed below. 
  • Angle                    ##ANGLE##DEGREES
  • Area                      ##AREA##SQUARE_FEET
  • Currency               ##CURRENCY##
  • Integer                   ##OTHER##
  • Length                   ##LENGTH##FEET
  • Material                 ##OTHER##
  • Number                 ##OTHER##
  • Slope                    ##SLOPE##SLOPE_DEGREES
  • Text                       ##OTHER##
  • Volume                 ##VOLUME##CUBIC_FEET
  • *Yes/No                 ##OTHER##

 *When using a Yes/No parameter the Yes=1 and No=0.

When done, save this Excel file with a CSV file type. 

Then change it's extension in Windows Explorer to ".txt".
Test this by loading the dishwasher family into a new project. The type catalog will only show up when the family is loaded. Placing a second dishwasher will not bring it up again.