Cutting a list of points based off a Z-Value


#1

Hello all,

I’ve searched the forum to no avail (Albeit I could be looking for the wrong thing). I’m trying to figure out how to chop up a list based off a Z-value. I’ve tried playing with SortByKey and Point.Z to limited success so far.

Simply, the issue is I want to take the points of a topography in Revit, use Point.Add to project it up the Z-Axis a certain amount, sort the points based off Z-Value, create nurbs curves through said points at each ‘contour level’, and then create a new polysurface by lofting those curves.

I’m a little stuck as to how to cut my list up based off Z-values however. Where I have got to so far is shown below. Any help would be greatly appreciated!

Dynamo_Sort_Points_List


#2

How about GroupByKey instead of SortByKey?


#3

Brilliant, that’s exactly what I was after. I feel like a bit of a muppet now as that probably came up in my search for ‘key’…

Thank you All-Knowing-Dynamo-Guru :smiley:


#4

Just curious: why do you want to “offset” the topo?


#5

It was a question on Revitforum.org that I was curious enough to try replicate as both a helping out and learning exercise.


#6

Ok. I’ve been going through some topo stuff in the past and lofting often fails if the topo varies to much.

I would have tried the Topography.Surface node from the package manager and something like shown under:

del me


#7

Ah that’s a lot easier :smiley: Cheers!