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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 07-03-2018, 12:07:51

Название: Предобразовать 3d-полилинию в Mesh
Отправлено: Алексей (IdeaSoft) от 07-03-2018, 12:07:51
Есть замкнутый контур в виде 3d-полилинию
Не получается преобразовать его в  объект mesh

Делаю пока с помощью команды _convtosurface
пока не получается.

Что не так не пойму.
Может с помощью AutoCAD API что-то можно сделать.


Название: Re: Предобразовать 3в-полилинию в Mesh
Отправлено: avc от 07-03-2018, 12:14:16
3d-полилиния? Весьма экзотично. А она в самом деле не плоская? Или все-таки можно перейти к нормальным полилиниям? Например, спроецировать ее на плоскость. Тогда уже можно будет делать из полилинии регион или вытягивать в солид. Уже ближе к теме. Про сети не знаю, полигональная графика - это вроде как для 3DS-Макса, а не для Автокада.
Название: Re: Предобразовать 3в-полилинию в Mesh
Отправлено: Алексей (IdeaSoft) от 07-03-2018, 12:57:53
3d-полилиния? Весьма экзотично. А она в самом деле не плоская?
Вот вот и я про тоже. У меня характер 3d-полилинии не имеет четкой математической
зависимости. Это просто набор точек рельефа земли.
Получеться только если в Civil делать поверхности-TIN
Название: Re: Предобразовать 3в-полилинию в Mesh
Отправлено: avc от 07-03-2018, 13:19:49
По идее можно написать программу, которая будет перебирать все точки этой полилинии и строить Face для каждой тройки точек. И таким образом строить сеть или PolyFaceMesh. ...Надо будет еще выбирать какие точки ближе друг к другу... Да, не все так просто....
Название: Re: Предобразовать 3в-полилинию в Mesh
Отправлено: Александр Ривилис от 07-03-2018, 15:12:22
Это просто набор точек рельефа земли.
Значит нужен алгоритм триангуляции. Встроенного в AutoCAD API алгоритма нет, но таких алгоритмов в интернете масса.
Например: https://www.codeproject.com/Articles/492435/Delaunay-Triangulation-For-Fast-Mesh-Generation
Название: Re: Предобразовать 3в-полилинию в Mesh
Отправлено: Алексей (IdeaSoft) от 07-03-2018, 16:04:39
По идее можно написать программу, которая будет перебирать все точки этой полилинии и строить Face
Я уже подумал об этом. Буду писать наверное.