private double GetIntersectionArea(Polyline pline1, Polyline pline2)
{
using (Region region1 = CreateRegionFromPolyline(pline1))
using (Region region2 = CreateRegionFromPolyline(pline2))
{
region1.BooleanOperation(BooleanOperationType.BoolIntersect, region2);
return region1.Area;
}
}
private Region CreateRegionFromPolyline(Polyline pline)
{
DBObjectCollection source = new DBObjectCollection();
source.Add(pline);
DBObjectCollection regions = Autodesk.AutoCAD.DatabaseServices.Region.CreateFromCurves(source);
return (Region)regions[0];
}