What is the best way to get the center point of a Curtain wall Panel(Replaced with Door)

Hi everyone,

I am trying to find a reliable method to extract the center point of a “Door” that live’s in the curtain Panel.

I am extracting the Door category from a link using BimorphNodes which is working very well. I can get the location of all true doors, but the curtain wall doors are giving problems. My best guess is that Dynamo is interpreting the curtain wall doors more as a Curtain Panel, because it doesn’t have a location parameter that I can get.

I am currently going down the geometry creation method

I can see how this could work, but I am struggling to reliably get the door panel as the filtered solid to use to extract the center point. Especially because each different door that you use, you get a different number of solids, in a different order. I can’t work out a method to structure the data to give me the largest surface (Which represents the door), in order to place a family.

Can anyone offer some guidance or a method I could explore to get this surface reliably?

Thanks a lot.

It might help if we could see the elements you’re filtering. It may also be an issue with using the LinkedElement object instead of the core Element object. Assuming that all your doors are just rectangular extrusions, then the bounding box centroid should be the center of door as well.

For what end use? Room location or for what are you using the data?

Hi Nick,

Thanks for your response.

I wanted to include a lot more of the graph, but when I tried to post it said I could only include one media item.
I do need to specifically extract from linked objects, the doors will always be linked into the project.
The bounding box is a nice idea, and the doors are rectangular, but when I plug that in, the item get’s placed a considerable distance from the door. How would I get a tight bounding box around just the door? I am using the following nodes:

Hi,

I am using the center point of a door to place a family instance.

The bimorph node you’re using returns a custom LinkedElement class object, rather than the default Element object. It should unwrap correctly with any of the out of the box nodes, but it’s worth checking to be sure. If the door element is modeled with swing geometry then the bounding box will not be accurate.

If you can identify the curtain panel then you should be able to get the host and its centerline. That should always work.

You are probably going to have to dig deeper and get the geometry of the door to find the exact point you are after.
Or you could speed things up by including a piece of geometry in your doors to help with filtering. For insistence a small circle made with the invisible line style or reference line and with a unique object style. This would be fast to retrieve. The only issue being that you need to include it in all your door families.

Thanks, I did check with the built in nodes and I get the same bounding box.
I think it does have a swing yes, so that is not going to work.

I will figure out how to isolate the Curtain panel that the door is in and get that centerline, that sounds like a good way to move forward.

Thanks very much for the advice.

This is a very interesting solution which I will keep in mind for future use.

Here, the door families are not modelled but rather provided, so this would not work efficiently and would always change.

But thanks for the idea!

Hi Nick,

I had a follow up question about this topic if you could offer some guidance I would appreciate it.

I am still struggling to pin-point the exact curtain panel that contains the door, but I do have a basic system in place that can get a rough location. The trouble I am having is that if the link is linked in and then moved, Dynamo is still reading the original link location, not the moved location.

How would I get the new links location?

I am getting the link like this:

I am then getting the two data types like this:

I am then doing some filtering to get the doors that I want, then trying to get the location using a bounding box as per your suggestion:

This places the signage in a floating manor, which is okay, but when the link is moved this process doesn’t seem to pick up the new location of the doors.

Any ideas?

You need to find the transform of that particular link instance and apply it to your own coordinates. Try searching for other threads dealing with the same issue. It’s a relatively common question so you should be able to find some examples to get you started.

Thanks so much Nick, this helped a ton.
I did the following after reading a bit about transforms:

Correctly identifies the new location now, and I will work on trying to isolate the curtain wall door from the panel list.

Thanks for your help, appreciate it.

1 Like