Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: MikhailTAP от 04-12-2014, 18:08:02

Название: Самопересечение штриховки
Отправлено: MikhailTAP от 04-12-2014, 18:08:02
Есть ли способ в .net API или какой-нибудь другой чтобы определить  самопересечение контуров штриховки(Hatch), по аналогии с MPolygon'ом?
Если посмотреть на чертеже, то при выделении штриховки, самопересекающийся контур AutoCAD помечает крестиками (см. скрин). Чертёж приложен.
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.PNG&hash=64b50bc27b15398c9847a4afbf62ef51)
Название: Re: Самопересечение штриховки
Отправлено: Александр Ривилис от 09-12-2014, 09:12:24
Есть ли способ в .net API или какой-нибудь другой чтобы определить  самопересечение контуров штриховки(Hatch), по аналогии с MPolygon'ом?
Я вижу три способа:
1) Проверить на самопересечение самостоятельно, т.е. попарная проверка на пересечение каждого из сегментов границы штриховки.
2) Воспользоваться классом MPolygon, который позволяет сделать такие проверки.
3) Вычислить площадь штриховки и если она равна 0 или возникло исключение,  то очень вероятно, что есть самопересечение контура.