Dynamo 2.0.3 Not running

Hi
I am running dynamo sandbox v. 2.0.3.

I have a fairly large script, which worked fine until yesterday, but it does not run at all anymore after no major changes. When hitting run, it simply stays run completed without warnings, but it actually does not load the input files and does not perform any operations.

I did tried modifying the script several time (using boolean, pluging/unplugging nodes) since I have custom-made python nodes but without any success.

I saw on this post that it could be a memory usage problem (Dynamo 2.0.1 Not Running) but I do not know how to address it.

Can someone help ?

Thank you very much

  1. are you using a lot of geometry in your python?
  2. are you doing this? https://github.com/DynamoDS/Dynamo/wiki/Zero-Touch-Plugin-Development#dispose--using-statement
  3. When the graph does not work - do you see memory usage actually increase or does it stay relatively stable?

Hi Michael !

Thank you for your reply, I really appreciate any help at this point.

SO i solved part of my problem, but not all of it. I figure out that part of the reason it was not running at all (not starting) was because I had to re-select the path to the file containing the data I was using in my script. Even though I tried using a boolean node to fake a change in the script, and force dynamo to re-read the data, it did not seem to do the trick !

That being said, I have determined that one of my python node where I am creating geometry is the main cause of why my code now seems to run but never completes -> when i try to run the script with that node, the memory usage stays stable around 75% but only 3-4% of the CPU is used, sometimes CPU usage goes up, but then it goes down again.

Here is a copy/paste of the python node creating the “blockage”, any idea how to solve this problem ?
"

Enable Python support and load DesignScript library

import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *

The inputs to this node will be stored as a list in the IN variables.

a = IN[0]
b = IN[1]
c = IN[2]
d = IN[3]
e = IN[4]
f = IN[5]

poly =
Sol =
pair =
curves=

Place your code below this line

for i, v in enumerate(a):
curves.append([a[i],b[i],c[i],d[i],e[i],f[i]]);

for z, v4 in enumerate(curves):
poly.append(PolyCurve.ByJoinedCurves(v4, 0.001));

for i in range(len(poly)-1):
pair.insert(i,([poly[i], poly[i+1]]))

OUT = curves, poly,pair
"

I did not try your suggestion 2. (https://github.com/DynamoDS/Dynamo/wiki/Zero-Touch-Plugin-Development#dispose--using-statement)) yet

Best

you need to try that suggestion - it will help.
We are also working on doing it automatically - but it’s a hard problem.

Hi Michael,

I did convert all my script to zero touch nodes using Microsoft visual studio, and making sure that I released all the geometry created. It took me a while to learn C# but this solved my problem, now my entire script runs in 10 mins (vs several hours before).

It would be great to include some clear warning message on the dynamo user information regarding using/handling huge amount of data in dynamo. It would avoid someone creating everything using dyanmo nodes/python nodes and then having to restart everything in c#. Zero touch nodes are really useful for large scripts.

Thank you for the help, it’s greatly appreciated.

1 Like

some updates coming soon here.

see Dynamo geometry stability improvements / request for feedback

would be interesting to see if your original code performs better with the latest daily builds now.