How to import site topography into Rhino (XYZ points → terrain mesh)
To bring terrain into Rhino, generate an XYZ CSV point cloud from real elevation data, import it as points, then mesh it with MeshPatch or a Delaunay mesh (natively or in Grasshopper). Rhino also imports DXF and IFC directly. No GIS software required.
Rhino handles point data well, so the cleanest path is to feed it a clean XYZ point cloud and triangulate. If you work parametrically, the same file drops straight into Grasshopper. Here is the full workflow.
Step-by-step
- Define your site. Draw a polygon around the site on the map in Topo-grapher, or paste coordinates. The free tier covers up to 250m × 250m.
- Generate as XYZ CSV. Pick XYZ CSV and generate. You get a delimited list of X, Y, Z points at your chosen spacing.
- Import the points. In Rhino use File → Import for the CSV, or read it with a Grasshopper File component and construct points.
- Build the surface. Run MeshPatch or a Delaunay mesh for a triangulated terrain, or Patch for a NURBS surface. In Grasshopper, feed points into a Delaunay Mesh component.
- Position the model. Move the terrain to your project origin so it aligns with the rest of the model.
Which format should you use?
XYZ CSV gives you the most control in Rhino, but DXF and IFC import directly if you'd rather skip meshing.
| Format | Best for in Rhino | Resolution |
|---|---|---|
| XYZ CSV | Points → MeshPatch / Delaunay / Grasshopper | native |
| DXF | Direct mesh import | native |
| IFC | BIM model exchange | native |
How accurate is the data?
Accuracy tracks the open elevation data each country publishes:
| Region | Source resolution |
|---|---|
| Denmark | 0.4m |
| UK, Sweden, Norway, France | 1m |
| USA (3DEP coverage) | 1m |
| Most of Europe | 5-10m |
| Global fallback | 30m |
Frequently asked questions
How do I turn elevation points into a surface in Rhino?
Import the XYZ points, then create a surface with MeshPatch or a Delaunay mesh for a triangulated terrain, or Patch for a smooth NURBS surface. In Grasshopper, feed the points into a Delaunay Mesh component for a parametric result.
Does Rhino read CSV elevation points?
Yes. Rhino imports a delimited XYZ text or CSV file as points, and Grasshopper can parse the same file with a File Read component to construct points parametrically. Topo-grapher exports exactly this, plus DXF and IFC.
How accurate is the terrain?
It depends on the country's open data: 0.4m in Denmark, 1m across the UK, Sweden, Norway, France and parts of the US, 5-10m across most of Europe, and a 30m global fallback elsewhere.
Is there a free way to get site topography for Rhino?
Yes. The free tier allows 3 generations per day for sites up to 250m × 250m at 12m spacing, with no account required.