Changing Element Workset Based on System Type

I’m working on a script to automate the process of moving model elements to the proper worksets. I’ve worked out how to do it where elements of a given category or type all go on the same workset (Plumbing Fixtures, Mechanical Equipment, etc.)

Here is a screenshot of the above process (This is very much the HULK SMASH! approach I’m sure)

M_Ductwork Workset Change







Because of the way we split out our piping between plumbing and mechanical piping worksets, I’m needing to filter the pipes by their system type and I’m not entirely sure how exactly to do that. In my mind, this is the logic that I want to use.

Pipe System Type






Is there a node out there that anybody knows about that would do something like this? Is there another method? Any input and guidance is greatly appreciated!


1 Like

Below I have a similar example for ducts. It should be pretty close to that of pipes. We basically group all of the elements by their respective system classification, then get each list as it’s own. From there you can assign worksets.


Or perhaps these bad boys will help out. I’ll drop these on rhythm now.


Outstanding! Thanks once again John for the help and guidance. I’ll give that method and those nodes a shot. I’ll keep you posted!

Just to give an update, I used John’s collector nodes to extract the pertinent pipe, system type, classification, etc. ID’s and then used his first method and carried it out to assign worksets to the items based on their systems types. See screenshot. Thanks again John for creating such useful nodes!

piping workset change by system type

Garret-Sorry to ask a stupid question. But why did you assign 284 to the value when placing the systems on a workset? What am I missing?

The input needed is the element id I believe. If you were to put a string (name) it would error out.

Wondering…how could I view all the images here? they all unreadable.

Hello Crush,

@crush click here to see all images

1 Like

Hi Kulkul,

Thanks a lot.



Which package does the GroupByKey nodes belong II wanted to install to my Dyanama?.




groupbykey is an out of the box node, with a variant in the ampersand package.

Below I have an example of a use for WhatTheNode, a custom package for figuring out where nodes comes from.