Creating a 3d model of a terrain


I have never imported a 3D terrain of mountains before, in any program. What is the best way to do it in Rhino? I have searched on google and youtube and tried a few in both Rhino and Blender. But I just end up with a wierd model that I can not measure and can not control if have the correct scale 1:1. I have created a city terrain before and that is easy to control the scale because you can always measure and compare a building in the terrain to the real building…but with mountans, I can not measure the real mountan… :smiley:

Have any of you any experience with creating a 3D terrain and how did you do it?

1 Like

What methods have you tried for building terrain?
One of the more basic ways is to utilize topo maps. Vectorize the topo contours, then raise and lower each contour to the listed height in the topo map.

Once you have your 2d vectors in position you can use the patch command at various density settings to derive a very useful surface. With history you can adjust curves for gross adjustment, and then you can turn points on for the single surface and manipulate those individually.

And of course this can then be converted to subd for face/edge/vertex pushing/pulling.

1 Like

I am not after building a terrain on my own. I need to import a terrain. My goal is to make a physical model of the terrain of the Scottish Highlands. So, I can not build the terrain myself by just modeling freely. I need to get the exact terrain from google maps or similair. Then I need to have it in scale 1:1 to be able to scale it down so I can print or mill the terrain.

Sorry for the missunderstanding. I see now I did not mention that I needed to import the terrain.

Ah, understood.
There are some searchable threads on here about getting google maps terrain into Rhino, sorry not my forte.
But, once the geo is in Rhino, at any scale, I have used a 2d overlay from google maps that has a scale on it, then I just scale everything to that.

1 Like

If you’re willing to use Grasshopper, there are few add-ins that can import terrain. This example of an arbitrary area near Inverness uses Heron to download SRTM topo with Human components for visualization. The topo mesh will be at full scale and located relative to the EarthAnchorPoint in Rhino.
20240226_Inverness (15.3 KB)



Thanks! That looks like it would work for me. However I am very bad at grasshopper so I try to avoid…

I downloaded the plugin (I think, it did it automatically when opening the file) but it does not work. What is missing?

The gh file says I need to set the earth anchor point first. How do I do that?

To set the Earth Anchor Point to Inverness, click on the boolean button labeled “Button” right next to the SetEAP component. If you want to use a location other than Inverness, you can either double click into the text box and enter a new address or you can input specific lat/lon coordinates.

Once you’ve set the EAP, toggle the other boolean toggles to True by double clicking where they say False.

The boundary that is set in the Crv component has been “internalized”, but you can change it by drawing a new curve in Rhino and setting the component to reference your new curve.

If you need more of an intro to GH, there are other resources you can find for this by searching the forum.


I am pressing that button but nothing happens! :sweat_smile:
I just opened the grasshopper file you attached and then pressed the button. Maybe I am missing something in Rhino?

A couple of things to try:

  1. The internalized curve is approx. 20,000m x 15,000m. Make sure your Rhino units are set to meters and zoom extents so you can see it. Heron doesn’t require Rhino units to be meters, but if your boundary is too small (ie 1m x 1m) the REST services it grabs data from will return an error.
  2. Set the folderPath in each component to a valid location on your computer. I’ve updated the definition here to path to “C:\temp\”

20240227_Inverness (15.3 KB)

I have my rhino measuring in meter, and zoom out to see that there is a rectangle approx 20,000x15,000 m.

About the folder path I can not figure out what you mean, tried to google it but could not really find out what you meant. Sorry :confused:

And pressing that button does not help, nothing happens at all for me unfortunately

On the RESTRaster component I get error message

  1. Solution exception:Input parameter index [-1] too low for Component Get REST Raster.

On the ImportTopo I get error message

  1. Solution exception:C:\temp\SRTM GL1 (30m)_0.tif: No such file or directory

On the SurfaceMap, PreviewMat and Contour component I get the error message

  1. Input parameter M(or S or G) failed to collect data

EDIT: I can see that when I press the button the coordinates changes depending on which location I type in, so there is probably nothing wrong in this component.

Can it be because of different version of Rhino. I am using Rhino 7. I replaced the RestRaster component with Get RestRaster in my Rhino and now I at least have a blank sheet. So something is starting to happen.

The definitions I uploaded were created in Rhino 7, so that shouldn’t be the issue. RESTRaster is the nickname for the Get RESTRaster component, so they are really the same component. I have my settings set to show nicknames instead of full names and this carries through for the components I placed in the definition I uploaded.

Replacing the components will help in the sense that the folderPath input will find a valid temp folder on your machine to place the downloaded data, which seems to be the issue. Also try typing “RefreshAllTextures” in the Rhino command line. This can help clear out any old bitmaps that were part of the preview.

Thank you for all the help so far. I think I have tried everything. Was really hopping this would work out for me but it does not seem to…

I have replaced all the components also. Now I get maybe a easier problem to solve. On the crv component it says “Floating parameter Curve failed to collect data”. Maybe if this can be solved the rest will work. It will be my last attempt… =)

Anyone know what this means? I tried to google it but could not fix it.

Glen Etive (20.9 KB)

Hej -

In Rhino, draw a rectangle centered around the origin - e.g. 2000 by 2500 meters.
In Grasshopper, right-click the Curve parameter and select the “Set one Curve” option:


Note that, in Brian’s file, a Rhino rectangle was “internalized” → the option at the end of the menu becomes available when a Rhino curve is referenced. By internalizing that curve, the reference is removed and a Rhino curve is no longer needed.

@Brian_Washburn - I take it you are using the 0.4 version of your plug-in, whereas this user likely installed the 0.2 Food4Rhino version when the “Missing Plug-ins” dialog was shown. Could that interfere here?

1 Like

Thank you so much. Unfortunately now I get another error messages. See red components in screenshot.

In Get Restraster component it says

  1. Heron’s Spatial Spatial Reference System (SRS): WGS84
  2. Value must not be null.
    Parameter name: value

In Import Topo component it says

  1. Solution exception:`C:\temp\SRTM GL1 (30m)_0.tif’ not recognized as a supported file format.

Btw, did you generate that terrain with my grasshopper file?

Hi @Hobnob ,
Another Grasshopper plugin that can create terrain geometry is Gismo - you just need latitude, longitude (or address) and a radius. Gismo will automatically generate the terrain for those parameters in scale, and corresponding to chosen Rhino units.

Gismo has also terrain analysis capabilities. Shown below is 2x2 kilometers terrain of Mount Vesuvius, with certain terrain analysis performed. So the input for this model was just latitude, longitude and 2000 meters radius:

To install Gismo, follow these installation steps.

Then use this example file, to generate terrain for required location.


Thank you for proposing another solution. Unfortunately that did not work for me either. I installed Gismo. Followed the instructions on the download site. Opened your gh file but it failed to generate.

*I got the message to *
1. This component requires the “MapWinGIS” application to be installed in order for it to work.
The component could not find the installation folder of the “MapWinGIS” application.
If you haven’t installed the “MapWinGIS” application, download its x64 version from the link below, and install it:
Releases · MapWindow/MapWinGIS · GitHub
If you already downloaded and installed the “MapWinGIS” application, then supply its installation folder path to the “mapFolder_” input.

So I installed MapWinGIS but still does not work. Allthough I do not know what they mean with the sentence in bold above. Maybe that is the problem?

Hi @Hobnob ,
You haven’t followed the installation steps.
When you click on the upper installation steps link I provided, literally the first thing mentioned is: to install MapWinGIS, because obviously you already have Rhino installed:

The bolded stentence means:
Take a Grasshopper “Panel”, define the MapWinGIS installation folder inside it, and plug it to the “mapFolder_” input of this component:

Yes I missed that step but then I installed MapWinGIS, but a later version, I thought that would work.

I have redone the steps. With all the correct version but now I get another problem.

  1. “_APIkey” input has not been added. To obtain it for free:
  1. go to the following link:
  2. go to the following link: gismo/resources/tutorials/Get_OpenTopo_APIkey.mp4 at master · stgeorges/gismo · GitHub
  3. click on ‘Download’ and watch the video tutorial
  4. repeat the steps in the tutorial

I will try to fix this later.