Sounds like you found a solution, but here is some more relevant details on this...
There are 2 ways to manually change the length of the rod in Revit
1. The SetRodLength Method from FabricationRodInfo Class
- You are setting the total length of the rod of each individual hanger
- The rod MUST NOT be hosted to the deck and disable auto-hosting to structure
- Changing the pipe elevation moves the entire hanger and maintains the same length and would require readjusting the length
2. The SetRodStructureExtension Method from FabricationRodInfo Class
- You are setting an extension value (like the takeoff of an insert) that is either added or subtracted from the rod length
- The rod MUST be hosted to the structure
- Changing the pipe elevation stretches the rod to the structure still (+/- the extension value you set)
You can get the same result using either method, as far as how the modeled geometry looks or the length shown on a Fabrication Report.
Method 2 is the one I used, which allowed me to develop a library of inserts and their rod adjustments lengths for each deck thickness and rod diameter, and using Dynamo it presents a list of inserts to choose from to apply to a bulk selection of hangers. It basically just pulling values from a spreadsheet and applying to each hanger.
There are Dynamo nodes available to assist with either method, although you will have to build out the rest of the graph to implement it. Not sure how eVolve is adjusting the length, but the excessive amount of time makes me think they are unhosting every hanger from structure and using method 1 and running the math on every hanger to adjust the rod length which could add to to overhead.