All Collections
Dynamo BIM
V5 - SafetiBase Pins in Revit
V5 - SafetiBase Pins in Revit

Retrieve risk information from 3D Repo and populate 3D SafetiBase pins in your model

Written by Faisal Ramady
Updated over a week ago


SafetiBase is a tool designed for Collaborative sharing of structured H&S information using BIM and it’s based on the PAS 1192-6:2018 industry standards. Meanwhile, Dynamo is a visual scripting environment for designers working in Revit or Civils 3D. It’s brilliant for creating complex geometry and automating specific tasks.

In this article, we are going to explain to you how to bring SafetiBase & Revit model together using Dynamo & 3D Repo’s APIs. Here is what we are going to achieve:

  • Retrieve Risk information from 3D Repo using APIs

  • Filter the information for relevant fields

  • Create Risk Pins in Revit as they appear in 3D Repo (using Revit Family)

  • Add Risk information to the pins (Instance Parameters)

Initial Setup

Let’s get you set up so that you can execute the Dynamo Script without a problem.
First of all, you will need access to the following:

  1. Autodesk Revit 2021 or later

  2. Dynamo for Revit (version 2.6.1 or later)

  3. 3D Repo account

  4. Model access in 3D Repo

  5. Download the Script & Revit Family 👇

If you are looking to test this workflow, you will need to upload a model to 3D Repo and create some example Risks. Alternatively, if you are going to use it on a live project, make sure that you have access to a model containing the risk information you need in Revit.

Revit Configuration

  • Activate Revit and load a model

  • Go to the Insert Tab and select Load Family

  • Locate the sample SafetiBase Pin.rfa (before loading the family in Revit, copy this file from 3D Repo Safetibase and open in a separate folder location)

  • In Revit, click on the view tab and go to Visibility/Graphics

  • Confirm Generic Models visibility is ticked and click apply

  • Go to the Manage Tab and select Dynamo Player

Dynamo Player configuration

  • Click on the Folder icon to open directory browser

  • Locate the folder with Dynamo Script

  • Select the folder and click OK

  • Click on the User Inputs icon to bring up the menu

User Inputs

In order to perform the API request, please fill out the following fields of information:

  • API Key for Authentication

  • Teamspace to locate a project

  • Model ID to locate a model

  • Family Name (should you choose to rename the SafetiBase Pin.rfa file)

Here is where you can find the information required to execute the script:

  • Teamspace: This is where your model exists. In this example, the model we are using is called Structure and it exists in the project called SafetiBase which belongs to Bogdan_D Teamspace

  • Model ID: This is a unique model ID number which we use in the API call. You can retrieve the ID number by going to the Model Settings menu as shown below. Copy & Paste the number to user inputs in Dynamo.

  • API Key: Use API Key to authenticate your API request. It is an easy way to gain access to your model data without using your Username & Password. Therefore, it is important to not disclose your API key to anyone who is not authorised to gain access to your project’s data. Treat it as your personal password.

Execute the Dynamo Script

Once you have gathered all the relevant information just copy & paste it into the user input fields. All that’s left to do is click on the Play button in Dynamo player as shown below. SafetiBase pins will appear in your model 👇

Add annotative tags to the SafetiBase Pins

Since the family instances of SafetiBase pins exist in the model space, you'll see them both in 3D & 2D views, such as floor plans, sections or elevations. If you wish to annotate them in your drawings, you'll need to follow the steps above and make the following few changes along the way:

  • During Revit Configuration steps, load the SafetiBase Pin_Shared Parameters.rfa family into your project instead. It contains shared instance parameters which annotation tags can identify.

  • Load the example SafetiBase Pin Tag.rfa family into your project.

  • SafetiBase Pin.txt file contains all of the shared parameters used in both pin & annotation tag families. Use it if you're creating your own families.

Here's how our example annotation tag would look on the drawings with the SafetiBase pin (you can change it to suit your project requirements). 👇

Dynamo Script

Did this answer your question?