Dynamo: performance


#1

Hello, My latest Dynamo project is a ‘clash importer’ that creates a sphere with various attributes of the ‘clash’. There are some 3rd party applications that do the same thing- i.e import the XML report from Navisworks and place a sphere marker at the coordinates. Using the tools in Navisworks, it is difficult to get a sense of the big picture of where the clashes are and their status. Refer below, colour coded by status in Navisworks I’m using Pentaho to get the XML into a better format- this tool is well worth a look if you do any database work or need to transform data between different formats & structures. kettle-header-dashboard If anyone is interested, I am happy to share the necessary Pentaho/Dynamo

 

As a plug for my blog- this post covers the Myth of clash detection In this project, there are a crazy amount of clashes- in the tens of thousands. However, Dynamo/Revit seems to hit a hard wall of how many records it can deal with.

  • 20,000: no problem, takes about 5 mins to run in Dynamo
  • 30,000: no-go, even if I let it run all weekend, Revit/Dynamo 'hangs', maxing out a processor
I would have expected 30,000 to take ~50% longer than 20,000. but just seems to be over some sort of threshold. There could be be some bad data, but looking through it it seems to be pretty consistent. The questions are:
  1. Is there any way to see the progress/status of Dynamo as it is running, particularly to identify any processor or memory intensive steps ?
  2. Is there any way to increase the threshold i.e configuration changes, assuming plenty of physical memory etc
(this is other than adding watches in Dynamo, or seeing various errors once it has run) It seems that as soon as you hit 'run', it is a bit of a mystery what Dynamo is doing. I am thinking of various activity/metrics/monitoring tools thanks Andrew

Clash Detection Using Dynamo/Revit
Dynaworks - Got incorrect Clash Points location when import Clash Test back to Revit
Lookign for explanation of how Dynamo instantiates geometry and manages resources
1.3 speed
Lunchbox - Room Collector limitation on amount of rooms?
#2

3rd question- is it just me, or does the formatting of the post go crazy once you submit ?


#3

When it comes to the formatting, you are not alone :slight_smile:

Many a time I find myself editing posts to rectify the formatting.

I haven’t done much clash detection myself to fully understand the capabilities of your definition. However, found your blog post to be informative.


#4

Hi Andrew,

I don’t know of any ways to add a progress bar to Dynamo. Tho you should probably check this out first:

https://github.com/DynamoDS/Dynamo/wiki/Efficiently-Working-With-Large-Data-Sets-In-Dynamo

I’m guessing that Revit is the biggest bottleneck in your process. Consider using a cube or even a tetrahedron instead of a sphere. Curved faces are bad. The less faces you have to render, the smaller the performance penalty.

 

And finally yes, the forum gobbles up your formatting every time you press edit.

 

P.S.

Not sure if this will help with performace but it should reduce your file size; try using transformed/translated typed direct shapes instead of actual families:

http://dynamonodes.com/2016/02/18/directshape-bygeometry-directshape-transform/

 


#5

thanks Vikram & Dimitar, I will take a look through the links above.

I had already tried cubes rather than spheres- but interestingly, it makes minimal difference to the Dynamo processing time.

There is some Revit display weirdness for both spheres & cubes, but I think this is just because the objects are a long way from the origin.

Refer link- spheres=blue,cubes=cyan. Yes they do change shape as you zoom in, and cubes appear as triangular prisms.

But once you bring it back into Navisworks, it is fine

I’ve also learnt that each time you edit a post in the forum, it gets even crazier…! So don’t even try !