Creating island topology surface from contour points

I have a topology contours points in a text file for an island, and I want to create high resolution topology for the island’s surface. I tried two different methods, (a) Patch and (b) Meshpatch & Drape; however both methods did not result in high resolution topology surface, so is there a method that could result in higher resolution or is there a way that Patch or Meshpatch resolution’s can be increased? Below is a brief summary of what I did using Patch and Meshpatch & Drape.

(a) Patch
Sample Point Spacing : 0.1
Surface U Spans: 255
Surface Spans: 255
Stiffness: 10

Despite the usage of the maximum available resolution, not all surface features were captured

(b) Meshpatch & Drape

I used Meshpatch and then used Drape with the minimum possible spacing of 1; however, I still need higher resolution with spacing smaller than 1.
So I used Scale command to scale the meshed patched and then I draped the scaled mesh patched surface and then I used Scale command to rescale the draped surface to its original size. It worked and gave better results except for the outer edge of the island (became thicker).

So I am wondering if there is a method that can provide higher resolution in creating topology surface from contour points


First, you will not get more detail than your contour points. That is your only precise data, anything else is invention - you have no idea what actually happens between your given points. Depending on the number of points you have, your terrain surface will be more or less precise - everything between the points is interpolated in some way.

Second, using a NURBS surface such as Patch or Drape will also smooth out your data - NURBS surfaces do not have sharp corners and depending on the number of control points and other factors will be more or less “flexible”. A Mesh can be made to pass exactly through the datapoints - leaving facets in between - a NURBS surface will pass near your points and smooth things out.

So the highest real “resolution” you will get is a mesh that has all your data points as vertices. MeshPatch should do this with a point cloud; otherwise you can try the Delaunay component in Grasshopper. There still may be some problem areas in the result as the algorithm connects points that are the closest neighbors and this is not always the best interpretation. So often some manual intervention/editing is necessary afterwards.

If you want to Drape over the mesh with the highest number of points, turn off autospacing in the command line and then set the U and V point count as high as you can. The limitation is about 847 points in either direction IIRC.

The patch command allows you to set the number of U/V points and stiffness, you can set the points high and the stiffness it low to get closer to your data points, but you will also likely get overshoots (unwanted bumps or holes) in some areas. Stiffer settings and lower point counts will make a smoother surface but will likely be further away from your data points, especially in areas where the terrain slope changes radically.

HTH, --Mitch

1 Like