Isohypsen Plug For Rhino3d

Table of Contents

The Plugin

What the plugin does

The plugin is designed to assist with data preparation for “classical” landscape models. Thereby creating a specific workflow to minimize repetitive tasks. 

What the plugin doesn’t do

The plugin doesn’t take any design decisions for you, nor does it help you find the proper level of abstraction for your model. Keep in mind that cadastre data is especially troublesome and needs to be redrawn because of it’s poor quality. As of today, there is no magical “improve” bad drawings button, that takes away the redrawing step that will safe you a ton and frustration in the digital workshop.

The Rhino Commands

isohypsen_layers

Cleans the layer structure of the GEOBAU Format for better orientation.

isohypsen_boundary

Trims all selected lines to a given boundary/model perimeter. 

isohypsen_init

Creates the topographic model by projecting surfaces to the contour lines. At the same time the contour lines get smoothed and a point reduction happens that improve the data for digital fabrication.

isohypsen_layout

Creates a 2D-layout with labels ready to be exported for laser cutting, the cutting plotter or milling. Each contour layer has trimmed cadastre data to minimize production time and a guide line of the top layer that can be used for assembly.

Workflow Demo

Step by Step Overview

  1. Open a new file > small objects in m
  2. Import AV and contour line data
  3. Use SelAll and Zoom > Selected in top view to see them
  4. Clean layers with Isohypsen_layers
  5. Use SelBlockInstance, Explode and Join to remove all blocks 
  6. Try to SelDup, Delete to select duplicates and delete them
  7. Draw your perimeter in top view
  8. Use Isohypsen_boundary to remove all lines that are not inside your perimeter
  9. Use SelAll and Move to move everything to 0,0,0
  10. This is the time to redraw your cadastre data, the streets and to do all the clean-up
  11. Use Units to  reset the units from meter to millimeter and check that your scaling is right. If you need to adjust your scaling use Distance to check the actual length and Scale to set the new scale
  12. Make sure that your contour lines are below your cadastre data
  13. Use Isohypsen_init to generate the contour surfaces and simplify the contour lines
  14. Use Trim in the top view to cut away the houses
  15. Use Isohypsen_layout to generate the cutting data
  16. Create a new layer and draw a rectangle with the size of your stock to arrange/nest the cutting data
  17. Use Print to export a vector PDF for the laser cutter or save the rhino-file to import it into the zünd template

Installation And Download

The plugin is designed to work with Rhino7 on Windows. It can be installed on a Mac with a bit of extra work (see below).
 
Win
To install the plugin on your computer simply download isohypsen.rhi to your computer and double-click the installer while Rhino3d is closed. Open Rhino3d after the installation is complete and the commands of the plugin should be available when you type “isohypsen_…” in the command line. 
 
Mac
Please download the files for the plugin from our github repository and follow the official installation instructions on the rhino developer site: https://developer.rhino3d.com/guides/rhinopython/creating-rhino-commands-using-python/#mac
 

Note: Sometimes, using this system, Rhino requires that Python be loaded before it can see the new command for the first time in a session – running EditPythonScript, or any other python script should allow the command to work.

Github

If you want to contribute to our plugin with your own ideas or you know how to improve the code, feel free to help us maintain and improve the plugin.

Acknowledgement

This is a shout out to all the kind help that we received while investigating this topic. 

The basic idea for the workflow comes from an explanation of a similar plugin that is being used in the education of architectural model builders in Switzerland and was kindly explained to us by Noa Hirschi from https://modellag.ch/

Further explanations on the  aesthetics and design considerations as well as much needed insight into the different data sets were provided to us by Pascal Gnädinger from https://diemodellbauer.ch/

Federico Bertagna from the Chair of Structural Design at ETH Zurich was kind enough to develop the first a fist draft of the plugin with Grasshopper