I’ve mentioned this before, but here’s another crack. We need a way for certain nodes and/or graphs to know that they should not hold onto element bindings for elements created via nodes.
I have regular comments on YouTube as well as people trying to learn Dynamo at work along the lines of ‘my graph is deleting views’ or ‘the graph is moving family instances’.
In my strong and honest opinion, any node that creates Revit elements should not bind the elements to their nodes/graphs by default beyond a graph’s session. It is not intuitive for new and even semi-experienced users, and even I get caught out by it often and curse Dynamo. Nothing feels more stupid than having to tell a user to delete a node that created elements and wire up a fresh one, all because they ran in Dynamo vs Dynamo Player and got stuck with some element bindings. I know and appreciate there are some times where bindings are necessary to achieve a logical script execution process, where some nodes/branches would not intuitively want to re-run in a single graph session. I’m talking once the user closes a graph then reopens it here, generally.
Curious to know if there is any plan or possibility of adding in a graph property in future to tell the graph to flush its bindings, or certain nodes to forget they made something before. For every case someone has justified element bindings to me, there seem so many more where they simply don’t make sense the way they are implemented.
I’ve mentioned it before, but the way Rhino Inside Revit implements this is far better, with the option to choose the binding behavior of these types of nodes. See below the right click option on nodes that could instigate bindings/persistence and how they deal with it from a UI/UX perspective. Incredibly intuitive.
My main bugbears are nodes that create FamilyInstances, and nodes which create Views. I think more often than not, these types of nodes should not remember what they created beyond a Dynamo session. I often literally use Python, just to work around this.
Here’s a good example of the nonsensical scenarios they cause, and the difficulty involved in explaining or justifying them to people that encounter them.
I’m aware some custom packages have tools for flushing graph bindings, but I would much prefer see some method where you can flag down certain nodes that flush on close, or a graph property that flushes nodes on close as a graph property Dynamo interacts with. This to me is becoming a fairly crucial UX aspect of Dynamo I struggle to deal with or explain to others, and I’d be keen to see some degree of thought put towards dealing with it in the core of Dynamo if possible. I can make this a git issue if we want, but I’m aware some don’t see it as an issue in the development/support team.
Even when instructed on how to work around it, many users still hit the wall again as ‘whoops, I ran via Dynamo before closing the graph’. Completely unintuitive UX.
I’m aware that the Dynamo roadmap is very heading towards Dynamo as a service, and lowering the entry curve and challenge of using Dynamo with features like enhanced auto-complete, but I strongly feel this feature will always feel highly illogical in practice to users, especially if newer to Dynamo and programming.
Whilst a bit of a rant, it comes from a place of caring for the platform and it becoming accessible to new users in future. I’ve always found this to be one of the things that makes Dynamo more difficult to teach and recommend versus explicitly programmed solution in Python/C#, where what you ask for is generally what you get.
Any input or feedback is appreciated, even if it’s just ‘sorry, not on the cards because it’s more complex than what you understand behind the scenes’.

