Integrating FME into Dynamo for Revit

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2018.x

Introduction

Dynamo is an automation tool for Revit that uses a visual process design interface, much like FME Workbench.

dynamoprocess.png

For a more comprehensive introduction to Dynamo, please see the Dynamo web site.

Like FME Workbench, Dynamo allows the creation and publication of Custom Nodes for others to use in their processes.

Unlike FME Workbench, Dynamo is quite limited in the types of source datasets it can read. This led me to believe that an integration of FME into Dynamo would be useful.

 

Package

From the Dynamo Package Manager, you can install the ImportFromFME package.

packageimport.png

There are two nodes in this package:

ImportTableFromFME - imports tables from any supported FME format (ie. Excel, Oracle, SQL Server, Geodatabase) as a list of rows, similar to the Excel or CSV reader nodes.

ImportGeometryFromFME - imports geometry from most supported FME formats, with the output separated by geometry type. If the source data has coordinate system information, it can be automatically reprojected to the local Revit coordinate system, based on Project Location and Units.

 

Usage

ImportTableFromFME has three inputs:

importtable.png

FME_Home_Folder: This is the location of the root FME installation folder. This is needed in order to connect to the FMEObjects .NET dll. Please use a String node to supply the location.

FME_Connection_String: This is a very long string that provides FME Objects with the reader information, including format, dataset, coordinate system, table to read etc. You can create this string using the utility FMEPCConfg.exe, which can be found in the FME installation folder. Run the utility, then create a Reader connection to the dataset. Copy the Connection Parameters string from the Connection text box and paste it into a String node in your graph. The utility should be run on the same computer as Revit, to ensure that FMEObjects will have the required database connections.

fmepcconfig.png

fmepcconfig2.png

FME_Logfile: This is an optional input that provides the location of the FME log file created by the import. This can be useful when an import fails. This input should be a String as well.

ImportFMEGeometry uses the same inputs as above, as well as a Reproject switch.

importgeometry.png

It should be able to import most types of geometry into Dynamo. At present, it will ignore rasters, point clouds and text. If the Reproject switch is set to True, and the source data has a coordinate system, the node will get the Project Location, Rotation and Unit from the Revit file and use that to reproject the source data to match the Revit data.

The node has a separate output for each geometry type to make it easier to choose the geometry you want to use. It also has a separate output for the Donut Hole polygons, since Donuts are not supported in Dynamo (as far as I could tell, anyway).

There is also an output for any features that creates a Dynamo geometry creation error. This output includes the Dynamo error, feature geometry type, FME feature type, and list of the coordinate points.

 

Example

Importing Pipes and Structures from Civil-3D file, in Illinois State Plane coordinate system.

Civil-3D

civilpipes.png

Dynamo

pipeimport.png

 

 

 

 

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.