Dynamo Scripts not updating output functions when a change is made in Revit

I have been working with some Dynamo scripts that I have created and have noticed that if the script reads a Revit parameter or object and that object changes, regardless if I am in Automatic or Manual mode, the Dynamo script will not update until I purposely cause an error within the script. I will normally disconnect an important node and upon reconnecting, the script will function again. This has happened with almost every script I have tested on.

This is because Dynamo doesn’t update many nodes unless an input changes, which is almost a requirement to develop scripts for large datasets.

Adding a true/false, number slider input or other easily adjustable input in conjunction with a list.create and list.first item early in the graph will allow a toggle to force a refresh. I believe that Clockwork also has a node for this.

1 Like

Thank you for that reply, this was the issue.

Could you give an example on how to create such a trigger, I’ve tried quite a bit with lists and true false and I can’t get it to work.

I’m trying to create a list Family.Types via Location.Name.

here is some examples

1 Like

Thanks for trying to help but this isn’t working for the nodes I’m using.

then please start a new post with your problem and attach the needed files/images

1 Like

I can understand why it would be difficult to have this work perfectly for Automatic calculation mode, but for manual execution it leads to some real difficulty in troubleshooting. Did I not get the expected result because my fix on the drawing side didn’t really work, or because some node in my graph didn’t pull in fresh data? It seems like the only way to be sure that it’s going to pull in fresh data is to close Dynamo and re-open it, which is not a good workflow obviously.

A boolean toggle to force refresh is quite easy to build, and updates all downstream data accordingly. In 2.5 there is also the ‘force re-execute’ button in the tuneup extension which will also ensure the desired result.