Starting with an existing Family still has its challenges. The way a part flexes as geometric parameters are modified often times has more to do with the process used to create the Family, not necessarily the end result. If the Family you are creating is very similar to an existing Family, you may want to create multiple Types instead of another Family. However, don’t get too carried away. It is generally easier to create multiple Families instead of trying to create the ultimate Family with Types that address all conditions.
Connectors
One of the primary differences in creating content for Revit MEP and other Revit content is the concept of connectors. All Revit MEP content will need to have connectors added to it for it to be useful.
There are three basic types of connectors (referred to as domains) that can be added to a family, and two different methods for placing the connector. Making the correct selections in this dialog is critical to the content working correctly, as once this selection is made, it cannot be changed. Any connector that is placed must be deleted and re-added to change the domain or the placement method.
- HVAC connectors are associated with ductwork, duct fittings, and other elements that are part of the air handling systems for the building.
- Electrical connectors are used for any type of electrical connections within the building. Currently electrical connectors are more “logical” connectors than physical connectors, as the application doesn’t currently support the “3D” modeling of elements like conduit, cable tray, or bus duct, but is rather a logical model of the loads within the building.
- Piping connectors are used for piping, pipe fittings, and other elements that are meant for transmitting liquids, steam, gases and other fluids within the building.
Connector Properties
The discipline assigned to a connector determines the connector’s properties. The following tables show the different connector parameters, by property group, for each discipline and a brief description of their functionality.
Electrical
Constraints | |
Edge loop centered | Connector placement method (read only) |
Graphics | |
Size on screen | How large the connector shows inside family editor. |
Electrical – Loads | |
True Load Phase 3 | Enabled if Balanced Load is False, and System Type is Power, and Number of Poles >3. |
True Load Phase 2 | Enabled if Balanced Load is False, and System Type is Power, and Number of Poles >1. |
True Load Phase 1 | Enabled if Balanced Load is False and System Type is Power. |
True Load | Enabled if Balanced Load is True and System Type is Power. |
Power Factor | Enabled if Balanced Load is False, and System Type is Power, and Number of Poles >3. |
Apparent Load Phase 3 | Enabled if Balanced Load is False, and System Type is Power, and Number of Poles >2. |
Apparent Load Phase 2 | Enabled if Balanced Load is False, and System Type is Power, and Number of Poles >1. |
Apparent Load Phase 1 | Enabled if Balanced Load is False and System Type is Power. |
Apparent Load | Enabled if Balanced Load is True and System Type is Power. |
Voltage | The voltage specified on the connector. Only enabled if the System Type is Power. |
System Type | Data, Power, Telephone, Security, Fire Alarm, Nurse Call, Controls, Communication |
Load Classification | HVAC, Lighting, Power, Other |
| Lagging, Leading |
Balanced Load | True or False |
Number of Poles | 1, 2, or 3 |
Identity Data | |
Index | A unique identifier for a connector in a family (read only) |
Primary Connector | True or False (read only) |
Connector Description | A description of the connector for the user’s reference. |
HVAC
Constraints | |
Edge loop centered | Connector placement method (read only) |
Angle | Used for adjustable angle families (such as elbows and adjustable tees) to “drive” the angle value into the family from connected components |
Graphics | |
Size on screen | How large the connector shows inside family editor. |
Mechanical | |
Flow Factor | Only editable if the Flow Configuration is specified as “System”. Percentage of the system flow attributed to this connector. |
Loss Coefficient | Loss Coefficient is only editable if Loss Method is specified as “Coefficient”. |
Flow Configuration | Calculated, Preset, System |
Flow Direction | In, Out, Bidirectional |
System Type | Supply, Return, Exhaust, Other, Undefined. |
Loss Method | Not Defined, Coefficient, Specific Loss |
Mechanical – Airflow | |
Pressure Drop | Enabled if Loss Method is Specific Loss |
Flow | The amount of air flowing at this connector. |
Dimensions | |
Shape | Rectangular or Round |
Height | The height of the connector if the Shape is defined to be rectangular. |
Width | The width of the connector if the Shape is defined to be rectangular. |
Radius | The radius of the connector if the Shape is defined to be round. |
Identity Data | |
Index | A unique identifier for a connector in a family (read only) |
Primary Connector | True or False (read only) |
Link Connector Index | The index of the linked connector, -1 if none. (read only) |
Connector Description | A description of the connector for the user’s reference. |
Piping
Constraints | |
Edge loop centered | Connector placement method (read only) |
Angle | |
Graphics | |
Size on Screen | How large the connector shows inside family editor. |
Mechanical | |
Fixture Units | Enabled when System Type is set to Sanitary or Domestic Hot/Cold Water, and Flow Configuration is set to Fixture Units. |
K Coefficient | K Coefficient (K Factor) is only editable if Loss Method is specified as “K Coefficient”. |
Flow Factor | Only editable if the Flow Configuration is specified as “System”. Percentage of the system flow attributed to this connector. |
Flow | |
Pressure Drop | |
Flow Configuration | Calculated, Preset, System |
Flow Direction | In, Out, Bidirectional |
Loss Method | Not Defined, K Coefficient from Table, K Coefficient, Specific Loss |
Allow Slope Adjustments | True or False |
System Type | Undefined, Hydronic Supply, Hydronic Return, Sanitary, Domestic Cold Water, Domestic Hot Water, Other |
K Coefficient Table | |
Dimensions | |
Radius | |
Identity Data | |
Index | A unique identifier for a connector in a family (read only) |
Primary Connector | True or False (read only) |
Link Connector Index | The index of the linked connector, -1 if none. (read only) |
Connector Description | A description of the connector for the user’s reference. |
When a component with an electrical connector is selected, the Options Bar displays one or more of the following buttons, which allow you to create a specific electrical system (from left to right: Power, Data, Telephone, Fire Alarm, Nurse Call, Communication.
When a component with an Duct connector is selected, the Options Bar displays one or more of the following buttons, which allow you to create a specific HVAC system (from left to right: Air Supply, Air Return, Exhaust).
Pipe Connector
Pipe connectors are used with hydronic systems, plumbing systems, fire protection systems. When a component with a hydronic pipe connector is selected, the Options Bar displays one or more of the following buttons, which allow you to create a specific hydronic piping system (from left to right: Supply, Return, Other.
When a component with a plumbing (pipe) connector is selected, the Options Bar displays one or more of the following buttons, which allow you to create a specific electrical system (from left to right: Sanitary, Domestic Hot Water, Domestic Cold Water, Other).
When a component with a fire protection (pipe) connector is selected, the Options Bar displays one or more of the following buttons, which allow you to create a specific electrical system (from left to right: Wet Sprinkler, Dry Sprinkler, Other).
Load Classifications
Revit MEP maintains information about loads associated with the rooms in a project. As devices and equipment are placed in rooms, Revit MEP keeps track of the loads based on load type: HVAC, Lighting, Power, Other. The loads associated with the room can be view in the Element Properties for each room, and displayed in schedules.
Connector Placement
Connector placement options allow you to specify two basic connector placement methods:
- Place on Face - This option (Edge loop centered=true) will maintain its point at the center of the edge loop. In most cases this is the preferable method for placing a connector. Typically the Place on Face option is easier to use, and is suitable for most cases.
- Place on Work Plane - This option allows placement of the connector on a selected plane. For many cases it would be possible to imitate the place on face option by specifying a plane and using dimensions to constrain the connector to the desired location. However, this method generally requires additional parameters and constraints to be used effectively.
Hosts
Objects that are placed in a model are hosted by other elements. Hosting elements include ceilings, floors, roofs, and walls, as well as lines, and faces. Even elements that aren’t hosted by one of these elements are still hosted by the level that they reside on.
When you are creating a family from a template, it is important that you consider what type of hosting behavior you want your family to have. For example, you may intuitively think that a new light fixture should be ceiling hosted. However, there may be cases where you want to use that family in a wall mount configuration, or even freely suspended. You can’t change the hosting of a family once it is created; the hosting setting is hard-set based on the template from which the family originated. Plane hosting provides the ability for the family to be hosted by walls, floors, or ceilings, and provides a high level of flexibility. Plane hosted elements will even move with their hosting elements through linked models. Non hosted families are actually hosted by the level they are inserted on and provide the ability for the element to be placed anywhere. Their height is defined relative to their level, but there is no association established with elements, linked models or otherwise.
When using linked files, only face hosted families will be able to be hosted by the linked file's geometry.
Templates
As described above, the hosting of an element is defined based on the template that is used when the family is originally created. Templates also define other specific characteristics of the family such as if it is an annotation family, a model family, a titleblock family, or a profile family. Additionally, in some cases, the template also defines particular characteristics of how the family works, such as linear versus spot lighting characteristics.
Remember, you can’t change these characteristics after you have created the family, i.e., you can’t turn a linear lighting fixture into a spot lighting fixture, or redefine an annotation symbol to be a model element. You have to start with the appropriate template.
Lookup Tables
Lookup tables can be used to define parameter values in an external file. This is beneficial when you have multiple part sizes that are based on a table, but don’t want to create a separate family type for each size.
Revit provides a text_file_lookup function that can be used to read the necessary values from a comma separated values (.csv) file. The location of such files are defined in the Revit.ini file:
LookupTableLocation=C:\Documents and Settings\All Users\Application Data\Autodesk\Revit Systems\LookupTables
The signature of the text_file_lookup function is as follows:
result=text_file_lookup(LookupTableName,LookupColumn,DefaultIfNotFound,LookupValue)
Where:
result is the returned value
LookupTableName is the name of the CSV file to lookup.
LookupColumn is the name of the column from which the result value is to be returned
DefaultIfNotFound is the value that will be returned if LookupValue is not found.
LookupValue is the value to find in the first column of the table.
CSV File Structure
The first row of values in the CSV file is for header information, to describe the contents of subsequent columns. The headers are of the format ParameterName##ParameterType##ParameterUnits
Acceptable parameter types are: NUMBER, LENGTH, AREA, VOLUME, ANGLE, and OTHER
For example, a header have the following header: TotalArea##AREA##INCHES to represent the total area in square inches.
Parameter Mapping
Many properties of objects, such as the depth of an extrusion and the voltage of a connector, can be mapped to a family or shared parameter. This provides flexibility to the family; the associated property’s value may be defined on an instance or type basis, and not be set to one specific value. Parameters are mapped by clicking the small button in the = column in the properties window of the object. The example below shows that the Power Factor and Number of Poles are currently NOT mapped to a parameter, whereas the Apparent Load Phase 1 and Voltage ARE mapped to a parameter.
Category
When a family is created, multiple variables affect its behavior within Revit. The Family Category and Parameters provide the primary means by which Revit ‘knows’ what an object is. When in Family Editor, the Family Category and Parameters settings are found in the Settings menu. Depending on the Family Category, different Family Parameters apply. The following matrix lists each Family Type, and the applicable Family Parameters.
Family Category | Family Parameter | |||||
Work Plane-Based | Always Vertical | Behavior Type | Part Type | Maintain Annotation Orientation | Shared | |
Air Terminals | P | P | P | P | | P |
Communication Devices | P | P | | | P | P |
Data Devices | P | P | | | P | P |
Duct Accessories | P | P | P | P | | P |
Duct Fittings | P | P | P | P | | P |
Electrical Equipment | P | P | | P | | P |
Electrical Fixtures | P | P | | P | P | P |
Fire Alarm Devices | P | P | | | P | P |
Generic Models | P | P | | | | P |
Lighting Devices | P | P | | | P | P |
Lighting Fixtures | P | P | | | | P |
Mechanical Equipment | P | P | P | P | | P |
Nurse Call Devices | P | P | | | P | P |
Pipe Accessories | P | P | P | P | | P |
Pipe Fittings | P | P | P | P | | P |
Plumbing Fixtures | P | P | P | P | | P |
Security Devices | P | P | | | P | P |
Telephone Devices | P | P | | | P | P |
Behavior Type – See the section titled Behavior Types in this document.
Part Type – See the section titled Part Types in this document.
Part Types
Each Part Type provides additional sub classification of Family Categories for two basic functions.
- you to replace a family of one category with any other family of the same category. However, there are times when this is not appropriate. For example, for fittings it would not be valid to replace a cross with a transition. So there is a level of filtering built into the Type Selector for Revit MEP.
- To determine the part type family. The ASHRAE Duct Fitting database is integrated with Revit MEP. This allows calculating fitting losses based on a loss table. To accurately look up the correct fitting in the database, the part type must be defined.
If a Family Category provides a Part Type parameter, the Part Types available depends on the Family Category. The available Part Types are listed below.
Family Categories | Part Types |
Air Terminals Duct Accessories Duct Fittings Mechanical Equipment Pipe Accessories Pipe Fittings Plumbing Fixture | Damper Duct Mounted Equipment Elbow Entry Equipment Fan and System Interaction Hood Junction Obstruction Transition Undefined Valve |
Electrical Equipment Electrical Fixtures | Data Panel Panelboard Switch Switchboard Transformer |
Behavior Types
The specification of the Behavior Type has a couple different effects. One effect is that the way the part behaves when placed and when move. The other effect is that behavior specific Family Parameters will be added to the Family. For example if the behavior type is specified as Inline Eccentric, additional Parameters are added to the family to control the “offset” between the two different connectors (both horizontally and vertically).
Invalid Behavior Type
Bend elbows, and other fittings that may behave like elbows
Branch similar to a junction, where more than 3 segments intersect
Eccentric Inline causing an “offset” to the centerline of the segments
Inline maintains position “along the curve” of the segments
Intersection
Normal no specific behavior
Orient to Center Line constrain to the centerline of the segment
Orient to Object constrain to the face of the segment
Break Into break the segment, and act as “inline”
Is there some secret to using text_file_lookup with unitless parameters? I keep getting an "Inconsistent Units" error on a number parameter. I've tried both Column##Other## and Column##Number with no luck.
ReplyDeleteThanks