I use Rhino for architecture and often work with topographies. I start by building the existing condition from the survey drawing with a rhino surface and then invariably i will need to reshape the surface to accomodate the design. At the moment i laboriously fiddle with control points to try to manipulate it into the new shape I want. I also cut chunks out of it when i need to level it but its very awkward and clumsy and its really hard to get nice smooth transitions for embankments or road profiles.
Does anyone know different workflow that will allow me to sculpt a surface rather than cutting it and pushing around points? I am sure there is something that can achieve the results im looking for more elegantly.
My topic hasn’t seemed to generate much feedback, unfortunately. I’m still using my method of reconstructing the topography through lines and the patch command which whilst laborious does give me the smoothness that I’m looking for in the surface. I have done a little more research and did inadvertently stumble upon a YouTube video by Gediminas Kirdeokis who I believe is a Lithuanian architect who focuses on Rhino. His YouTube channel is great. I recommend you check it out. He has a system for achieving smooth topographies by converting the surface to a subD component whereby You are able to move points at a lower resolution with the SubD object which creates a higher resolution smooth transition on the actual object. It’s also a bit fiddly, especially when there are complex transitions and objects on the topography but it is moving in the direction of what I was looking for.
See below link to the video (first 30mins of the video).
I’m still interested in any other solutions so please do continue to offer up anything you’ve had success using.
In my experience, working with a “curves-in MeshPatch-out” attitude towards topography has worked well and has contained enough information to send to consultants and to use as the basis for renderings. This means working with a combination of projected contours that come from a survey and outlines of designed features (eg the start/stop elevations for a winding path, the elevation of key points along a building’s elevation, a series of terrace walls etc. etc.) to serve as the input for a simple MeshPatch. A typical workflow is:
Receive land contours
Project contours in 3D space (if necessary)
Draw boundary lines of established features (eg, building entrances, terraces, start/stop elevations of ramps etc etc.) in 3D space. Delete existing land contours as needed, add land contours as needed
Run MeshPatch
If the triangulation looks funky, add/subtract guide curves as necessary. This is iterative, and towards the end of the process, it might make sense to adjust the mesh vertices rather than adding/subtracting guide curves.
Directly editing control points of a surface can be tricky, because the UV-grid needs to follow the curvature of terrain—and the curvature of terrain can change abruptly—so you’ll most likely be working with surface patches. With surface patches you’ll need to constantly smooth their edge connections. In addition, if you have buildings that sit inside a patch, it will be very challenging to maintain a designed elevation of grade along the elevation of a building while keeping the CV count low to maintain editability.
Attached is a script that has helped me quickly project pathways into a landscape. Note that it will work only for paths with a constant slope (which is usually what you want between landings) and you’ll need place landings beforehand.
Side-note: Tween-crv helps immensely when you have features like terrace walls that need to blend between in elevation and in plan.
Thanks a lot ofr this BTH. As i understand it this is a Grasshopper script. I have never used Grasshopper before. Is it difficult to use this if you have no experience with grasshopper?
This is a sequence of paths going up a hill. There are 4 curves: A, B, C, D. The direction of all curves go from low elevation to high elevation.
In Rhino: For each curve in red you need to assign the elevation of the endpoint (1) to its designed elevation, and all the other points need to be at the same elevation of the startpoint (0). SetPt will be useful here.
In Grasshopper: Reference the curves you just adjusted in Rhino into the input group (red curves in example above). Bake the curves output group (green curves in example) and use these curves when you run MeshPatch.
For understanding the Grasshopper interface, these may be useful: