On Friday I presented at the Revit Gebruikers Groep (that’s the Revit Users Group for the Netherlands) on Dynamo Graph Maintenance, a topic that most dread, and thought i’d share the content with the community. Most of it I’ve posted elsewhere before, but not everything and not in an organized way. I’ll likely edit this more as tools and content evolve.
Annual Dynamo Maintenance.pdf (3.7 MB)
First up, note that I wanted to call this topic “graph maintenance made easy”, but that’d be a lie. Software maintenance is hard work no matter what tool(s) you use, and since the ‘success’ of maintenance is the tool doing what it did before people often avoid working on this, but it’s a must for anyone who wants to use a library of graphs.
Next up, I am releasing this as is, with no warranty, or assurance that I’ll come back to update in a future build. It could work perfectly for you, or it might not. Sadly I don’t have the bandwidth to maintain this outside of my day job, but I want to make things better for everyone. After all: we’re in the together.
The concept is simple and consists of a few steps.
- Build a test Revit dataset for your graphs. This should be one model to run ALL of your dyns against, so keep it to your standard and your setup. It should be kept in the oldest version you will support, as updated versions will open the old model but as we all know Revit files are not backwards compatible.
- Build your .dyn environment and plan on deploying it to local users with your graphs. Just put all pacakges in their
%appdata%\Dynamo\_DynamoType_\*Dynamo Version*\Packages
folder. Don’t run it off your network or anywhere else as this adds complexity and your IT team can push the files without issue. - Build your graphs in the oldest version using the test model as the RVT you work with.
- Build your testing journal with Build Testing Journals.dyn (47.3 KB) which will create a .txt file that is a replayable journal.
- Test your graphs by replaying the journals, editing as needed.
- If the graph works without issue, save to a deployment folder; otherwise perform any quick edits, or save to a ‘edit it later’ folder.
- If you find a ‘bulk’ edit is in order (say swapping the Python engine for all graphs in your library) use a variation of Python Engine Changer.dyn (47.1 KB) to perform it. You’ll have to edit this on your own as I don’t know what changes you might need, but the Python in the DYN should give you a good head start.
- Once all graphs pass (or enough of them) push them an the rest of the environment to end users.
Best of luck and happy graph maintenance to all!