New: TerrainMesh plugin (in alpha/beta)

Ok guys, I have worked on making a new mesh terrain plugin that quickly and reliably generates a mesh based on input curves and points. The results are fast, good and stable with my testfiles now, so I am ready to let you have a go on a beta.

Scroll down this thread to locate a download link to the most recent version.

This version expires August 30th and I’ll keep posting new versions until it is ready for launch, and then I’ll put an affordable price on the end result. And an even better one for active beta testers. (That’s those who give feedback, but feel free to use it none the less, for commercial use and all)

What it does:

  • Generates an evenly spaced triangular mesh based on input curves and input points.
  • It supports both degree 1 curves (polylines) and higher degrees (nurbs) and joined curves/lines too.
  • Quickly while giving % feedback on the progress, makes a mesh regardless of input curve quality (example was calculated in 1.6 seconds)
  • Easy to terminate with ESC if needed.
  • Adds a planar UV projection based on the output mesh bounding box (World oriented, not Cplane)


  • Support break lines properly. (it uses data from them, but doesn’t force the mesh edges to follow those lines at the moment).
  • check for document units and curves bounding box and pop a warning if your tolerance is CRAZY

To do that i have to double check every contorl point on those curves against the array of points for the mesh generation and that requires some focus and time to get it just right, but I’ll get there!

It requires Rhino6 right now, but if you are in a crazy need to use it in V5 then drop me a line explaining why and I might be able to force it to work there too.

By the way, I just did a test with over 1700 curves input and that was crunched in 19 seconds, resulting in a 498.000 vertice mesh:


Ok, the plugin is now ready to betatest and I decided that any one of you can all try it out if you like.
It expires august 30th 2018.

The Command is called TerrainMesh
(I figured it was easy to remember as all you need to do is start typing “Terrain” and Rhino will autocomplete the rest. (If you disagree on the chosen name then please let me know!)

Here you can see the results on a file with pure NURBS height curves (so division is calculated on the entire length, and not the subcurves) and the settings for tolerance is: 20, 10 and 2 (2 is default)

Note that it’s default setting of 2 is made for files that uses METERS as units and it is set to be the double of the default height curve elevation which is 1m)
But DO NOT USE THAT if you work in mm… Then set it to 2000! OK? :smiley:
I will add a unit check and alter the default setting based on that.
Anyway, the setting is sticky, but not remembered between sessions.

Here’s the file: (9.1 KB)

I zipped it up so it is easier to download if you are behind a firewall, and it might make it easier to install without having to remove protections.

What to do:
1 - Save file in zip to a place on your computer where it can stay permanently.
2 - Open Rhino and drag the TerrainMesh.rhp file into Rhino. (that is the easiest way to install a plugin)
3 - Type TerrainMesh in Rhino and off you go!

Good luck, remember to save and keep me posted on how stuff work out for you. Send me wishes, bugs, high-fives, hard love(critique) etc.


Thanks Holo. I will pass this on to the faculty member concerned.

1 Like

Hi Jorgen,

Can’t get it to work - the redraw turns off but nothing happens until I escape out.
Is there supposed to be any progress meter/prompt? Tested with very simple file, so it really should not take any time.

Is your terrain generation different than PoinSetReconstruction plugin? (just noticed @DavidRutten 's tool no longer loads into V6, worked quite well up until V5…)



Hi Jarek, I just installed the latest build prior to compiling, that could be the reason. Can you share a file so I can have a go? I presume the big difference is how the curves are recalculated, but I have not compared the result to pointsetreconstruction. What tolerance did you use? and what curve length did you have? (the file would be great)

Oh, and yes, there is an immediate feedback when it starts chewing on the curves, with % calculation in the promt to show you the status.

Here is a file you can try:
(Note units is in METERS so the default tolerance=2 works fine)
heighcurves.3dm (860.5 KB)

Hi Jorgen,

I updated to the latest build as well and tested with your file - all works fine - and its impressively fast :slight_smile:
Nice job! thanks for sharing the progress…

I will test more with a real project in future and try to give you more feedback.


Ah, OK, I should have thought of that prior to compiling.
I added an update that checks for version.
I also found a bug that wasn’t visible until I rebooted, so that is fixed too. And I added a warning if you don’t work in units=Meters. (Temporary fix)

The link above will be updated now.

Hi there, I am interested in testing out your plugin as well, if you’re still making it available. I teach at a university and am currently looking for a Rhino Terrain alternative that works in Rhino 6. I and my students would be testing this in a range of situations and could provide feedback.

Or, if it’s now available for sale, I would consider a purchase!

Hi, I need to do some adjustments to the plugin and then I will send you a new beta version, but I can not do so in the upcoming week, so it has to wait for the week after. I hope that is OK.


That sounds great. Thank you! I look forward to trying it out.

Hi, I am wondering if there is progress on this? I am sure you are busy. My students are dying to try it and if there’s anything I can do to help, please let me know!

You just did!
Thanks for reminding me, I’m on it!

1 Like

Hi, please try this beta:
(removed, look further down for latest build)

Input data is curves and points.

It will work until November 30th.

Known limitations:

  • No unit size check so make sure you don’t set the tolerance too low. The tolerance should be about 1 meter, so 1 unit is default.
  • It doesn’t unweld the mesh, so a unweld with 25 degrees as default will be added later
  • All curves are converted to array of points so there might be some artifacts. Try to set a lower tolerance if odd jaggies occur.

Good luck! And please feed me all the bugs and needs they might have!
It seems robust here as all duplicate points are ignored, thus the process speed is quite fast.
Crossing lines are trouble some of course!

The time consuming part is rebuilding all the curves, but in this example I used 2000 curves and it calculated a 200K mesh in under 3 seconds.

PS! It might only work on PC as I have not programmed anything cross platform yet.

1 Like

Thank you so much for your turnaround speed on this. I and the students are excited to try it out!

I will let you know how it goes. Thanks!

Small update:
Just added welding with 22.5 degrees as default so this will be in the next beta.

1 Like

Can i join testing?
Does this work under Rhino 5 sr14 x64bits?
We do not have Rhino 6. Our major plugins are installed on Rhino 5. Because of that our Work boss wont feel confident to upgrade to Rhino 6 latest.

PS: is there an options to transform TerrainMesh final result in NURB surface? It is known that Rhino wont handle pretty well mesh faces. It is hard to work. Specially in the architecture field were always need to build in NURB.??

Best regards

Sure, but it is not built for Rhino5 so you need to install Rhino6 eval or wait to see if I have time to test it on V5. I think it might have V6 spesific code and if so I doubt I will make (and maintain!!) a v5 version.

There are no way to cnvert a mesh terrain to nurbs so then you need to make it from scratch, but why would you?. I don’t know any architects that seriously make terrains in nurbs. Neither do I know any architects that always need to build in nurbs. They all work with both mesh, nurbs and hybrid geometry for architecture and pointclouds and meshes for surveydata. (The like what ever gets the job done within the timeframe, and I am sure you do too, but why would you prefer a massive polysurface nurbs?)

1 Like

Hey there! I’d love to join this beta too if at all possible :slight_smile:

Sorry! Just saw the download link hahah. Will give it a whirl tonight! :slight_smile:

1 Like

TerrainMesh Beta v0.16
expires: 2018-11-30

File removed since it was expired

Hey guys! I found a bug where Rhino froze if no curves were selected.
(I turned off redraw prior to checking if any curves were selected and even though I turned redraw back on something went wrong with the compiled version)

That should be fixed now, and in this build welding is at 22.5 degrees (good old mesh default) and the default tolerance is sat to 1. (sticky value, but only within Rhinosession)

This plugin is awesome! I have had my 30 students testing it and everyone has found it to work seamlessly. We are working with very large multi-acre areas and it handles these just fine, taking under a minute to convert.

Thank you for letting us test! Do you think it will be available after the testing period? I would be willing to purchase it.

1 Like