Get an outer boundary of multiple polygons (Room Boundaries)

I’m almost achamed of how dirty it is … :smile:
but works!

in designscript:

pc = PolyCurve.ByJoinedCurves(c);
dist = 500;
co = Curve.Offset(pc, dist);
sf = Surface.ByPatch(co);
th1 = Surface.Thicken(sf,500,1);
solidunion = Autodesk.Solid.ByUnion(Flatten(th1));
sf2 = Autodesk.Geometry.Intersect(solidunion,Plane.XY());
pc2 = sf2.PerimeterCurves();
pc3 = PolyCurve.ByJoinedCurves(pc2);
Curve.Offset(pc3,-dist);
8 Likes