Hi everyone,
First time posting here! I’m a civil engineer and I’ve always found manual terrain modeling in SketchUp to be a major bottleneck for site planning and preliminary infrastructure layouts. The native sandbox tools are great, but I needed something faster and strictly parametric.
To solve this in my own workflow, I decided to dive into Ruby and code my own solution: NnC SurfGen Pro.
Here is a quick look at the logic I currently have programmed:
Procedural Mesh Generation: The core script generates terrain meshes from scratch using mathematical noise filters (Raw Noise, Moving Average, and Coherent Noise). It allows full control over the grid step and Z-elevation limits.
Parametric Contours: I wrote an algorithm that slices the mesh and extracts perfectly welded contour lines at any exact Z-interval defined by the user.
Hydrological Runoff (Beta): A feature that reads the slope of each generated face and maps water flow vectors directly onto the geometry to simulate natural drainage catchments.
I uploaded a quick YouTube Short showing the procedural generation examples:
Since I'm relatively new to sharing extensions with the public, I would absolutely love to hear some technical feedback from the veteran Ruby developers and power users in this community.
What do you think of this approach? Are there any specific features, optimization tricks, or contour tools you usually miss when dealing with topography in SketchUp? Any suggestions to improve the script would be greatly appreciated.
Looking forward to your thoughts. Cheers!


