Updating python node in multiple scripts

That’s the ‘work’ account which exists solely because it has to, and since I had info I thought might keep you hopeful I wanted to share it out before you got discouraged.

First some background.

Managing Dynamo repositories is hard, as each release can require modifying your code base, similar to what developers of add-ins go through. However we (development, seasoned users, community leaders) haven’t done a good job showing how this is best accomplished. My small section of this class aimed to start showing users hope to do this while prepping graphs for the new player.

The attached file should be renamed to a .zip and extracted. It contains 9.1 Dynamo graphs:

  1. Graph Resizer: Manipulates the location of nodes to adjust the scale so the 2.13 UI changes don’t cause a million train wrecks to your layouts.
  2. Binding Remover: removes any bindings, a best practice before putting them into a library.
  3. Add Properties - BULK and Add Properties - Individual: Add a bunch of properties to a bunch of graphs or to an individual graph. Great for putting the Author info and such into all the graphs in your library.
  4. If Replacer: Swap out all the old If nodes with the new improved one.
  5. Python Engine Changer: Change the Python engine from IronPython 2 to CPython 3.
  6. Input Renamer: Renames inputs to the order in which they were created, so they sort in the same order when you get to the new Dynamo player (where alphabetical sort is the default).
  7. Add Tracker: Adds a tracker graph to your graph, placing it in the upper left hand corner of the graph.
  8. Build Testing Journals: builds a series of journals to test your graphs with - drag and drop the journal onto the Revit build you want to test in. Each journal will open the associated Revit file, launch Dynamo, and run the graph. User can then verify if they worked. If so the graph can be saved to to the new library, or if they fail the user can make the necessary changes or move to a new folder to edit later.
  9. Tracker: A sample graph containing one node representing what could be a tracker (or something else). Populating it with your actual desired tracker node is required before running the ‘add tracker’ graph.

The zip also contains the source journal used for playback, in case you want (or need) to edit that further so you can update the larger set of content.

All of these nodes (and a few more) will eventually make it up to package manager, but I need some beta testers first - feedback welcome.

Bulk Graph Edits.zip.txt (275.6 KB)

While none of these directly show you how to bulk modify your python, you can likely use them to append your tracker (if that is what you’re after) quite readily, or use them as a template to do the bulk editing of the python.

5 Likes