ImportFromFME is a package that contains nodes allowing you to import data into Dynamo through Safe Software’s FME Spatial ETL tool.
FME has readers for over 400 CAD, GIS, Spatial Database, BIM and online formats. For more information, please visit www.safe.com.
This is a early version of this package, and we welcome all suggestions for improvements.
The nodes are presently Python based, using FME’s .NET API. They should serve as good examples for any who wish to do their own FME integrations into Dynamo.
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.
Requirements
Dynamo Revit, version 1.3.2 or newer
FME 2018.0 or newer must be installed and licensed
Installation
The package can be installed from the Package Manager
Usage
ImportTableFromFME has three inputs:
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.
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.
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
Dynamo