Dynamo – Interoperability

If two or more systems are capable of communicating with each other, they exhibit syntactic interoperability when using specified data formats and communication protocols. (Wikipedia)

When talking about interoperability people often think of the interaction between different software programs. But what about different disciplines working together using the same software? A typical example of different disciplines that need coordination is: Openings for Ducts (MEP) in structural walls (Structure). Quite often this is done using clash detection but then you only know the location of openings but not the dimensions. And you have little coordination.

RME Advanced Sample Building with RST advanced Sample Building linked in and selected (blue)The workflow of using clash detection for communicating needed openings can be done differently. There are a couple rules to consider why this script was developed this way:

Rule 1: A discipline is not allowed to edit, in anyways, an other discipline’s file!

We have developed a script that does the following:

  1. It finds all the structural walls in the linked files. (it ignores walls that are not bearing).
  2. It finds all Ducts in the host file.
  3. It finds the intersection between the ducts and the structural walls.
  4. It finds the centroid.
  5. It finds the dimensions of the ducts
  6. It places a opening family on the intersection point.
  7. See numbers 1,2 & 3
  8. It set the dimensions of the opening family to the dimensions of the duct + extra spacing
  9. It captures the ElementID
  10. It puts a value in the mark for tracking
  11. It writes all the information to Excel


Next, The excel file has to be places on a version controlled system e.g. AUTODESK BIM360 Team or Document management

  1. A member form the structural team would then use this file to place opening families in the structural model.
  2. The person would review all the requested openings and do the following.
    1. Approve the opening request.
    2. Deny the opening request.
    3. Deny the opening request but suggest a relocation.
  3. This will be captured in the Excel file and put back on the version controlled system.

The MEP team reads the updated Excel file.

  1. They will see approved openings (the approved families)
  2. The will see denied openings
  3. They will see denied openings but with a suggestion for a new location

They will take actions accordingly for every opening. Then the cycle will start again until every opening has been coordinated.

The essential part of this script is the version controlled environment. Here you can find when something was changed and by whom.

Another point to note is that the scripts works on the project used for development. Experiences in developing scripts has taught us that scripts often need modifications when used in other environments. Next to that people often want additional features.