Sunday, February 15, 2015

ImportInstance.ByGeometries DynamoBIM Node explained


I decided to create this post to explain what is really created when you use the ImportInstance.ByGeometries Node in DynamoBIM....
as shown per this blog  post regarding 3D Room Geometry.

It turns out the ImportInstance.ByGeometries Node does the following
1. creates "3D Geometry" as an exported .SAT file
2. names the SAT file the element GUID 
3. places it in a temp directory usually in your C:\Users\...\AppData\Local\Temp directory
4  then imports the SAT file into Revit.

With all that said it is possible to change the name of the sat geometry elements such that it is not using the default "name". Replicate the export/import sequence manually as shown in the image below in relation to the 3D Rooms Geometry example.

Embedded image permalink

Clunky? Its better than no 3D room geometry. I agree that using imported 3D SAT files is not ideal but it is useful especially if you want quick geometry to be placed in Revit for spacial studies.
Thus, the 3D geometry/SAT import (as with all geometry imports into Revit) it is limited compared to a 3D family. 

In future posts I will explain how to change the color of these SAT geometry elements and I will also explain how to place real Revit Families that represent 3D room geometry.

4 comments:

peetle said...

Marcello,

We're moving towards doing all of this in memory, which would make it far faster. For now we have to write a temp file because the Revit API still lacks in-memory SAT import. :( We're trying hard to get them to fix this.

Obviously, using ImportInstance.ByGeometries is faster than using ByGeometry as you only write to disk once.

Sol said...

That's a pretty funky example Marcello, many thanks for the heads up!

Unknown said...

Read my mind I was just wondering the other day how this was working as I am using it quite a lot these days to show our electrical and comm rooms visually in 3D

Unknown said...

hey marcy,i was trying hard to use dynamo and python script to create column schedule in revit,a very smart one with no luck,can you start thinking about this,is it doable at least or I am wasting my time?!