Dynamo Python Primer
  • Take Dynamo Further 🚀
  • 1 Hello Python 🐍
    • 1.1 Why Should I Learn to Code?
    • 1.2 Python Introduction
    • 1.3 What is IronPython?
  • 2 Seeing The Bigger Picture 🔭
    • 2.1 Context Matters
    • 2.2 What is an API?
    • 2.3 The .NET Framework
    • 2.4 Object-Oriented Programming
  • 3 Getting Started 🛴
    • 3.1 Dynamo's Python Node
    • 3.2 Boilerplate Setup Code
    • 3.3 Basics: Input and Output
    • 3.4 Common Errors
  • 4 Revit-Specific Topics 🏡
    • 4.1 Introduction to Revit's API
    • 4.2 How to Read Revit's API Documentation
    • 4.3 Doc, UIDoc, App, UIApp
    • 4.4 Unwrapping Revit Elements
    • 4.5 The FilteredElementCollector
    • 4.6 Geometry Conversion Methods
    • 4.7 Working With Parameters
      • Family Parameters
      • Global Parameters
      • Project Information Parameters
      • Group Parameters
      • Built-In Parameters
    • 4.8 Working With Transactions
    • 4.9 Opening & Closing External Files
    • 4.10 Prompting UI Selection
    • 4.11 Working With Units
    • 4.12 Built-In Categories
    • 4.13 Family Acrobatics
    • 4.14 Feedback: TaskDialogs
  • 5 Glossary 📚
  • About This Primer 👋
Powered by GitBook
On this page

Was this helpful?

  1. 4 Revit-Specific Topics 🏡
  2. 4.7 Working With Parameters

Built-In Parameters

These are hard-baked into the Revit software - we can't define or delete them

PreviousGroup ParametersNext4.8 Working With Transactions

Last updated 5 years ago

Was this helpful?

Introduction

Built-in parameters (written BuiltInParameter) are a special kind of parameter and the only kind of Revit parameter which cannot be modified in any way (even by us programmers).

These are used to refer to many hard-coded parts of the application that we can't change. For instance, family instances will have a few parameters we can't remove, no matter how we try. This could be a 'Mark' or an 'Offset from Level' value.

The BuiltInParameter Enumeration

Since the is hard-coded, it makes sense to store these in an enumeration. The names of each parameter may differ slightly from how they appear in the user-interface, so each BuiltInParameter is stated alongside its UI-name. Each parameter has an underscore-separated name written in all-capitals.

For instance, say we wanted to read the sill height from a window we've placed (as in this example from the excellent ), we could use:

#Boilerplate Code
my_window = UnwrapElement(IN[0])
sill_height = my_window.get_Parameter(BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM).AsDouble()
OUT = sill_height

While there is no foolproof, easy way to identify the BuiltInParameter you're looking for, the following steps may help:

  • Find the name the parameter is referred to in the UI and use a CTRL+F search in the page of APIDocs.co.

  • Run a quick Google search to see if others have already asked the same question.

  • Use the excellent for Revit. Harry Mattison of has created installers for each version, making installation quick and easy.

list of BuiltInParameters
spiderinnet blog
BuiltInParameter Enumeration
RevitLookup add-in
BoostYourBIM