# Number Curtain Panels Based on Model Line

Hi,

I’m trying to number Curtain Wall Panels along a Model Line. Where I’m stuck is grouping all of the Curtain Wall Panels along vertical grid. Please see attached dyn file. To use this Graph draw a Model Line Spline at the base of Curtain Walls, then select it from Dynamo. It numbers the Curtain Walls great, it’s just those Panels…

This is sort of a continuation of an old thread Curtainwall Panel Sequential Numbering using Excel module in Dynamo

1. group curtain panels by their host.
2. v (vertical) grid lines from the hosts (I think clockwork has a node for this) and sort them along length of the host element,
3. get the geometry (a line) for each curtain grid and shift it 0.1 units along the line of the host. Be sure it’s a along the host’s positive vector.
4. use a Geometry.DoesIntersect node to get a Boolean for every group of panels.

Some list management will allow you to generate a range of marks (1…x or a…x) to apply to each group of panels.

Thank you Jacob for responding to this. Thanks for outlining those steps. I did all of those things (probably not perfect) in the previously attached dyn. My fundamental problem is sorting (or grouping) the curtain panel list along the vertical grid as shown in the graphic below.

I would probably intersect the planes at the panels’ centroids with the location curve of the wall, get the curve parameters at these intersections and use them as keys in List.GroupByKey. For the vertical sorting I think using the global z value would be enough for vertical walls.

Here’s an idea i’ve used before

Thank you both for sharing. Here is a more specific question. How do I group (or sort?) Curtain Wall Panels with similar X values? Here’s what I have tried but it’s not working. It should be grouping them in sets of twos. Please see images and attached files.
Group Curtain Wall Panels by Similar X.dyn (11.2 KB)
Group Curtain Wall Panels by Similar X.rvt (1.1 MB)

Ok, looks like I was able to solve this by looking through some other posts here on the forum. Here’s what I have. I would be interested in learning a more elegant way.