Old Town Roofs

Hello
I think there is a problem with
https://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Intersect_Intersection_CurveBrep.htm
could also be related to this problem

I look at that.

@rhino16, @paul.metzger
here a new version, I make many modifications. So I will be happy to know if it works with your curves.
Tolerance is used to transform curves in Polylines. Curves must be on XY plane.

I use here some code from this discussion from @PeterFotiadis and @RadovanG

it tooks ~30 s to compute for 768 roofs.


There are some holes in some type of roof. Cap Hole must heal that.


6 Likes

Hello Laurent,

you made a great program, i tried it in rhino 7 and it work so far fine.

I have a question regarding the shape of the roof. Is it possible to get it more like a gable rooftop? That two side have steep angles?

thank you in advance

Hello
Yes it must be possible
I did that :

So I must find a way to tweak the new definition to make the same thing.

The problem with this type of specialization is to find a good way to enter the angles, not too simple and not over-complicated…

Great progress! Also you implemented the multicurve support directly. Nice!
But I still have a challenge for you to figure out. Lets call this un-capable… :smiley: (15.4 KB)
I also attched a GH so you can check out the non working curve for yourself…
sand_dune_mc-internal-non-working-curves.gh

Thanks for reporting, I know where this problem come from, I just check brep that touches Plan.XY !

I’ll have to fin a way to retrieve the cutted brep that fills in holes.

There is also this one, but not my fault


Playing with tolerance helps

1 Like

I think the complicated part here is that you have to define which sides are the ones that have the steep angles.
I´ve acomplished gable rooftops so far by generating a “normal” roof first, then taking the very upper curve of this roof, extend it to infinity, intersect it with a extruded surface of the base-surface and then combine the edge vertices with this intersection point. Might be a bit complicated but it works very well. In this case I never have to set the lines of the steep angles manually…

@rhino16 @paul.metzger
New Version, it works on example given, sometimes it outputs more geometry than number of roof but this is due to bad roof border. I mean very sharp angles that generates intersection at places not intended.
Implementation is surely not bullet proof. I first take all roofs touching the ground then I union all parts. Then search for holes. Then put in holes geometries that were not used and not having a bounding box center coincident with a previous geometry.
I also change the way curve is transformed to Polyline. So if it already a Polyline, there will be no changes.


sand_dune_internal_curves_csharp_RH7_LEGACY.gh (103.2 KB)

16 Likes

I´ve tried your “multiple angles roof generator”. Doesn´t work with more complex shapes :frowning:
Do you have a version that works with Rhino 7?