Instance parameters - bulk export/import

Let me apologize up front by owning that I’m no programmer, I’m a mechanical engineer desperate to streamline workflow. We are struggling to effectively share data between models (mechanical model, electrical model, plumbing/fire model, etc.). If we copy/monitor mechanical equipment into an electrical model for example, the instance parameters don’t translate and only bring through their default values. What I am trying to accomplish seems like it should be simple but I can’t find an example that checks all the boxes (or I just don’t quite understand what I’m looking for). What I’m hoping for:

Dynamo script in mechanical model to output selected instance parameter values for every instance of a given family (I assume to an Excel file)

Dynamo script in electrical model to input these parameter values (from the Excel file?) and cram them into the copy/monitored objects

I am aware that using one model for all trades makes this go away, however with large projects we have seen this become impractical. When file sizes approach 200GB, they become too slow and difficult to use.

I am open to other solutions outside of Dynamo, of course, but from everything I’ve gathered over the last few years, there isn’t any other great built-in workaround.

Many thanks in advance for any suggestions.

This will be much easier if you have a unique identifier for your equipment as the IDs won’t match between models. Besides that it should be pretty easy. You could even try running one script instead of two, depending on how many elements you have. Try running the script from the Elec model and just pulingl the info directly from the Mech equipment.

Thanks for the quick reply! If we narrow it down to a particular family, then they will all have unique designation numbers (FPB1-2, FPB4-16, etc.) that we could use to correlate them. How would you pull the data from the elements in the linked model without being in that model?

That would work for type parameters but you need to be able to designate the specific instance if you’re manipulating instance parameters. Since (I assume) you’re using the same families between models it should be easy enough to get their location and just sort the elements that way.

There are many nodes in custom packages that allow you to read info from linked documents. That would be your first step.

Nick -

Appreciate the help, I’ve started digging into this (in my free time), still fuzzy but I think I can get there.

Separate related issue though… when Dynamo exports to Excel, can you get it to stop overwriting cells outside the active range? For example, if I put column headers in the first row and tell Dynamo to start writing in Row 1 (the second row), it correctly starts putting data in that second row but it also blanks out the cells in the first row.

I’d start a new post for this question. You might have better luck with an answer there.

do you know the IDs of instance parameters existing in Revit by default?

I was referring to the equipment IDs, not the parameters. You should be able to extract that information quite easily though. Depends on if the parameters are the same between models though.