Associating items with system name

I feel this should be an easy one, but I haven’t been able to figure it out. How do I place items (ducts, accessories, fittings) onto the same system so they are associated?

The client does not want us to use Fabrication MEP, nor are we allowed to make/edit families. The downside is we have to break the duct into individual parts which breaks the association. Using dynamo, I can change other properties but the System Name (which I assume is how Revit associates items together) is a read-only parameter.
Also, to add to the current issue, all work is done via remoting into a secured digital system and we are limited to Revit 2019-so Dynamo 2.0.4 is the version I am working with.

Kinda. It’s read only because it’s not controlled by the instance, it’s controlled by the system. You add and remove elements to and from systems, even multiple systems per element as long as you have a valid connector. Your workflow would look roughly like this:

  1. Determine System for new elements.
  2. Place new element.
  3. Add element connector to System.

MEPSystem Class (revitapidocs.com)

I have tried to use the Edit System but it does not let me select anything to add.

In Revit or in Dynamo? It would be helpful if you explained what you’ve tried so far and show any attempts you’ve made with Dynamo.


I have tried via the Edit Duct System in Revit, as well as through Dynamo. I know this Dynamo works for instance parameters such as Comments, but I do not know how to aim it at multiple duct items and their system names.
If we had known this would be an issue when we started the job, we would have asked for different families to be made but as we are 6 months into the job and have over 60k items, it’s seemingly unrealistic that we go through and basically remodel everything.

Hi @H_H_arucker as Nick mention system name is controlled by the ductsystem…you can set it as here

and you can insert accesories/ fitting as here,

1 Like

Sadly, it looks like my Dynamo version does not have the Element.System node. I looked over the script for accessories/fittings, but I do not see where it would set the system of the item - also, it throws errors when I try it.

Look at what your nodes are returning, especially the ones with warnings. Fittings have location points, not curves, so PointAtParameter will not work. You need to handle your duct and fittings separately.

Keep in mind, you may also not be able to change the system of unconnected elements. System elements need something driving the system otherwise they just default to a new one. As long as the elements are connected they’ll share a system. Try working out what needs to happen in Revit before you move on to Dynamo. If you can’t determine the process (or it’s not possible) from the Revit side, then Dynamo won’t be of any help anyway.

1 Like

Hi @H_H_arucker you will could find these nodes in MePover package and probably OpenMep as well

MEPover had the missing node to get ducts to work, but I can only do one part to one system. adding more or using an existing system comes up with the error below.
I still have not gotten it to work for accessories and fittings as you had above. I get an error as seen in the second picture. The first script worked with those, though again only individually and by 1 new system each.

how would I get multiple items onto the same system?
image

I know that in Revit, I need to drag a node from 1 part to the node of another and this will place both items to the same system name. I know it does not work if I run the move command to put node to node.
How to determine which node of part A to ‘drag’ to a specific node of part B, that is I guess what id need to track down?

do you mean something …keep in mind Mepover node is very sensitive how it get the list …

Revit_F66IU2nal8

What you’re describing are the connectors I mentioned. Connectors are what contain and “share” system information and why all elements that are connected will have the same system. Changing the name of the system is doing just that: changing the name. It’s not actually changing the assigned system which is why you get errors for existing names and can only make one change. In order to put adjacent elements on the same system you have to connect their connectors. MEPover has nodes for doing just that. Once the elements are all on the same system, you can change the name to whatever you want.

it looks like your dynamo is splitting the duct and adding the Accessory. In our case - duct, fittings, accessories are all ready in place and split but show on different system names and are “Not Connected” by Revit check standards. I think all such errors will resolve if I can get items onto the same systems. So like the images below, before parts are on separate systems but on the second, after dynamo, id want all of the systems to be changed to the same one.
image
image

you wanna merge your ducts /pipes try geniius loci have some great node for that…if i understand

Revit_1kHSqXiskK

This likely the problem.

Required disclaimer: You have not been in a supported version for 18 months. That means you have not had software updates for 18 months. This includes security updates, so by continuing in the project in this version you are putting every organization at risk, even if you are on a remote, secured system. It’s absolutely a horrendous practice and should be a red flag resulting in an extra zero on any bid.

Your software is so out of date that anything you see now will utilize methods that didn’t exist back then. As a result you may have to dig into the old API and write your own nodes for the common packages being mentioned, utilizing the new content as a guide, to get this working. I would offer to test but you’re so far back I can’t even get the software to install without a contract to tie it to.

Makes sense, is there a way to connect lines of parts into one system without manually doing it for each part?

Sadly no, the straights would need to stay as separate items.

There are a few things that would have been preferred but we are bound with what we have.

Revit will automatically “combine” continuous duct segments on the same system. You can technically get around this using the API, but it will be problematic down the road. You need to get the elements into place and then “connect” their respective connectors. This will put them on the same system but keep them from being physically attached. However, if you do anything to move or modify the elements, they will likely return warnings and either re-combine or delete themselves. What you’re asking to do goes against how Revit is supposed to handle system elements.

A better option might be to create a very small duct union that could be used to “break” the duct segments without actually disconnecting the system.