Loft curb along road and sidewalk

I am trying to loft a curb profile a long the edge of a road/sidewalk for a site model. The goal is for this script to be replicable so it can be applied to different projects where a site is needed. I took the edge of the road and then oriented the geometry to perp frames along that curve. This worked except for the gap between the top of the curb and the sidewalk. I need to find a way to rotate the frames so the top of the curb will match the edge of the sidewalk. I tried to get the angle between these two and rotate by that angle, but it didn’t work. Any suggestions would be much appreciated.

Side note: one of the curbs orients to the frame upside down and I don’t know why.

Site Test.3dm (614.5 KB) Site Test.gh (17.8 KB)

R7 .3dm file won’t open in R6. Sounds like you want to use Sweep instead of Loft?

Requires Elefront.

I was using a sweep initially, but couldn’t get the profile to orient to the end of the curves correctly to sweep so I switched to perp frames and lofting. I can upload a saved down rhino fileSite Test_R6.3dm (591.1 KB)

Align Plane might be what you want? Note that I had to reverse the direction of ‘Z’ for the second set of curves for some reason…


curb_sweep_2021Feb18a.gh (20.8 KB)

P.S. I forgot about the sidewalk alignment, will look into it.

Yes that works for the sweep! Thanks for checking on the other issue as well.

I’ve got something… Many mods required! I used both Sweep1 and Sweep2 but they appear to be the same so either one will do.


curb_sweep_2021Feb18b.gh (27.6 KB)

1 Like

This works great, thanks!

Was my code so clear that you have no questions? Cool. :sunglasses:

One of the important keys to this was pairing ‘Sidewalk Edges’ and ‘Road Edges’, both in position (sorting AlongCrv in the yellow groups) and direction (Flip Crv). But what I’ve noticed is the distance between the two curves varies quite a bit:

Range: 1.500034 To 1.881189
Average: 1.595407

I thought this might be due to anomalies at some of the ends where curve ends are not aligned but testing reveals that makes no difference. So the question is what to do about it? Stretching the curb profile is probably not a good idea? Which leaves re-creating the sidewalk edges, and the sidewalks, to match the oriented curb profiles. Or drawing them more carefully in the first place?

Once I looked through your code it made sense how you approached it.

Pairing the sidewalk edges and road edges was something I couldn’t figure out. The sidewalk edges were just created by offsetting the road edges. This test was a bit more extreme in geometry than any actual road configurations it will be used for so some of that may go away on a more realistic application. Would producing the sidewalk edges through grasshopper based off the road edges help?

In the end I wonder if it will matter either way since this application is being used for rendering and some of these small gaps you will probably never see or can be covered up in post production.

I do pretty much everything in Grasshopper. As I suggested, refined sidewalk edges (and sidewalks) could be done from the oriented curb profiles. Sidewalks must slope toward the street, right?

So I could use the sweep1 to get my curbs and then use the top edge of the curbs to create the sidewalk off of that. I will try it later today. I would imagine the curbs would slope towards the street, but that’s the civil engineers realm :laughing:

Well, orienting curb profiles currently depends on the existing sidewalk edges so you would be creating replacement sidewalk edges. I would expect the sidewalks to slope toward the street, not the curb profiles, but clearly they don’t always do that as drawn so maybe that assumption isn’t valid?

Ahh ok I see that now looking back at the code. I will try a sidewalk rebuild then and see how that goes.

If the sidewalk is along the curb I would imagine it would slope to the road, but if there is a parkway between the sidewalk and road/curb then I believe it would slope to either side into the grass.