All tools

GIS

Downloadable

QGIS → Rhino / Grasshopper

A Grasshopper definition that rebuilds QGIS site data as Rhino geometry.

The problem

Getting real site context — building footprints, roads, parcels, terrain — out of QGIS and into Rhino is a notorious pain: projection mismatches, lat/long in degrees, geometry that lands kilometres from the origin, and no clean importer.

What this does

A downloadable GHPython script + Grasshopper definition that reads a GeoJSON exported from QGIS, handles the projection/origin offset, and rebuilds it as Rhino curves and attribute-extruded building masses — so your site model is ready in minutes, not an afternoon of cleanup.

Downloads

What it does

You export your QGIS layer as GeoJSON (in a projected, metre-based CRS). The Grasshopper definition reads the file, parses each feature's geometry, recentres it near the Rhino origin, and builds:

  • Polylines for roads, parcel boundaries, and contours (LineString / Polygon rings)
  • Extruded building masses driven by a height attribute (e.g. height or levels)
  • Points for trees, sensors, or labelled locations

Why it's useful

  • Skips the projection / "geometry is 2 km from origin" nightmare.
  • Attribute-driven extrusion — building heights come straight from the data.
  • Plain GHPython using the standard library, so it's easy to read and modify.

How to use

  1. In QGIS, reproject your layer to a local metric CRS (e.g. SVY21 / UTM) and export as GeoJSON.
  2. Drop the .gh definition into Grasshopper and point the file path at your GeoJSON.
  3. Set the height attribute name and the origin offset; bake the result into Rhino.

Honest limits

  • Very large datasets should be clipped to your site in QGIS first.
  • Curved geometries are exported as dense polylines (GeoJSON has no arcs).

Built on