How to get the same index from every list?

hello everyone,

I’m trying to deconstruct a bounding box -> cuboid ->topology edges -> and want to get the curves that are on the front bottom of each cuboids and get the end points.

From Edge.CurveGeometry, I found that #7th curve is the front bottom curve of each cuboids and wondering how I can get only those 7th lines from each cuboids?

Please let me know if you need more question.
Feel free to give me an advice on how I can get those lines / points in a different way also.

List.GetItemAtIndex, with longest lacing and/or use list at level 2 (@L2).

1 Like

thank you @jacob.small

it worked but not the way I want. I thought grabbing 7th curves of the list will give me the bottom length of each blocks but realized that the 7th curve = same orientation. Instead of grabbing the bottom length of each block it just grabbed the bottom south curves so a mix of both long length and short lengths.

is there a way where I can grab the long lengths of each blocks? just like how I pointed out on red pen above?

thank you!

This should do the trick for basic geometry.

If your geometry is more complex, you’ll want to use another method though.

1 Like

wow this is amazing @jacob.small thank you!!!
if I want to get the vertical segment, do I just change the Vector Z to Vector Y or X? I tried but seems like not working to well. thank you very much for your knowledge!

If you want to work with vertical segments you would want to use Z==0. :slight_smile:

1 Like

hey @jacob.small can you briefly explain what sURFACE.NORMAL AT PARAMETER node does with UV? and why it is 0.5? thanks!

https://dictionary.dynamobim.com/#/Geometry/Surface/Action/NormalAtParameter

The UV input is defining the location to take the normal from the surface. I used 0.5,0.5 as that’s ‘center of the domain’ (not necessarily the midpoint on the surface, which is much more expensive of a calculation). You may want to study up on point and surface parameterization for more info.