You are on page 1of 4

This document provides a roadmap for how to create different categories of Family instances

using the API. Typically these instances are created using one of the eight overload methods of
Autodesk.Revit.Creation.Document called “NewFamilyInstance”. The choice of which overload to
use depends not only on the category of the instance, but also other characteristics of the
placement like whether it should be hosted, placed relative to a reference level, or placed directly
on a particular face. The details are included in Table 1.

Category NewFamilyInstance parameters Comments


Air Terminals
Boundary Conditions Creates the instance in an arb
XYZ,FamilySymbol,StructuralType
Casework reference to a level or host el
Communication Devices
Data Devices
Electrical Equipment
XYZ,FamilySymbol,Element,StructuralType If it is to be hosted on a wall,
Electrical Fixtures
Entourage
Fire Alarm Devices
Furniture If it is to be hosted on a wall,
XYZ,FamilySymbol,XYZ,Element,StructuralType
Furniture Systems be oriented in a non-default d
Generic Models
Lighting Devices
Lighting Fixtures If it is to be hosted on a wall,
XYZ,FamilySymbol,Element,Level,StructuralType
Mass associated to a reference leve
Mechanical Equipment
Nurse Call Devices
Parking
Planting XYZ,FamilySymbol,Level,StructuralType If it is to be associated to a re
Plumbing Fixtures
Security Devices
Site
If it is face-based and needs t
Specialty Equipment Face,XYZ,XYZ,FamilySymbol
direction
Sprinklers
Structural Connections
Structural Foundations
Structural Stiffeners Face,Line,FamilySymbol If it is face-based and linear
Telephone Devices
Creates the column so that it
Columns level. The column will extend
XYZ,FamilySymbol,Level,StructuralType
Structural Columns the model, or will extend the
there are no suitable levels ab
Doors Doors and windows must be
XYZ,FamilySymbol,Element,StructuralType
Windows method if they can be placed
XYZ,FamilySymbol,XYZ,Element,StructuralType If the created instance needs
default direction
XYZ,FamilySymbol,Element,Level,StructuralType If the instance needs to be as
Creates a level based brace o
Curve,FamilySymbol,Level,StructuralType
the recommended method to
XYZ,FamilySymbol,StructuralType Creates instance in an arbitra
Structural Framing (Beams, Braces)
If it is hosted on an element (
XYZ,FamilySymbol,Element,Level,StructuralType
reference level 1
XYZ,FamilySymbol,Level,StructuralType If it is associated to a referenc
XYZ,FamilySymbol,Element,StructuralType If it is hosted on an element (
Table 1 – Options for creating instance with NewFamilyInstance

1
The structural instance will be of zero-length after creation. Extend it by setting its curve
(FamilyInstance.Location as LocationCurve) using LocationCurve.Curve property.

Instances of some family types are better created through methods other than
Autodesk.Revit.Creation.Document.NewFamilyInstance. These are listed in Table 2.

Category Creation method Comments


Air Terminal Tags NewTag(View, Element, Boolean, TagMode, TagMode should be TM_ADD
Area Load Tags TagOrientation, XYZ) should be a related tag family
Area Tags tag, otherwise exception will
Casework Tags
Ceiling Tags
Communication Device Tags
Curtain Panel Tags
Data Device Tags
Detail Item Tags
Door Tags
Duct Accessory Tags
Duct Fitting Tags
Duct Tags
Electrical Equipment Tags
Electrical Fixture Tags
Fire Alarm Device Tags
Flex Duct Tags
Flex Pipe Tags
Floor Tags
Furniture System Tags
Furniture Tags
Generic Model Tags
Internal Area Load Tags
Internal Line Load Tags
Internal Point Load Tags
Keynote Tags
Lighting Device Tags
Lighting Fixture Tags
Line Load Tags
Mass Floor Tags
Mass Tags
Mechanical Equipment Tags
Nurse Call Device Tags
Parking Tags
Pipe Accessory Tags
Pipe Fitting Tags
Pipe Tags
Planting Tags
Plumbing Fixture Tags
Point Load Tags
Property Line Segment Tags
Property Tags
Railing Tags
Revision Cloud Tags
Roof Tags
Room Tags
Security Device Tags
Site Tags
Space Tags
Specialty Equipment Tags
Spinkler Tags
Stair Tags
Structural Area Reinforcement Tags
Structural Beam System Tags
Structural Column Tags
Structural Connection Tags
Structural Foundation Tags
Structural Framing Tags
Structural Path Reinforcement Tags
Structural Rebar Tags
Structural Stiffener Tags
Structural Truss Tags
Telephone Device Tags
Wall Tags
Window Tags
Wire Tag
Zone Tags
TagMode should be TM_ADD
NewTag(View, Element, Boolean, TagMode,
Material Tags should be a material tag fami
TagOrientation, XYZ)
exception will be thrown
TagMode should be TM_ADD
NewTag(View, Element, Boolean, TagMode,
Multi-Category Tags there should be a multi-categ
TagOrientation, XYZ)
otherwise exception will be th
NewAnnotationSymbol(XYZ,
Generic Annotations
AnnotationSymbolType, View)
Title Blocks NewViewSheet(FamilySymbol) The titleblock will be added t
Table 2 – Options for creating instances with other methods

You might also like