Changing Air Terminal Height Based on Ceiling Height

I would like to grab the “Height Offset From Level” of an architectural link, the “Offset” of my air terminals inside of each of those spaces, compare the two, and IF they are different, then change the air terminal to match the ceiling height.

I’ve gotten to where I can get both parameters, but I’m not sure how to compare and change them from this point. Any help is appreciated!

Get Element from Link.dyn (10.9 KB)

1 Like

Best to post a screenshot here too so those of us who are mobile or lack sufficient resources (time being the big one) to recreate source files (i.e. Two Revit files properly linked).

Updated. Sorry, didn’t think about that. Thanks.

A lot of people say they need to “compare the two, and IF they are different, then change” them to match. That’s not really the “correct” way of looking at it, because, frankly, it’s unnecessary extra work.

Rather than changing the only elements that don’t match the ceiling elevation… just change all of them. Set the elements elevation to be equal to the ceiling height. If the terminals need to move, they will. If they don’t need to move, they won’t.

It may not seem like it makes a big difference, but cutting out unnecessary nodes will help in the long run. And it’s good to get your head in the mindset of efficient graph creation.

NOW! With all that being said, you have your ceiling heights and your terminal elevations per room/space. You just need to duplicate your ceiling elevations to match the list structure of your air terminals. Then set the elevation for each terminal.


I agree. It’s just how I think through it in my head. Easier said than done for sure!

What you’re suggesting is where I’m having issues. I can’t figure out how to say “this terminal in this space needs to be at the same elevation as the ceiling that’s also in this space.”

Totally understand. I just know I’ve gotten into situations where I’ve put an hour into my graph only to realize there was a much simpler solution.

I’m not sure if you can get linked elements by space. You might have to do a geometry intersection (either with the air terminals or the space they’re in) to see which ceiling goes with which space. Then end goal is to have your ceiling list be in the same order as your space list.

Yeah I do that a lot also. Usually I try to accomplish something that has been boiled down to a single python script haha.

I’ll try this out and see if I can get the result I want. Thanks.

I’ve tried a few different methods and maybe I’m missing something. It doesn’t seem like you can tell Dynamo to figure out which space contains a ceiling IF the ceiling comes from a linked file.