# Create Points from Top Center of 3D Solid

Is there a way to obtain x,y,z values from only the center point of the top of a 3d solid? I see the Solid.Centroid, but want the top and not the middle of the geometry. I have a ton of 3D Solids in my drawing.

Any help would be greatly appreciated!

Thanks

Steve Walz

How about try extracting the surface points at the 0.5 parameter for X,Y and filter by surface normals?

2 Likes

Or take the results of the Surface.PointAtParameter into a List.SortByKey where the key is Point.Z, and then a List.LastItem.

Thanks @Ewan_Opie and @jacob.small! I’m finally getting back around to this one. Probably pretty basic question here, but I not seeing the answer in my searches. How do i go about extracting just 1 point from each list to create my points from (see screenshot example below). Ultimately, I want to create a point from just the top center of the solid, not all points.

Thanks for the help!

Steve

In the method I describe, the surface normal Vector ( The “I’m facing this way”) is sorted to find the one which has a positive Z axis value (“I’m looking up, so I must be on top”)

2 Likes

Thanks @Ewan_Opie! I attempted your solution earlier, but just realized that I didn’t have the Level 2 set on the sort and last item list. Setting it to Level 2 worked like a charm! Appreciate all the help!

Thanks

Steve

1 Like