from pyrx import Rx, Ge, Gi, Db, Ap, Ed
import traceback
from shapely import Polygon
@Ap.Command()
def doit():
try:
db = Db.curDb()
desc = Db.Polyline.desc()
ps, id1, _ = Ed.Editor.entSel("\nPline1 :", desc)
ps, id2, _ = Ed.Editor.entSel("\nPline2 :", desc)
pline1 = Db.Polyline(id1)
pline2 = Db.Polyline(id2)
polygon1 = Polygon(pline1.toList())
polygon2 = Polygon(pline2.toList())
res = polygon1.intersection(polygon2)
pl3 = Db.Polyline(list(res.exterior.coords))
pl3.setColorIndex(1)
db.addToModelspace(pl3)
print(res.area, pl3.getArea())
except Exception as err:
traceback.print_exception(err)