Тема: Что представляют из себя AEC-объекты?
Возможно это типа ACAD_PROXY_ENTITY, что обсуждалось здесь:
https://www.caduser.ru/forum/topic13025.html
? Подскажите, пожалуйста, как извлечь информацию о внутренности AEC?
Заранее благодарен.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → Что представляют из себя AEC-объекты?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Возможно это типа ACAD_PROXY_ENTITY, что обсуждалось здесь:
https://www.caduser.ru/forum/topic13025.html
? Подскажите, пожалуйста, как извлечь информацию о внутренности AEC?
Заранее благодарен.
> Павел
Если нет Object Enabler'а (а в AutoCAD 2005-2006 он включен), то это действительно будет прокси-объект. Получить информацию из него при наличии ADT можно используя ActiveX (информация есть в Help'е ADT). Но этот метод позволяет получить далеко не всю интересующую информацию. При наличии OMF и ADT (или AutoCAD + OE) можно получать всю информацию об ADT-объектах и даже создавать их.
Спасибо.
А я могу извлечь информацию о AEC из DXF в своей программе, не используя вспомогательные библиотеки?
> Павел
Теоретически - возможно. Практически - разобраться в используемых для AEC DXF-кодах - чрезвычайно сложно. Особенно если учесть тот факт, что они не документированы. Вот кусочек, описывающий стену:
0 CLASS 1 AEC_WALL 2 AecDbWall 3 AecArchBase40|Product Desc: Autodesk Architectural Desktop 2005 |Company: Autodesk,Inc. |WEB Address: www.autodesk.com 90 893 91 10 280 0 281 1
Как отсюда получить информацию об осевой линии стены, толщине и высоте стены и т.д.? Даже при помощи acdbEntGet можно получить больше информации:
( -1 . <7EFE9650>) ( 0 . "AEC_WALL") ( 330 . <7EFF4CC0>) ( 5 . "AD2") ( 100 . "AcDbEntity") ( 67 . 0) ( 410 . "Model") ( 8 . "A-Wall-G") ( 100 . "AecDbEntity") ( 102 . "{AEC_SUBOBJECT") ( 300 . "AecImpWallLinear") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpEnt") ( 171 . 0) ( 100 . "AecImpGeo") ( 10 . (14900.00000000000 14500.00000000000 0.000000000000000)) ( 15 . (0.000000000000000 1.000000000000000 0.000000000000000)) ( 16 . (-1.000000000000000 0.000000000000000 0.000000000000000)) ( 210 . (0.000000000000000 0.000000000000000 1.000000000000000)) ( 360 . < 0>) ( 100 . "AecImpWall") ( 102 . "{AEC_NULLOBJECT}") ( 102 . "{AEC_NULLOBJECT}") ( 40 . 2500.000000000000) ( 73 . 3) ( 42 . 510.0000000000000) ( 341 . <7EFEE5C8>) ( 74 . 0) ( 43 . 350.0000000000000) ( 102 . "{AEC_WALL_MODIFIERS") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpArray") ( 90 . 0) ( 102 . "AEC_WALL_MODIFIERS}") ( 102 . "{AEC_WALLSTYLE_OVERRIDES") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpArray") ( 90 . 0) ( 102 . "AEC_WALLSTYLE_OVERRIDES}") ( 102 . "{AEC_WALL_INTERFERENCE") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpArray") ( 90 . 0) ( 102 . "AEC_WALL_INTERFERENCE}") ( 343 . <7EFE95E8>) ( 102 . "{AEC_WALL_MERGERS") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpArray") ( 90 . 0) ( 102 . "AEC_WALL_MERGERS}") ( 102 . "{AEC_WALL_CUSTOM_GEOMETRY") ( 100 . "AecImpObj") ( 3 . "") ( 100 . "AecImpArray") ( 90 . 0) ( 102 . "AEC_WALL_CUSTOM_GEOMETRY}") ( 100 . "AecImpWallLinear") ( 102 . "{ACGECURVE3D") ( 280 . ) ( 10 . (14900.00000000000 14500.00000000000 0.000000000000000)) ( 10 . (0.000000000000000 8400.000000000000 0.000000000000000)) ( 102 . "ACGECURVE3D}") ( 210 . (0.000000000000000 0.000000000000000 1.000000000000000)) ( 102 . "AEC_SUBOBJECT}") ( 102 . "{AEC_NULLOBJECT}") ( 100 . "AecDbGeo") ( 100 . "AecDbWall")
Первый "кусочек" описывает (или скорее упоминает) класс "AEC_WALL", а второй - объект "AEC_WALL". Вероятно, существует разница.
> VH
Разница существует. В dxf-файле примитив AEC_WALL вообще не присутствует. Вместо него - двоичные данные.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → Что представляют из себя AEC-объекты?
Форум работает на PunBB, при поддержке Informer Technologies, Inc