RevitAPI Samples Readme


Introduction

This document provides an overview of the sample applications that come with RevitAPI for .NET developers. Whether you are new to RevitAPI or relatively experienced with it, the sample applications can be a source of ideas and an opportunity to learn new concepts. In addition to describing what each sample application does, this document explains the sample categories, lists the skill level required to understand each application, and provides a suggested order in which to go through the sample applications.

Sample Categories

The RevitAPI sample applications are grouped into subdirectories according to the major focus of the sample code. The subdirectories and descriptions of the corresponding categories are listed below.

Mechanism

These examples introduce most mechanisms RevitAPI provides about some how-to-dos:

Database

These examples focus on understanding and working with the Revit database.

Create

These samples demonstrate how to create Revit objects, such as Walls, Dimensions, Rebars, etc.

Geometry

These examples concentrate on the geometry information of Revit models.

Sample Skill Levels

To help you identify where to start and what skill level you need to understand a particular sample application, this document lists a skill level rating for each sample. The four levels, beginning, medium, high, and advanced, are characterized by the specific RevitAPI development skills described below.

Beginning

At this level, the developer has an understanding of the RevitAPI database and knows most of features that RevitAPI provides.

Medium

At this level, the developer knows how to:

High

At this level, the developer knows how to:

Advanced

At this level, the developer knows how to:

By Category

Mechanism

APIAppStartup
ApplicationEvents
BeamAndSlabNewParameter
DeleteDimensions
DeleteObject
ElementsFilter
HelloRevit
HelloWorld
Journaling
ModifyIniFile
PhaseSample
RevitCommands
RotateFramingObjects
RvtSamples
Toolbar
TransactionControl
VisibilityControl

Database

AnalyticalSupportData_Info
ArchSample
AreaReinCurve
AreaReinParameters
BarDescriptions
BrowseBindings
DeckProperties
DesignOptionReader
DoorSwing
ImportExport
Loads
MaterialProperties
Materials
MoveLinear
ParameterUtils
PathReinforcement
PhysicalProp
ProjectInfo
ProjectUnit
RDBLink
SharedCoordinateSystem
SlabProperties
SpanDirection
SpotDimension
StructuralLayerFunction
TestFloorThickness
TestWallThickness
TypeSelector
VersionChecking
ViewPrinter

Create

AddSpaceAndZone
AllViews
AutoTagRooms
BoundaryConditions
CreateBeamsColumnsBraces
CreateBeamSystem
CreateComplexAreaRein
CreateDimensions
CreateShared
CreateSimpleAreaRein
CreateViewSection
CreateWallinBeamProfile
CreateWallsUnderBeams
CurtainSystem
CurtainWallGrid
CurvedBeam
ElementsBatchCreation
FireRating
FoundationSlab
FrameBuilder
GenerateFloor
GridCreation
InvisibleParam
LevelsProperty
ModelLines
NewHostedSweep
NewOpenings
NewPathReinforcement
NewRebar
NewRoof
PlaceFamilyInstanceByFace
PowerCircuit
ReferencePlane
Reinforcement
Rooms
RoomSchedule
ShaftHolePuncher
SlabShapeEditing
StructSample
TagBeam
Truss

Geometry

AnalyticalViewer
BlendVertexConnectTable
ElementViewer
FamilyExplorer
InplaceFamilyAnalyticalModel3D
InPlaceMembers
ObjectViewer
Openings
RoofsRooms
RoomViewer

By Skill Level

Beginning

APIAppStartup
AreaReinCurve
BarDescriptions
BrowseBindings
CreateShared
CurvedBeam
DeckProperties
DeleteDimensions
DeleteObject
DesignOptionReader
ElementsBatchCreation
FireRating
HelloRevit
HelloWorld
InplaceFamilyAnalyticalModel3D
LevelsProperty
ModelLines
ModifyIniFile
MoveLinear
ParameterUtils
PhaseSample
PhysicalProp
PowerCircuit
ProjectInfo
ProjectUnit
RevitCommands
Rooms
RvtSamples
SlabProperties
SpanDirection
SpotDimension
StructSample
StructuralLayerFunction
TagBeam
TestFloorThickness
TestWallThickness
Toolbar
TypeSelector
VersionChecking

Medium

AddSpaceAndZone
AllViews
AnalyticalSupportData_Info
AnalyticalViewer
ApplicationEvents
ArchSample
AreaReinParameters
AutoTagRooms
BeamAndSlabNewParameter
CreateBeamsColumnsBraces
CreateComplexAreaRein
CreateDimensions
CreateSimpleAreaRein
CreateViewSection
CreateWallinBeamProfile
CreateWallsUnderBeams
CurtainSystem
CurtainWallGrid
DoorSwing
ElementViewer
FoundationSlab
FrameBuilder
GenerateFloor
InPlaceMembers
InvisibleParam
Journaling
Loads
MaterialProperties
NewPathReinforcement
PathReinforcement
PlaceFamilyInstanceByFace
ReferencePlane
RoofsRooms
RoomViewer
RotateFramingObjects
SharedCoordinateSystem
SlabShapeEditing
TransactionControl
Truss
ViewPrinter
VisibilityControl

High

BlendVertexConnectTable
BoundaryConditions
CreateBeamSystem
ElementsFilter
FamilyExplorer
GridCreation
ImportExport
Materials
NewHostedSweep
NewOpenings
NewRebar
NewRoof
Openings
Reinforcement
RoomSchedule
ShaftHolePuncher

Advanced

ObjectViewer
RDBLink

By Version

8.0

AnalyticalViewer
ArchSample
BrowseBindings
CreateShared
ElementViewer
FireRating
HelloRevit
MoveLinear
PhysicalProp
RevitCommands
RoomViewer
StructSample
TypeSelector

8.1

DeckProperties
HelloWorld
InvisibleParam
ParameterUtils
SpanDirection

9.0

AllViews
AnalyticalSupportData_Info
AreaReinCurve
AreaReinParameters
BarDescriptions
BeamAndSlabNewParameter
CreateBeamsColumnsBraces
CreateComplexAreaRein
CreateDimensions
CreateSimpleAreaRein
CreateViewSection
CreateWallinBeamProfile
CreateWallsUnderBeams
DeleteDimensions
DeleteObject
DesignOptionReader
GenerateFloor
InPlaceMembers
LevelsProperty
Loads
MaterialProperties
ObjectViewer
PhaseSample
RotateFramingObjects
SlabProperties
StructuralLayerFunction
VersionChecking

9.1

BoundaryConditions
CreateBeamSystem
FoundationSlab
FrameBuilder
Journaling
Openings
ReferencePlane
Reinforcement
Rooms
SharedCoordinateSystem

2008.0

APIAppStartup
ApplicationEvents
AutoTagRooms
BlendVertexConnectTable
CurvedBeam
FamilyExplorer
ImportExport
InplaceFamilyAnalyticalModel3D
ModifyIniFile
NewOpenings
NewPathReinforcement
PathReinforcement
ProjectInfo
ProjectUnit
ShaftHolePuncher
SpotDimension
TagBeam
TestFloorThickness
TestWallThickness
Toolbar
TransactionControl
ViewPrinter
VisibilityControl

2008.2

Materials
ModelLines
RDBLink
RoomSchedule

2009.0

AddSpaceAndZone
CurtainSystem
CurtainWallGrid
DoorSwing
ElementsBatchCreation
ElementsFilter
GridCreation
NewHostedSweep
NewRebar
NewRoof
PlaceFamilyInstanceByFace
PowerCircuit
RvtSamples
SlabShapeEditing
Truss

2009.1

RoofsRooms

By Name alphabetically

This section lists the sample applications in alphabetical order and briefly discusses what each application does.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

AddSpaceAndZone

Subject: Create spaces and zones.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: MEP
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Space
Autodesk.Revit.Elements.Zone
Autodesk.Revit.Elements.Phase
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates three main features:
1. How to get all Space elements in a specified level.
2. How to get all Zone elements in a specified level.
3. How to create Space elements for each closed wall loop or closed space separation.
4. How to create a new Zone element in a specified level and phase.
5. How to add/remove spaces in a Zone element.


AllViews

Subject: Generate a new sheet that includes all the selected views.
Skill Level: Medium
Category: Create (view)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.Elements.View
Autodesk.Revit.Elements.ViewSet
Autodesk.Revit.Creation.Document.NewViewSheet
Summary: This sample demonstrates how to generate a new sheet that includes all the selected views.


AnalyticalSupportData_Info

Subject: Display elements' analytical support informations.
Skill Level: Medium
Category: Database
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Structural.AnalyticalSupportData
Autodesk.Revit.Structural.AnalyticalSupportInfoArray
Autodesk.Revit.Structural.AnalyticalSupportInfo
Summary: This sample displays the supported information of the element (includes the element id, element type and supported type of the element).


AnalyticalViewer

Subject: View analytical model wireframe.
Skill Level: Medium
Category: Geometry
Type: ExternalCommand
Revit Platform: Structure
First Released For: 8.0
Classes: Autodesk.Revit.Structural.AnalyticalModel
Autodesk.Revit.Structural.AnalyticalModel3D
Autodesk.Revit.Structural.AnalyticalModelFloor
Autodesk.Revit.Structural.AnalyticalModelFrame
Autodesk.Revit.Structural.AnalyticalModelLocation
Autodesk.Revit.Structural.AnalyticalModelWall
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Elements.ContFooting
Autodesk.Revit.Elements.Floor
Summary: This program demonstrates the usage of a structural analytical model. This sample uses a helper program RevitViewer.


APIAppStartup

Subject: Launch an external application.
Skill Level: Beginning
Category: Mechanism (event)
Type: ExternalApplication
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalApplication
Summary: This sample demonstrates how to launch an external application when Revit starts and closes.


ApplicationEvents

Subject: Customer menu and Application Events.
Skill Level: Medium
Category: Mechanism (event)
Type: ExternalApplication
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.IExternalApplication
Autodesk.Revit.Events.ApplicationEvents
Autodesk.Revit.MenuItem
Autodesk.Revit.Application
Autodesk.Revit.Document
Summary: This sample demonstrates how to subscribe to Application Events and how to create custom menus.


ArchSample

Subject: Export data to Excel.
Skill Level: Medium
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Collections.Map
Autodesk.Revit.Collections.MapIterator
Autodesk.Revit.ElementSet
Autodesk.Revit.Element
Autodesk.Revit.Parameter
Autodesk.Revit.ParameterSet
Autodesk.Revit.Collections.Set
Summary: This sample exports the contents of an entire project to Microsoft Excel 2003.


AreaReinCurve

Subject: Parameters of AreaReinCurve.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Autodesk.Revit.Elements.AreaReinforcementCurve
Autodesk.Revit.Parameters.BuiltInParameter
Summary: This sample shows user how to get AreaReinforcementCurve and change its parameters.


AreaReinParameters

Subject: Parameters of AreaReinforcement and Rebar.
Skill Level: Medium
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Autodesk.Revit.ElementIterator
Autoesk.Revit.Symbols.RebarBarType
Autodesk.Revit.Elements.AreaReinforcementCurve
Autodesk.Revit.Parameters.BuiltInParameter
Summary: This sample shows how to use API displays and modifies parameters of AreaReinforcement. And teach user how to get all parameters of Rebar.


AutoTagRooms

Subject: Auto Tag Rooms.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Architecture
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Room
Autodesk.Revit.Elements.RoomTag
Autodesk.Revit.Symbols.RoomTagType
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates three main features:
1. How to get all rooms in a specified level.
2. How to get all room tags in current document.
3. How to create new room tags with specified room tag type to auto tag all rooms in a specified level.


BarDescriptions

Subject: Parameters of BarDescriptions.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.AreaReinforcement
Autodesk.Revit.Structure.BarDescription
Summary: This sample shows how to get parameters of BarDescriptions in a table. And allow the parameters information of BarDescriptions to be saved in an Excel .CSV file.


BeamAndSlabNewParameter

Subject: Shared parameter.
Skill Level: Medium
Category: Mechanism (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.CategorySet
Autodesk.Revit.Parameters.InstanceBinding
Autodesk.Revit.Parameter
Autodesk.Revit.SelElementSet
Summary: This sample demonstrates how to add a shared instance parameter to beams and slabs, and uses GUID as the parameter's value. Users also can use the value of the parameter to find the special element.


BlendVertexConnectTable

Subject: Blend mass information retrieval.
Skill Level: High
Category: Geometry
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.GenericForm
Autodesk.Revit.Elements.Blend
Autodesk.Revit.Elements.View
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Geometry.Transform
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Geometry.XYZ
Summary: This sample demonstrates how to retrieve all vertices and vertex connection edges of Blend family.


BoundaryConditions

Subject: Create or retrieve boundary conditions.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.BoundaryConditions
Summary: This sample shows to get BoundaryConditions' parameters or create BoundaryConditons.


BrowseBindings

Subject: Display shared parameters bindings.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Application
Autodesk.Revit.Parameters.BindingMap
Autodesk.Revit.Collections.DefinitionBindingMapIterator
Autodesk.Revit.Parameters.ElementBinding
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.CategorySet
Summary: This sample browses all the shared parameters bindings used in the project.


CreateBeamsColumnsBraces

Subject: Create a frame with beams, columns and braces.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Creation.Document.NewFamilyInstance(бн) method
Summary: This sample demonstrates how to create a truss model which composes of columns, beams and braces automatically according to the user's input.


CreateBeamSystem

Subject: Create beamsystem.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.BeamSystem
Autodesk.Revit.Elements.LayoutRule
Autodesk.Revit.Symbols.FamilySymbol
Summary: This sample demonstrates how to generate a beam system with the horizontal linear beams selection's profile.


CreateComplexAreaRein

Subject: Create AreaReinforcement.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.Structural.AnalyticalModelFloor
Autodesk.Revit.Geometry.CurveArray
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Symbols.AreaReinforcementType
Autodesk.Revit.ElementIterator
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Geometry.Solid
Summary: This sample demonstrates how to create AreaReinforcement by Revit API and change its parameters.


CreateDimensions

Subject: Create dimensions.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.View
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Elements.Dimension
Autodesk.Revit.CategorySet
Autodesk.Revit.Category
Autodesk.Revit.SelElementSet
Autodesk.Revit.Location
Autodesk.Revit.LocationCurve
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Geometry.ReferenceArray
Autodesk.Revit.Geometry.Options
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Geometry.GeometryObjectArray
Autodesk.Revit.Geometry.GeometryObject
Autodesk.Revit.ParameterSet
Autodesk.Revit.Parameter
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.DefinitionGroups
Autodesk.Revit.Parameters.DefinitionGroup
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.Parameters.InstanceBinding
Summary: This sample shows how to add a dimension to a selected structure wall from its start to its end.


CreateShared

Subject: Create and modify a shared parameter.
Skill Level: Beginning
Category: Create (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.DefinitionGroup
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.CategorySet
Autodesk.Revit.Category
Autodesk.Revit.Parameters.InstanceBinding
Autodesk.Revit.ParameterSet
Autodesk.Revit.Symbol
Summary: This sample shows how a shared parameter can be created via the API and how a shared parameter can be modified via the API.


CreateSimpleAreaRein

Subject: Create rectangular AreaReinforcement.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.Elemetns.AreaReinforcement
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Geometry.CurveArray
Autodesk.Revit.Symbols.AreaReinforcementType
Autodesk.Revit.Parameter
Summary: This sample uses to show how to create AreaReinforcement and change its parameters by Revit API.


CreateViewSection

Subject: Create section views.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Geometry.BoundingBoxXYZ
Autodesk.Revit.Element
Autodesk.Revit.ElementSet
Autodesk.Revit.Elements.Wall
Autodesk.Revit.LocationCurve
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Geometry.Transform
Autodesk.Revit.Structural.AnalyticalModel
Autodesk.Revit.Structural.AnalyticalModelFrame
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Structural.AnalyticalModelFloor
Summary: This sample shows how to generate a section view across the mid point of a linear element, such as a wall, floor or beam


CreateWallinBeamProfile

Subject: Create wall with Profile of selected Beams.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates how to generate a wall which has the profile of beams selection. When the command is executed, a dialog should appear that contains a drop-down list for all types of wall and a check box for whether the walls are structural. Default should be checked.


CreateWallsUnderBeams

Subject: Create wall under selected Beams.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Structural.AnalyticalModelFrame
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates how to generate simple rectangular wall(s) under the beam(s) selection. When the command is executed a dialog should appear that contains a drop-down list for all types of wall and a check box for whether the walls are structural. Default should be checked.


CurtainSystem

Subject: Create curtain systems.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.CurtainSystem
Summary: This sample demonstrates 4 main features:
1. How to create curtain systems on specified faces.
2. How to delete curtain systems.
3. How to add curtain grids to curtain systems.
4. How to remove curtain grids from curtain systems.


CurtainWallGrid

Subject: Create Curtain Wall and manipulate its curtain grid.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Elements.CurtainGrid
Autodesk.Revit.Elements.CurtainGridLine
Autodesk.Revit.Elements.CurtainCell
Autodesk.Revit.Elements.Mullion
Summary: This sample demonstrates five main features:
1. How to create curtain wall with specific level and wall type.
2. How to retrieve the curtain grid information of the curtain wall.
3. How to edit the data of the curtain grid.
4. How to retrieve the grid lines of the curtain grid.
5. How to edit the grid lines and mullions of the curtain grid.


CurvedBeam

Subject: Curved Beam creation.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements
Autodesk.Revit.Creation.Document
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Level
Autodesk.Revit.LocationCurve
Autodesk.Revit.Geometry.Arc
Autodesk.Revit.Geometry.Ellipse
Autodesk.Revit.Geometry.NurbSpline
Autodesk.Revit.Geometry.XYZ
Summary: This sample demonstrates how to create curved beam, this sample can create three types of curved beam: arc, ellipse and nurbspline.


DeckProperties

Subject: Display Deck Layer Properties.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Structural.CompoundStructureLayer
Autodesk.Revit.Symbols.FloorType
Autodesk.Revit.Structural.Enums.CompoundStructureLayerFunction
Summary: This sample shows that how to get the properties of deck layer by RevitAPI.


DeleteDimensions

Subject: Delete dimensions.
Skill Level: Beginning
Category: Mechanism (delete)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Dimension
Autodesk.Revit.Document
Summary: Show how to delete Dimension elements.


DeleteObject

Subject: Delete Objects.
Skill Level: Beginning
Category: Mechanism (delete)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.SelElementSet
Summary: This sample is used to delete the objects selected by user.


DesignOptionReader

Subject: Display design options.
Skill Level: Beginning
Category: Database (info)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Application
Autodesk.Revit.Element
Autodesk.Revit.Elements.DesignOption
Summary: This sample demonstrates how to get the design options in the current document of Revit.


DoorSwing

Subject: Manage opening of the door and rooms relevant to the door.
Skill Level: Medium
Category: Database (parameter, ui, geometry)
Type: ExternalCommand, ExternalApplication
Revit Platform: Architecture
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.IExternalApplication
Autodesk.Revit.Toolbar
Autodesk.Revit.ToolbarItem
Autodesk.Revit.Elements.Family
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Geometry.BoundingBoxXYZ
Autodesk.Revit.Geometry.Options
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.Parameters.BindingMap
Autodesk.Revit.Parameters.ElementBinding
Autodesk.Revit.Parameters.InstanceBinding
Autodesk.Revit.Parameters.TypeBinding
Autodesk.Revit.Parameter
Autodesk.Revit.ControlledApplication
Autodesk.Revit.Events.DocumentSavedEventHandler
Autodesk.Revit.Events.DocumentSavedAsEventHandler
Autodesk.Revit.Events.DocumentClosedEventHandler
Summary: This sample will demonstrate how to create and maintain door opening parameters, internal door parameter, From/To Room and how to schedule these parameters. Feature to customize to your country standard is also provided.


ElementsBatchCreation

Subject: Elements batch creation.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Area
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Room
Autodesk.Revit.Elements.TextNote
Autodesk.Revit.Elements.Wall
Summary: This sample demonstrates how to create a batch of Revit elements via batch creation methods.


ElementsFilter

Subject: Filter elements.
Skill Level: High
Category: Mechanism (filter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.Creation.Filter
Autodesk.Revit.Filter
Autodesk.Revit.CategoryFilter
Autodesk.Revit.FamilyFilter
Autodesk.Revit.SymbolFilter
Autodesk.Revit.ParameterFilter
Autodesk.Revit.TypeFilter
Autodesk.Revit.WallUsageFilter
Autodesk.Revit.StructuralTypeFilter
Autodesk.Revit.MaterialFilter
Autodesk.Revit.InstanceUsageFilter
Autodesk.Revit.LogicAndFilter
Autodesk.Revit.LogicNotFilter
Autodesk.Revit.LogicOrFilter
Summary: The sample demonstrates how to retrieve element by different criterions using Filters.


ElementViewer

Subject: View element wireframe.
Skill Level: Medium
Category: Geometry
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.Geometry.Element
Autodesk.Revit.Geometry.GeometryObject
Summary: This program demonstrates the usage of element's geometry. This sample uses a helper program RevitViewer.


FamilyExplorer

Subject: View family wireframe.
Skill Level: High
Category: Geometry
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Elements.Family
Autodesk.Revit.Elements.GenericForm
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.Transform
Summary: This sample demonstrates how to represent the profile of all families in current document.


FireRating

Subject: Create shared parameter;export and import form excel.
Skill Level: Beginning
Category: Create (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Parameters
Autodesk.Revit.Category
Summary: This program defines three commands: ApplyParameter which is used to add a new shared parameter; ExportFireRating which is used to export fire rating values to an Excel file and ImportFireRating which is used to import fire rating values from the Excel file and apply them to doors.


FoundationSlab

Subject: Create Foundation Slab.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Symbols.FloorType
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates how to create Foundation Slab.


FrameBuilder

Subject: Create a frame composed of columns, beams and braces.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Level
Autodesk.Revit.Symbols.FamilySymbol
Summary: This sample demonstrates how to create a frame composed of columns, beams and braces. User can input parameters to create a frame consist of column, beam and brace. It has a user visible option to use the suspended updating function to increase the speed of the model creation. And users can duplicate the type of column, beam and brace.


GenerateFloor

Subject: Generate a floor using the closed outline made by a selection of walls.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Symbols.FloorType
Autodesk.Revit.Elements.Level
Summary: This sample demonstrates how to generate a floor using the closed outline made by a selection of walls.


GridCreation

Subject: Create Grid.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Elements
Autodesk.Revit.Geometry
Summary: This sample shows how to create grids and modify grids' properties through Revit API.


HelloRevit

Subject: How to use external command.
Skill Level: Beginning
Category: Mechanism (hello)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Summary: This sample demonstrates how to add a command to Revit.


HelloWorld

Subject: Display a Hello World message box.
Skill Level: Beginning
Category: Mechanism (hello)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.1
Classes: Autodesk.Revit.IExternalCommand
Summary: Show How to use Revit API to develop a simple external application.


ImportExport

Subject: Import and Export data.
Skill Level: High
Category: Database (export, import)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Elements
Autodesk.Revit.Enums
Autodesk.Revit.GBXMLExportOptions
Autodesk.Revit.DWF2DExportOptions
Autodesk.Revit.DWF3DExportOptions
Autodesk.Revit.DWFX2DExportOptions
Autodesk.Revit.DWFX3DExportOptions
Autodesk.Revit.DWGExportOptions
Autodesk.Revit.FBXExportOptions
Autodesk.Revit.DWGImportOptions
Autodesk.Revit.ImageImportOptions
Summary: This sample shows how to export current project to dwg, dwf(x), gbxml or fbx files and how to import a dwg or image file into Revit.


InplaceFamilyAnalyticalModel3D

Subject: AnalyticalModel3D elements.
Skill Level: Beginning
Category: Geometry
Type: ExternalCommand
Revit Platform: Structure
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Structural.AnalyticalModel3D
Summary: This sample demonstrates how to read an analytical model 3D object from an in-place family instance.


InPlaceMembers

Subject: Display In-place Familyinstance propeties.
Skill Level: Medium
Category: Geometry
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Structural.AnalyticalModel
Autodesk.Revit.Geometry.Curve
Summary: This sample demonstrates how to get the In-place Family instance and its properties in the current document of Revit.


InvisibleParam

Subject: Create shared parameters.
Skill Level: Medium
Category: Create (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Application
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.Parameters.DefinitionGroup
Autodesk.Revit.Parameters.InstanceBinding
Summary: This sample demonstrates how to use share parameter file to create share parameters and how to bind share parameters and instance.


Journaling

Subject: Journaling mechanism: Journal Data read and write.
Skill Level: Medium
Category: Mechanism (journal)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Element
Autodesk.Revit.Creation
Autodesk.Revit.Collections.StringStringMap
Summary: This sample demonstrates how an external application can be incorporated into the journaling mechanism.


LevelsProperty

Subject: Display and Create Levels.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Level
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates how to get all the levels in a document, and how to create or delete a level and set its properties.


Loads

Subject: Operate Load Case, Load Nature, Load Usage and Load Combination.
Skill Level: Medium
Category: Database
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.LoadCase
Autodesk.Revit.Elements.LoadNature
Autodesk.Revit.Elements.LoadCombination
Autodesk.Revit.Creation.Document
Summary: This sample shows how to operate Load Case, Load Nature, Load Usage and Load Combination.


MaterialProperties

Subject: Display Material Properties.
Skill Level: Medium
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Parameter
Autodesk.Revit.Elements.Material
Summary: This sample demonstrates how to get the material physical properties of a selected beam, column or brace, how to change the material type of the selected beam and how to change the unit weight of a selected beam, column or brace.


Materials

Subject: Get and Set material's parameters and Render Appearance.
Skill Level: High
Category: Database (element)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.2
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Material
Autodesk.Revit.Elements.MaterialConcrete
Autodesk.Revit.Elements.MaterialGeneric
Autodesk.Revit.Elements.MaterialOther
Autodesk.Revit.Elements.MaterialSteel
Autodesk.Revit.Elements.MaterialWood
Autodesk.Revit.Enums.DisplayUnitType
Autodesk.Revit.Utility
Summary: This sample demonstrates 4 main features:
1. How to get and set the parameters of materials in the current document.
2. How to duplicate a material (Concrete material).
3. How to change the material of a structural element.
4. How to get and set material's Render Appearance.


ModelLines

Subject: Display and Create ModdelLines.
Skill Level: Beginning
Category: Create (element)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.2
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.ModelArc
Autodesk.Revit.Elements.ModelLine
Autodesk.Revit.Elements.ModelCurveArray
Autodesk.Revit.Elements.ModelCurve
Autodesk.Revit.Elements.SketchPlane
Autodesk.Revit.Creation.Application
Autodesk.Revit.Geormetry.Arc
Autodesk.Revit.Geormetry.XYZ
Autodesk.Revit.Geormetry.Line
Summary: This sample shows how to get model lines of all kinds and how to create model lines using Revit API.


ModifyIniFile

Subject: Modify Revit.ini.
Skill Level: Beginning
Category: Mechanism (ini)
Type: N/A
Revit Platform: All
First Released For: 2008.0
Classes:
Summary: Provides sample that shows how to add an external command that represents the menu item "Tools-> External Tools-> (Command)" to Revit.ini using program.


MoveLinear

Subject: Move a element based on Line.
Skill Level: Beginning
Category: Database (element)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.LocationCurve
Autodesk.Revit.Creation.Application
Autodesk.Revit.Geometry.Curve
Summary: This sample demonstrates how to move element which based on a Line.


NewHostedSweep

Subject: Create hosted sweep (Fascia, Gutter, and SlabEdge).
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: Architecture
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.HostedSweep
Autodesk.Revit.Elements.Fascia
Autodesk.Revit.Elements.Gutter
Autodesk.Revit.Elements.SlabEdge
Autodesk.Revit.Symbols.HostedSweepType
Autodesk.Revit.Symbols.FasciaType
Autodesk.Revit.Symbols.GutterType
Autodesk.Revit.Symbols.SlabEdgeType
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.Reference
Autodesk.Revit.Geometry.Transform
Summary: This sample will demonstrate how to create hosted sweep (includes Fascia, Gutter and SlabEdge), and how to modify their properties.


NewOpenings

Subject: Create openings.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Creation.Application
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Elements.Opening
Autodesk.Revit.Geometry.XYZ
Autodesk.Revit.Geometry.Edge
Summary: Shows how to create Openings by Revit API.


NewPathReinforcement

Subject: Create PathReinforcement.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.PathReinforcement
Autodesk.Revit.Symbols.PathReinforcementType
Autodesk.Revit.Geometry.Face
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Creation.Documen
Summary: This sample demonstrates how to create PathReinforcement by API.


NewRebar

Subject: Create Rebar and ReabrShapes.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Rebar
Autodesk.Revit.Symbols.RebarShape
Autodesk.Revit.Symbols.RebarShapeDefinition
Autodesk.Revit.Symbols.RebarShapeDefinitionByArc
Autodesk.Revit.Symbols.RebarShapeDefinitionBySegments
Autodesk.Revit.Parameter
Autodesk.Revit.Parameters.DefinitionGroup
Autodesk.Revit.Parameters.ExternalDefinition
Autodesk.Revit.Structural.Enums.StructuralType
Autodesk.Revit.Geometry.Solid
Summary: This sample will demonstrate how to create rebar via NewRebar (RebarShape rebarShape, RebarBarType rebarType, Element host, XYZ origin, XYZ xVec, XYZ yVec) and how to customize RebarShape (include straight segment and arc shape).


NewRoof

Subject: Create footprint and extrusion roof.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FootPrintRoof
Autodesk.Revit.Elements.ExtrusionRoof
Autodesk.Revit.Elements.Level
Autodesk.Revit.Symbols.RoofType
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates four main features:
1. How to create a new footprint roof.
2. How to create an extrusion roof.
3. How to edit an existed footprint roof.
4. How to edit an existed extrusion roof.


ObjectViewer

Subject: Show element's geometry,get and set its parameter value.
Skill Level: Advanced
Category: Geometry
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Element
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Parameter
Autodesk.Revit.Geometry.GeometryObject
Autodesk.Revit.Geometry.Transform
Autodesk.Revit.Structural.AnalyticalModel
Summary: This sample demonstrates two main features:
1. How to get physical or analytical model of selected element.
2. How to get and set parameter's value of selected element.


Openings

Subject: Display Opening informations.
Skill Level: High
Category: Geometry
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Opening
Autodesk.Revit.Document
Summary: Shows how to get geometry profile and properties of an opening and how to add x model lines to opening bounding box.


ParameterUtils

Subject: Display parameters.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.1
Classes: Autodesk.Revit.Element
Autodesk.Revit.Parameter
Autodesk.Revit.Document
Summary: This sample demonstrates how to get the parameters of a Revit element.


PathReinforcement

Subject: Display PathReinforcement informations.
Skill Level: Medium
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.PathReinforcement
Autodesk.Revit.Symbols.RebarBarType
Autodesk.Revit.Elements.ModelCurve
Summary: This sample demonstrates how to retrieve curves, profile and properties of path reinforcement object.


PhaseSample

Subject: Filter elements by their phases.
Skill Level: Beginning
Category: Mechanism (phase)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.Document
Autodesk.Revit.Element
Autodesk.Revit.Elements.Phase
Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Summary: This sample demonstrates how to use phase to filter elements and how to highlight filtered elements by Execute method parameters.


PhysicalProp

Subject: Display physical property.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 8.0
Classes: Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Parameter
Autodesk.Revit.Document
Summary: This sample demonstrates how to get the physical material of a column or beam.


PlaceFamilyInstanceByFace

Subject: Create family instance on face.
Skill Level: Medium
Category: Create (family)
Type: ExternalCommand
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Creation.Document
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Geometry.Face
Autodesk.Revit.Geometry.Options
Autodesk.Revit.Geometry.Solid
Summary: This sample demonstrates how to create family instance on face.


PowerCircuit

Subject: Operate power circuits.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: MEP
First Released For: 2009.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Elements
Autodesk.Revit.Geometry
Autodesk.Revit.Symbols;
Autodesk.Revit.MEP;
Autodesk.Revit.Parameters;
Summary: This sample shows how to operate power circuits.


ProjectInfo

Subject: Display project information.
Skill Level: Beginning
Category: Database (info)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Document
Autodesk.Revit.Elements.ProjectInfo
Autodesk.Revit.Elements.gbXMLParamElem
Autodesk.Revit.Parameters.BuildInParameter
Autodesk.Revit.Parameters.BuildingType
Autodesk.Revit.Symbols.MEPBuildingConstruction
Autodesk.Revit.Parameters.ServiceType
Autodesk.Revit.Site.ProjectLocation
Autodesk.Revit.Site.ProjectPosition
Autodesk.Revit.Construction
Summary: Demonstrates how to manipulate project information.


ProjectUnit

Subject: List and set units and format options.
Skill Level: Beginning
Category: Database (unit)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.ProjectUnit
Autodesk.Revit.FormatOptions
Summary: Add a command which lists all the units in the current project and displays their format information; Display the decimal symbol type of current project's units. Users could set it to comma or dot; Display the slope type of current project units, users can set it to Rise or Angle.


RDBLink

Subject: Import and Export data.
Skill Level: Advanced
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.2
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Element
Autodesk.Revit.Parameter
Autodesk.Revit.BuiltInCategory
Autodesk.Revit.Symbol
Autodesk.Revit.Elements.Instance
Autodesk.Revit.Parameters.BuiltInParameter
Autodesk.Revit.Parameters.DefinitionFile
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.Parameters.BindingMap
Autodesk.Revit.Parameters.Binding
Autodesk.Revit.Elements.Material
Autodesk.Revit.Creation.Application
Autodesk.Revit.Categories
Autodesk.Revit.Category
Autodesk.Revit.Settings
Summary: This sample demonstrates how to export Revit model data into ODBC database and how to import data from database into Revit which can modify or create some Revit elements.


ReferencePlane

Subject: Create ReferencePlane.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.Document
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Geometry.Options
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Mesh
Autodesk.Revit.Creation.Document
Summary: This sample shows how to create Reference Plane by Revit API.


Reinforcement

Subject: Create Rebars.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Rebar
Autodesk.Revit.Structural.Enums.StructuralType
Summary: Show how to create Rebar in concrete element (Beam or Column) which does not have any reinforcement.


RevitCommands

Subject: Simple Revit commands.
Skill Level: Beginning
Category: Mechanism (ui, family, info, parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.Element
Autodesk.Revit.Parameter
Autodesk.Revit.Document
Autodesk.Revit.Application
Autodesk.Revit.Location
Autodesk.Revit.Parameter
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Instance
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Geometry.Mesh
Summary: These sample contains 5 commands, demonstrates:
1. How to load family from family file.
2. How to load family symbol from family file.
3. How to access the selection set.
4. How to get and set library paths in Revit.
5. How to retrieve data from selected elements.


RoofsRooms

Subject: Geometry checking for Roofs and Rooms (Spaces).
Skill Level: Medium
Category: Geometry
Type: ExternalCommand
Revit Platform: Architecture, MEP
First Released For: 2009.1
Classes: Autodesk.Revit.Filter
Autodesk.Revit.TypeFilter
Autodesk.Revit.CategoryFilter
Autodesk.Revit.LogicalNotFilter
Autodesk.Revit.LogicalAndFilter
Autodesk.Revit.LogicalOrFilter
Autodesk.Revit.Element
Autodesk.Revit.Elements.Room
Autodesk.Revit.Elements.Space
Autodesk.Revit.BuiltInCategory
Autodesk.Revit.Geometry.Options
Autodesk.Revit.Geometry.BoundingBoxXYZ
Autodesk.Revit.Geometry.GeometryObject
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Face
Autodesk.Revit.Geometry.PlanarFace
Autodesk.Revit.Geometry.ConicalFace
Autodesk.Revit.Geometry.CylindricalFace
Autodesk.Revit.Geometry.RevolvedFace
Autodesk.Revit.Geometry.HermiteFace
Autodesk.Revit.Geometry.RuledFace
Autodesk.Revit.Geometry.Curve
Autodesk.Revit.Geometry.EdgeArray
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.XYZArray
Autodesk.Revit.Geometry.XYZ
Autodesk.Revit.Geometry.IntersectionResult
Summary: This sample demonstrates how to check whether Room/Space has bounding Roof, this sample try to work consistently with Revit on bounding checking when exporting gbXML.


Rooms

Subject: Room data retrieval and modifitcation.
Skill Level: Beginning
Category: Create (parameter)
Type: ExternalCommand
Revit Platform: Architecture
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.Room
Autodesk.Revit.Elements.RoomTag
Autodesk.Revit.Parameters.BuiltInParameter
Summary: This sample demonstrates how to get Room's information (Number, Area, Department, etc), add room tags and change Room numbers.


RoomSchedule

Subject: Room creation and modification; Excel data import and export.
Skill Level: High
Category: Create (schedule)
Type: ExternalCommand
Revit Platform: Architecture
First Released For: 2008.2
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.Elements.Room
Autodesk.Revit.Elements.Level
Autodesk.Revit.Elements.Phase
Autodesk.Revit.Category
Autodesk.Revit.Parameters.BuildInParameter
Autodesk.Revit.Parameters.Definition
Autodesk.Revit.Parameters.DefinitionGroup
Autodesk.Revit.Parameters.InstanceBinding
Autodesk.Revit.Events.DocumentSaveEventHandler
Autodesk.Revit.Events.DocumentSaveAsEventHandler
Autodesk.Revit.Events.DocumentCloseEventHandler

System.Data.OleDb.OleDbConnection
System.Data.OleDb.OleDbCommand
System.Data.DataTable
Summary: This sample demonstrates: how to retrieve spread sheet data, how to create rooms without placing them and how to update spreadsheet data with data of rooms mapped to.


RoomViewer

Subject: View room boundary wireframe.
Skill Level: Medium
Category: Geometry
Type: ExternalCommand
Revit Platform: Architecture
First Released For: 8.0
Classes: Autodesk.Revit.Elements.Room
Autodesk.Revit.Rooms.BoundarySegmentArrayArray
Summary: This sample demonstrates the usage of room boundary and uses a helper program RevitViewer.


RotateFramingObjects

Subject: Rotate framing objects.
Skill Level: Medium
Category: Mechanism (element)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.Element
Autodesk.Revit.Parameter
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Structural.Enums.StructuralType
Autodesk.Revit.Creation.Application
Summary: Demonstrates how to rotate beams, braces or structural columns around their directional axis rather than project axis.


RvtSamples

Subject: Add menu items of samples to Revit.
Skill Level: Beginning
Category: Mechanism (ui)
Type: ExternalApplication
Revit Platform: All
First Released For: 2009.0
Classes: Autodesk.Revit.ControlledApplication
Autodesk.Revit.MenuItem
Summary: This sample integrates all other samples excluding ExternalApplications into a Revit menu named "RvtSamples".


ShaftHolePuncher

Subject: Create all Kinds Opening.
Skill Level: High
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Opening
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Level
Autodesk.Revit.Geometry.Face
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.Solid
Autodesk.Revit.Geometry.Instance
Autodesk.Revit.Geometry.Transform
Autodesk.Revit.Geometry.CurveArray
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Creation.Documen
Summary: This sample demonstrates how to create single or Shaft Opening on a wall, floor or beam.


SharedCoordinateSystem

Subject: Get and set project's place,location.
Skill Level: Medium
Category: Database (info)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Element
Autodesk.Revit.Geometry.Element
Autodesk.Revit.Parameter
Autodesk.Revit.Geometry.GeometryObject
Autodesk.Revit.Geometry.Transform
Autodesk.Revit.Structural.AnalyticalModel
Autodesk.Revit.Site.SiteLocation
Autodesk.Revit.Site.CitySet
Summary: This sample demonstrates how to get place, location of project, and change their values.


SlabProperties

Subject: Slab properties retrieval.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.Floor
Autodesk.Revit.Structural.CompoundStructureLayer
Autodesk.Revit.Structural.CompoundStructureLayerArray
Autodesk.Revit.Parameters.BuiltInParameter
Summary: This sample demonstrates how to get Slab's properties which consist of Level, Type Name, Span Direction and Slab's Layers information (Material Name, Thickness, Young Modulus X, Y and Z).


SlabShapeEditing

Subject: Create SlabShapeVertex and SlabShapeCrease.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Architecture, Structure
First Released For: 2009.0
Classes: Autodesk.Revit.Editor.SlabShapeEditor
Autodesk.Revit.Editor.SlabShapeCrease
Autodesk.Revit.Editor.SlabShapeCreaseArray
Autodesk.Revit.Editor.SlabShapeCreaseArrayIterator
Autodesk.Revit.Editor.SlabShapeVertex
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Geometry.Edge
Autodesk.Revit.Geometry.CurveArray
Autodesk.Revit.Geometry.GeometryObject
Summary: This sample demonstrates how to create SlabShapeVertex and SlabShapeCrease, and then use them to edit slab's shape.


SpanDirection

Subject: Date retrieval for structural Floor (Slab).
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: Structure
First Released For: 8.1
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Autodesk.Revit.Elements.Floor
Autodesk.Revit.ElementArray
Autodesk.Revit.ElementArrayIterator
Summary: This sample demonstrates how to get span direction and span direction symbols of structural Floor (Slab).


SpotDimension

Subject: Display Spot Dimensiones.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.SpotDimension
Autodesk.Revit.Parameter
Summary: This sample demonstrates how to retrieve all the spot dimensions and theirs properties in all views of Revit document.


StructSample

Subject: Column creation and placing.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Autodesk.Revit.Elements.Wall
Autodesk.Revit.Paramete
Autodesk.Revit.Parameters.BuiltInParameter
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Elements.Family
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Geometry.XYZ
Autodesk.Revit.Geometry.UV
Autodesk.Revit.Geometry.Line
Summary: This sample demonstrates how to place a set of columns in the selected wall.


StructuralLayerFunction

Subject: Function retrieval for structural layers.
Skill Level: Beginning
Category: Database
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.ElementSet
Autodesk.Revit.Structural.CompoundStructureLayer
Autodesk.Revit.Structural.Enum.CompoundStructureLayerFunction
Summary: This sample demonstrates how to retrieve the function of each structural layer of selected floor from outside to inside in a dialog box.


TagBeam

Subject: Create tags for beam or rebar; Create text.
Skill Level: Beginning
Category: Create
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.LocationCurve
Autodesk.Revit.Elements.Family
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Creation.Document
Autodesk.Revit.Elements.IndependentTag
Autodesk.Revit.Elements.Rebar
Autodesk.Revit.Elements.TextNote
Summary: This sample demonstrates how to create tags at the start and end of selected beams, how to create a rebar tag at the end of the first curve of selected rebar and how to create a text.


TestFloorThickness

Subject: Change the thickness of floor.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Elements.Floor
Autodesk.Revit.Symbols.FloorType
Summary: Retrieve and change floor thickness.


TestWallThickness

Subject: Change the thickness of wall.
Skill Level: Beginning
Category: Database (parameter)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Elements.Wall
Autodesk.Revit.Symbols.WallType
Summary: Retrieve and change wall thickness.


Toolbar

Subject: Create custom toolbar.
Skill Level: Beginning
Category: Mechanism (ui)
Type: ExternalApplication
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.IExternalApplication
Autodesk.Revit.Toolbar
Autodesk.Revit.ToolbarItem
Autodesk.Revit.MenuItem
Autodesk.Revit.Creation.Document
Summary: This sample demonstrates how to create custom toolbar and how to create different types toolbar items.


TransactionControl

Subject: How to deal with transaction.
Skill Level: Medium
Category: Mechanism (transaction)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Document
Summary: This sample demonstrates how to use transaction control.


Truss

Subject: Create truss, edit truss Profile and Members.
Skill Level: Medium
Category: Create
Type: ExternalCommand
Revit Platform: Structure
First Released For: 2009.0
Classes: Autodesk.Revit.Elements.Truss
Autodesk.Revit.Symbols.TrussType
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Elements.ViewPlan
Autodesk.Revit.TrussMemberInfo
Autodesk.Revit.Geometry.Line
Autodesk.Revit.Geometry.CurveArray
Autodesk.Revit.ElementIdSet
Summary: This sample demonstrates how to create a truss and modify its truss members and profile.


TypeSelector

Subject: Wall types retrieval.
Skill Level: Beginning
Category: Database (type)
Type: ExternalCommand
Revit Platform: All
First Released For: 8.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Document
Autodesk.Revit.ElementId
Autodesk.Revit.Elements.Family
Autodesk.Revit.Elements.FamilySymbol
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Symbols.FamilySymbol
Autodesk.Revit.Symbols.FamilySymbolSet
Autodesk.Revit.Symbols.WallType
Autodesk.Revit.Symbols.WallTypeSet
Summary: This sample demonstrates how to retrieve all types in project of one specific family (wall) and how to change the type of one family instance or wall.


VersionChecking

Subject: Version information of Revit application.
Skill Level: Beginning
Category: Database (info)
Type: ExternalCommand
Revit Platform: All
First Released For: 9.0
Classes: Autodesk.Revit.IExternalCommand
Autodesk.Revit.Application
Summary: This sample demonstrates how to get Revit version information: product name, product version and product build number.


ViewPrinter

Subject: Print the printable views.
Skill Level: Medium
Category: Database (view)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.PrintManager
Autodesk.Revit.Enums.VirtualPrinterType
Autodesk.Revit.Enums.PrintRange
Autodesk.Revit.PrintSetup
Autodesk.Revit.PrintSetting
Autodesk.Revit.ViewSheetSetting
Autodesk.Revit.Elements.ViewSheetSet
Summary: This sample demonstrates how to print the printable view and sheets.


VisibilityControl

Subject: Control visibility by category.
Skill Level: Medium
Category: Mechanism (view)
Type: ExternalCommand
Revit Platform: All
First Released For: 2008.0
Classes: Autodesk.Revit.Elements.View
Autodesk.Revit.Document
Autodesk.Revit.Selection
Autodesk.Revit.Settings
Autodesk.Revit.Categories
Summary: This sample demonstrates how to control visibility by category, and how the API supports the options to pick a single element or pick multiple elements.