FAQ

Questions and answers about the Revit API language environment, development tools, best practices, and other common issues.

Development Environment

What versions of Visual Studio do I need for Revit API development? Can I use Visual C# Express?

What languages are supported for Revit API development?

Addins

Is there a wizard to help generate Revit Addins?

Why doesn't my C++ addin build?

Why doesn't my external command show up?

Why isn't my application's OnStartup method called when Revit starts?

API Usage

How do I reference an element in Revit?

Can a model only use one shared parameter file?

Do I need to distribute the shared parameters file with the model so other programs can use the shared parameters?

Are shared parameter values copied when the corresponding element is copied?

Are element Unique IDs (UID) universally unique and can they ever change?

Revit takes a long time to update when my application sends data back to the model. What do I need to do to speed it up?

What do I do if I want to add shared parameters to elements that do not have the ability to have shared parameters bound to them? For example, Grids or Materials.

How do I access the saved models and content BMP?

Why is Element.Parameters taking so long to access?

Structural Engineering

Sometimes the default end releases of structural elements render the model unstable. How can I deal with this situation?

I am rotating the beam orientation so they are rotated in the weak direction. For example, the I of a W14X30 is rotated to look like an H by a 90 degree rotation. How is that rotation angle accessed in the API? Because the location is a LocationCurve not a LocationPoint I do not have access to the Rotation value so what is it I need to check? I have a FamilyInstance element to check so what do I do with it?

How do I add new concrete beam and column sizes to a model?

How do I view the true deck layer?

How do I tell when I have a beam with a cantilever?

When exporting a model containing groups to an external program, the user receives the following error at the end of the export: "Changes to group "Group 1" are allowed only in group edit mode. Use the Edit Group command to make the change to all instances of the group. You may use the "Ungroup" option to proceed with this change by ungrouping the changed group instances."

General

Is the API binary compatible between major releases?