Elevation data in Rhino?

Hello! I am wondering if anyone has tried importing the elevation data from the USGS into Rhino in order to create a surface? I have tried many things and haven’t found a successful solution. I tried bringing it through Blender, but that creates a mesh and I am hoping for a surface. I also tried bringing it into Autocad Civil 3D and that hasn’t been successful yet either.
Thanks in advance for your help!

Unless the area in question is very smooth, a surface will not give you a very accurate representation of your terrain - which is why meshes are mostly used in terrain representation - they are better able to represent chaotic landforms. NURBS surfaces have the tendency to smooth everything out too much and make having local detail difficult if not impossible without hugely dense point counts.

If you want a surface anyway, there are a few ways to go about it, depending on how the data is distributed. If it is in an organized grid, a surface could be generated on import from a text file via a script. If it is disorganized data (not in a grid), that will not work, so your main tool will be something like Patch through the imported points. Another way to go would be to use Drape to drape a surface over the terrain mesh, you can control the resolution somewhat with the number of points.

HTH, --Mitch

Hi Mitch! Thanks for the suggestions. They definitely help. I have been using mesh and I guess my difficulty is then doing anything with the mesh once I have it. I have difficulty with boolean operations and joining other mesh surfaces, and end up with a lot of problems. Do you have any suggestions for tutorials on working with mesh in Rhino?
Thanks again!

Have you tried Heightfield?

DEM elevation data is typically 16-bit greyscale, so you would have to convert it to an a common image format with 8-bits greyscale.

I will try this! Thanks Chris!

Yes, I feel your pain. Working with complex meshes in Rhino is difficult (sometimes impossible). For terrain meshes, if you want to do Boolean operations and the like and you are going to do them often, you are better off having some kind of terrain-specific software - like RhinoTerrain. It’s not cheap however.

Otherwise, if you are willing to accept the softness of a NURBS surface, you can get away with the methods mentioned above. Heightfield from a converted GeoTiff is also a way to go, watch out for the number of control points though…


I would have one more Suggestion.

If your only problem is having mesh instead of Nurbs surface and you don’t need the softness, than just convert the mesh to nurbs. you will still have the same triangles, but you will be able to use all of the rhino commands, that you usually use.


Before you do this however, read here… --Mitch

I have used the USGS DEM data. I imported the DEM into QGIS (http://www.qgis.org/en/site/). I reprojected the raster DEM to WGS84 and exported it as a UTM XYZ ASCII point file. I experimented Patch but had the same problems as discussed above. I followed Mitch’s advice on another thread, and used Cloud Compare (http://www.danielgm.net/cc/) to visualise the DEM point cloud and sub-sample it for import as points in Rhino.
I used the MeshPatch command (rather than the NURBS Patch command) to build the topography in Rhino. This seemed to work well.

You can also use the Delaunay component in Grasshopper with a collection of points to create a mesh terrain.


[quote=“Paul_Griffiths, post:9, topic:31137”]I imported the DEM into QGIS (http://www.qgis.org/en/site/). I reprojected the raster DEM to WGS84 and exported it as a UTM XYZ ASCII point file.

QGIS will automatically warp the raster file from its initial spatial reference system, to the target one (UTM). You do not have to reproject it to the WGS84 first and then to UTM.

A lot of useful advises have been given in this topic. Just a small addition on the issue of spatial references, as I have been having similar ones lately.

A raster (topography) file of any sort (.tif, .asc, img…) , can not be imported into Rhino by “non-georeferencing” methods without checking its spatial reference system first. Plugins and applications like Rhino Terrain and Autocad Civil 3D do contain this option. But Heightfield command does not.
This is also true for vector files, but this topic is dealing with raster ones.

A raster file you downloaded should have a small .prj file downloaded next to it. It contains a WKT string representing a spatial reference of the raster file.
According to this spatial reference, you would need or need not to reproject the raster to an appropriate spatial reference system. This depends on a lot of factors, the purpose of the map, local geodetic regulations…

What do you intend to use your topography file for?

Hi there! I am not sure I understand all of what you said, but what I am working in is using topography to make jewelry.
I have made a few pieces successfully using meshes, but they were very cumbersome and took a lot of hours fixing in order to make them printable.
That is why I am trying to create surfaces instead, as I have a better understanding of how to use them and it seems that they might work better, but it might just be a waste of time to try if they won’t produce the desired results.
Thanks for your help!

Hi @cwreckord
Thank you for the reply.

Can you attach your topography file please (.tif, .img, .asc)?
Can you show an example of the jewelry you made from topography data?

Courtney has posted a few of those in the past:


Here you go! This is the most recent version!

Round ring fillet edges size 7.5.3dm (6.2 MB)

Hi Mitch,
I just tried the drape tool and it actually worked pretty well with a dense point count. I wonder if you could point me in the direction of instructions on how to do the script. The mesh that I have is organized so I think that would work and I want to see if it’s even better than drape. Thanks for all your help! I really appreciate it.

@Paul_Griffiths does that mean that you end up with a mesh surface then?

What do you have as input data? A script would be for importing point coordinate data contained in organized rows/columns like an ASCII Grid format.


I’m just learning Rhino - so my workflow might not be optimal. Yes, I get a mesh object from the point cloud after running MeshPatch. This works for my topography. Then I texture map a geological map over the topography.

Mitch, I tried drape and was successful in some instances, but then the surface that was created was much larger than the original, even though I specified a box the size of the original mesh. I am not sure if I am trying to create a surface with too many points (that would be my guess) but on some of the meshes that I had it worked so I am not sure the difference. Tried to upload my two examples (same mesh, different shape) but they are too big.