Old Town Roofs


Hi Guys!

I have to do a rendering of an old town, so I made a script thats draws my roofs (arround 400-500). It partially works as it should. But there are a few problems which I dont understand.

Basically I repoduce the process which is shown here: https://geometrie.uibk.ac.at/elearning/dachausmittlung/2_1_Dachausmittlung-3D/2_1_Dachausmittlung-3D.html

My approach on that is, that im offseting only once and connect the corner points by an SDL line. If they are intersecting i make a 3-Point surface, else i’m doing a Sweep2. In the end I merge everything together (3-Point Surface, Sweep2 and a Boundry Surface of the base curve) and make a boundry volume which fails in some cases.

My other proplem are the second set of corner point for the SDL. In some cases there is one too much or they are not sorted correctly( I already tried “Sort along Curve”).

I attached the script and a few examples of the base curves. I hope somebody can help me.

Thanks in advance

FORUM.gh (25.3 KB)
Forum.3dm (163.2 KB)


4-sided roof
Straight Skeleton "Implementation"
Find centerline of irregular shape
Grasshopper pitched roof file not working on site of boxes
Surface in GH - Like the roof of the buildings
Variable Offset for each segment of a polyline-curve

I reminds me of the work “Sand dune/Medial Axis” done by Laurent Delrieu which is similar to what you are doing.


(Laurent Delrieu) #3

It is not an easy task. One more robust but less beautiful will be to mesh the surface and move the point proportional to the contour.

Another way is to use clipper that is good at offsetting. And then … Still a lot of work :confused:


(Laurent Delrieu) #4

With mesh it gives that

sand dune using mesh.gh (18.6 KB)

A version using offset from clipper so 3 types of roofs

sand dune using clipper v2.gh (26.7 KB)


Medial axis
(Laurent Delrieu) #5

I updated “Sand Dunes” “Roof Generator”

A version now works for RH5 and RH6
It works quite well, still some problem but round and butt are quite good.


Region's middle curve connected to vertices
Sand form-finding

great work Laurent. Do you have a link to the file?


(Laurent Delrieu) #7

The link is here.

But here is the file
sand_dune_csharp_RH5_LEGACY.gh (18.0 KB)

sand_dune_csharp_RH5_different_angles.gh (28.1 KB)

I also did a multiple angles roof generator


Tapered extrusion but with angles per edge
Draft angle starting from vector direction




Hi, lately I been using Laurent’s component for creating a Medial Axis “Roof”, I been having problems when changing the base curve, sometimes the component fails and shutsdown Rhino, I was wondering if some one knows why that happens, I can only imagine that it have to do with Rhino’s memory, or that the script keeps on running in a loop.
I been using it for creating a straight skeleton from a polygon, I have found other components that do the straight skeleton algorithm but they all seem to fail in a similar way, the Laurent one for me know is the best way to do that calculation, it would be nice to have a version of the Laurent’s component that only do the the skeleton part without creating the surface. Thanks

1 Like

(Ahmetcankarakadilar) #10