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

ADN Club => AutoCAD .NET API => Тема начата: Luca от 10-11-2019, 11:59:35

Название: Как получить полилинии?
Отправлено: Luca от 10-11-2019, 11:59:35
Здравствуйте, Уважаемые форумчане.
Возник вопрос:
Как получить полилинии? Где в иерархии они находятся?

Название: Re: Как получить полилинии?
Отправлено: avc от 10-11-2019, 13:07:42
Там же где все остальные Entity - в блоках. Точнее в BlockTableRecord. Как обычно в таблице блоков ищете нужный блок или сразу берете Модель и в ней перебираете все Id в поисках нужных вам полилиний. Примеров тьма.
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 10-11-2019, 13:37:40
Как получить полилинии? Где в иерархии они находятся?
В AutoCAD есть несколько типов полилиний. У них два 0-ых DXF кода, при помощи которых можно фильтровать: "POLYLINE" и "LWPOLYLINE"  классы:
Autodesk.AutoCAD.DatabaseServices.Polyline (соотвествует "LWPOLYLINE")
Autodesk.AutoCAD.DatabaseServices.Polyline2d (соотвествует "POLYLINE")
Autodesk.AutoCAD.DatabaseServices.Polyline3d (соотвествует "POLYLINE")
Название: Re: Как получить полилинии?
Отправлено: Luca от 10-11-2019, 13:47:01
Там же где все остальные Entity - в блоках. Точнее в BlockTableRecord. Как обычно в таблице блоков ищете нужный блок или сразу берете Модель и в ней перебираете все Id в поисках нужных вам полилиний. Примеров тьма.
Я полагал, что в BlockTableRecord только блоки.
Название: Re: Как получить полилинии?
Отправлено: Luca от 10-11-2019, 13:50:00
Autodesk.AutoCAD.DatabaseServices.Polyline (соотвествует "LWPOLYLINE")
полагаю именно этот - мой вариант
Название: Re: Как получить полилинии?
Отправлено: avc от 10-11-2019, 13:55:09
полагаю именно этот - мой вариант
Да, практически только Polyline используется. Все остальное может встретиться только как мусор после экспорта из других программ.
Название: Re: Как получить полилинии?
Отправлено: avc от 10-11-2019, 13:56:41
Я полагал, что в BlockTableRecord только блоки.
А не надо полагать, надо просто открыть базу данных чертежа и посмотреть, что где : https://adn-cis.org/forum/index.php?topic=7274.0
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 10-11-2019, 14:08:24
Да, практически только Polyline используется.
Polyline3d тоже используются достаточно часто. А Polyline2d образуются при сглаживании.
Название: Re: Как получить полилинии?
Отправлено: Luca от 12-11-2019, 15:01:36
А не надо полагать, надо просто открыть базу данных чертежа и посмотреть, что где : https://adn-cis.org/forum/index.php?topic=7274.0
скорее всего существуют уже готовые  ARXDBG  и   MGDDBG под х64 AutoCAD 2020...
может кто-нибудь поделится?
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 12-11-2019, 15:02:59
скорее всего существуют уже готовые  ARXDBG  и   MGDDBG под х64 AutoCAD 2020...
может кто-нибудь поделится?
По ссылке они уже есть - для 2020 те же, что и для 2019
Название: Re: Как получить полилинии?
Отправлено: Luca от 12-11-2019, 15:16:39
По ссылке они уже есть - для 2020 те же, что и для 2019
достаточно скопировать MgdDbg.dll (из DebugA2019)  в папку ProgramFiles/Autodesk/ApplicationPlugins?
всё остальное, если я правильно понимаю, прямого отношения не имеет к MgdDbg.dll...
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 12-11-2019, 15:18:36
достаточно скопировать MgdDbg.dll (из DebugA2019)  в папку ProgramFiles/Autodesk/ApplicationPlugins?
всё остальное, если я правильно понимаю, прямого отношения не имеет к MgdDbg.dll...
Нет:
Чтобы установить ARXDBG и MGDDBG необходимо их BUNDLE'ы разархивировать в каталог  %ProgramFiles%\Autodesk\ApplicationPlugins
Название: Re: Как получить полилинии?
Отправлено: Luca от 12-11-2019, 15:24:33
необходимо их BUNDLE'ы
для меня бандл - это конечная сборка - что-то цельное, что получается на выходе, а не куча исходников с примерами и ещё кучей всего... для меня бандл - это MgdDbg.dll
что из этого нужно скопировать не возьму в толк?
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 12-11-2019, 15:26:14
Luca,
Архив разархивируй целиком. Что тут непонятного?
Название: Re: Как получить полилинии?
Отправлено: Luca от 12-11-2019, 15:30:25
Архив разархивируй целиком. Что тут непонятного?
так понятно, а вот бандл непонятно )
Название: Re: Как получить полилинии?
Отправлено: Александр Ривилис от 12-11-2019, 15:32:49
а вот бандл непонятно
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2017/ENU/AutoCAD-Customization/files/GUID-40F5E92C-37D8-4D54-9497-CD9F0659F9BB-htm.html
Название: Re: Как получить полилинии?
Отправлено: avc от 12-11-2019, 15:34:50
необходимо их BUNDLE'ы
для меня бандл - это конечная сборка - что-то цельное, что получается на выходе, а не куча исходников с примерами и ещё кучей всего... для меня бандл - это MgdDbg.dll
что из этого нужно скопировать не возьму в толк?
А вот что такое BUNDLE на самом деле: https://knowledge.autodesk.com/ru/support/autocad/getting-started/caas/documentation/ACD/2013/RUS/files/GUID-5E50A846-C80B-4FFD-8DD3-C20B22098008-htm.html
Если надо экономить каждый байт, то исходники из DWGMgdDbgSource можно удалить.