A Revit plugin to handle the production of thousands of geo-referenced asset codes.


There are three challenges when implementing an asset coding system in Revit:

  1. Identifying the assets to be coded
  2. Generating the codes themselves
  3. Entering the codes into Revit as parameters

It is not viable to run this process manually by having a BIM modeller enter each code into Revit, because there can be thousands of codes and each one could take several minutes, with a lot of potential for errors.


The Asset Code Populator (ACP) is a management tool for handling thousands of asset codes and supporting information in Revit. It brings organised workflows to help identify the assets and make the codes and batch processes for writing them into the model as Revit parameters.


The first step in the process is to identify the objects in the model that are ‘maintainable assets’ requiring an asset code. This is done by ticking check boxes for the relevant families and exporting them to Excel. The export file extracts key information for each object including its GUID and the room with which it’s associated with.


The ACP export file is imported into 3D Asset for analysis and integrity checking using various tools designed specifically for the job. Here users will rectify any obvious errors coming from Revit, pick up any assets within ceiling voids that have missing room information, apply system and sub system properties according to the protocol and add the unique identifiers.

New properties needed for the asset codes or workflows in other BIM applications are added prior to the data set being exported to Excel. The property titles become column headings in the spreadsheet and ultimately the parameter names in Revit. To help the process all fields are pre-fixed with a project identifier, so they are grouped together once in Revit. Before the file is finally re-exported, colour coded error checking is carried out to verify the integrity of the information.


A medium sized project may well have thousands of assets to be coded for inclusion into BMS systems like Niagara, into FM systems such as Maximo and YouBIM, as well as several other asset and document management applications.

Once the codes and their supporting information have been constructed they must be imported into Revit as new parameters. The Asset Code Populator takes care of this in a batch process that takes just a few minutes.


A geo-referenced asset code is a compiled from several pieces of information that are joined by project specific separators that must be precisely implemented if other applications are to use them.

The ACP will build the full asset code during the import process and provides users with the flexibility to incorporate whatever separators are required. The final code is written as a Revit parameter against a matching GUID and set to read-only to protect it from accidental changes.


Once the asset coding file is imported into Revit all the information will exist as new Revit parameters on the data tab, sorted and pre-fixed with the project identifier.

All the information is available to other BIM applications such as Navisworks, BIM360, YouBIM, and 3D Asset and will be included in the COBie file.


Information exported from the ACP or from COBie is used to populate many of the modern FM systems with 3D viewing capabilities such as YouBIM and Maximo.

In such cases the asset codes are used to drive BMS alarms and work-order processes. When this is combined with advanced DMS systems, the asset codes become the link to documentation and maintenance history specific to the asset.