Linked model & copy/monitor question


#1

Hi guys,
Sorry I’m unable to post a screenshot but hopefully my explanation will suffice.

I work in an MEP consulting firm in which (for the majority of larger projects) we split up models by trade. In my mechanical model, I tag my equipment by Type Mark and Type and then add all the associated electrical data to the equipment which is also shown on my schedules (voltage, phase, frequency etc.)

The electrical team then copy/monitors my equipment into their model in order to circuit it to their panel and also populate their schedules. A perfect example of the collaboration tool.

I’ve learned the hard way that a) instance parameters do not transfer when a piece of my equipment is copy/monitored in the electrical model, b) if I make a change to (example) voltage in my model, the change is not reflected in the copy/monitored equipment in the electrical model.

So in a job where the electrical team needs to circuit 700 of my fan powered boxes, each with a different Mark designation, and the possibility that this Mark may change or the electrical characteristics of the equipment may change, you can see where the tedious work will start.

So basically, in dynamo, I want to run a script that collects Type Mark, Mark, Voltage, Phase, etc. from my model, and sets this information the the respective copy/monitored equipment in the electrical model.

So far, I’ve managed to pull the information from my linked model. But I just can’t wrap my head around how I can match up the equipment in my linked model to the copy/monitored equipment in the electrical model in order to set the parameters. There is no parameter that links them,and my thoughts are that if I make a parameter and name it the exact same thing in both models, then this defeats the purpose of what I’m trying to achieve in the first place!

Does anyone have any bit of advice on this problem? Or an alternate approach to it?

Any help is extremely extremely appreciated!

Sorry for the long post!


#2

Hello, in order to get help, you will need to send a screenshot of your first graph with precise issues to resolve. Thanks :slight_smile:


#3

Thank you - I was unable to get to my computer yesterday to screenshot. See below for screenshot. In this test case, I have resolved my problem but that was when I started with a blank template and only had one piece of mechanical equipment.

My first specific issue I’m trying to resolve is how to match/link equipment from my model and the copy/monitored model in order to set parameters.


#4

This discussion could probably help:


#5

Thank you so much!! It looks exactly like what I’m trying to do. I will update on the progress shortly! Thanks again.


#6

Just as a followup - here is my final graph. I decided to go down the route of geometry intersection to set parameters as any other ways I tried lead to dead ends. One thing (perhaps an internal problem) was that the geometry intersected in X, Y but not Z. (We’ve had problems on this project dealing with shared and project internal coordinate systems and thus effecting level heights). But it appears I have found a solution!

Let me know if anyone sees anything that potentially can go wrong with this script!

Thanks,
Dave


#7

Hi @David_Black

Your doing wrong at “FilterByBoolMask” node. You need to connect your elements in FilterByboolMask node and Booleans list to List.Map node’s List. Below is an example.


#8

Thanks @Kulkul - I see what I was doing wrong now but I can’t get my List.Map list to be true values only. I tried it out on a test project but maybe I am missing something obvious??


#9

@David_Black You need to connect to elements list to FilterByBoolMask not the booleans. Watch my screenshot carefully and try to understand how it works.


#10

@David_Black If you still can’t make it drop your files here we will create possible solution for you.


#11

Sorry @Kulku, I connected to elements list but I’m still drawing a blank - its been a long day. Thank you very much, hopefully you will have some success.

Thanks, Dave

PushTypeMarkandMarktoElecModel.dyn (36.6 KB)


#12

@David_Black Drop your rvt file in Google Drive or Dropbox and share the link here.


#13

Thank you


#14

@David_Black here is the updated dyn scriptPushTypeMarkandMarktoElecModel.dyn (36.7 KB)


#15

Works like a charm!! Thank you so much, god bless Dynamo!


#16

@David_Black Glad it helped! Merry Christmas :evergreen_tree:


#17

Actually just a quick bit of testing and it seems the “Mark” value is the only parameter that changes. I.e. if I change a voltage parameter in the MechModel, it doesn’t carry over to the ElecModel. Any insight into this? All parameters are type parameters except from “Mark” so I change the voltage parameter to instance and it still doesn’t carry across.


#18

@David_Black That’s because you don’t have any values for the parameters

.


#19

Actually just solved it - all parameters that will require monitoring need to be instance. I went into the ElecModel and reloaded the family (with the voltage parameter changed to instance) and it worked perfectly!

Thanks so much for your help again.


#20

Gentlemen,

First off, thank you for the discussion and the script. It’s been a great starting point.

I’m trying to follow along and manipulate the dyn script to work for my project. The only thing that seems to not be working how I would expect is the List.Map node. It keeps returning null.

The “does intersect” node appears to be working, and I’m passing my model elements through the FilterByBoolMask node as instructed. Any ideas on what may be the problem, or a possible solution?


Copying information from copy/monitored elements