Вполне возможно, но сидят они в каких-то экземплярах недокументированного класса, который скорее всего и не имеет обертки на .NETУ напорной трубы, вставленной как БС, в Referenced By можно найти объект AeccDbRootSettingsNode.
У напорной трубы, вставленной как БС, в Referenced By можно найти объект AeccDbRootSettingsNode.Похоже оно. Но без аналога OMF но только для Civil 3D, который Autodesk никому не даёт, к свойствам и методам не добраться.
У локальных труб такого нет. Оно?
Впрочем попробуй добраться до AeccDbRootSettingsNode не через MGDDBG, а через ARXDBGЯ не смог найти в ARXDBG аналог ReferencedBy. Кнопка "References..." показывает только информацию, аналогичную ReferencedTo в MGDDBG.
А его там и нет к сожалению. Найди метку (Handle) этого объекта при помощи MGDDBG и используй лисп в командной строке:Впрочем попробуй добраться до AeccDbRootSettingsNode не через MGDDBG, а через ARXDBGЯ не смог найти в ARXDBG аналог ReferencedBy. Кнопка "References..." показывает только информацию, аналогичную ReferencedTo в MGDDBG.
(entget (handent "1D9") '("*"))
nil
Команда: (handent "1D9")
<Имя объекта: 7ffffb68310>
Команда: (entget (handent "1D9"))
nil
А это попытка прочитать COM-данные:(vlax-dump-Object (vlax-ename->vla-object (handent "1D9")) T)
_$
#<VLA-OBJECT IAcadObject 000000005ba13aa8>
_$
; IAcadObject: Стандартный интерфейс для базовых объектов AutoCAD.
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAcadApplication 000000013fda3f10>
; Document (RO) = #<VLA-OBJECT IAcadDocument 0000000009f5e728>
; Handle (RO) = "1D9"
; HasExtensionDictionary (RO) = 0
; ObjectID (RO) = 42
; ObjectName (RO) = "AeccDbRootSettingsNode"
; OwnerID (RO) = 43
; Поддерживаемые методы:
; Delete ()
; GetExtensionDictionary ()
; GetXData (3)
; SetXData (2)
T
_$
Значит dxf-коды вообще не используются для этого объекта.0
Похоже это всё-таки не оно.Похоже, AeccDbRootSettingsNode - тоже не ОНО:
На втором скриншоте - данные о Civil 3D: наименование, версия, код продукта.Я не нашел, что обозначает код 160. У всех записей разные значения...
А свойство IsReferenceObject у Civil.Entity не говорит о том, что это объект из быстрой ссылки?Да, именно так. Но это позволяет определить только, что объект был вставлен быстрой ссылкой. А вот выяснить откуда он был вставлен так просто не получится.
Мне поставили задачу реализовать пакетную вставку быстрых ссылок. Это, в принципе, реализуемо?Везде пишут, что через API это невозможно сделать.
Все плагины написанные без учета быстрых ссылок. Выяснилось, что изменения вносятся и в объекты из быстрых ссылок. Что недопустимо.Да, было дело, на эти грабли тоже наступали :)
Есть способ использовать штатные возможности с помощью автоматизации окон Windows.И получается добраться до палитры Civil 3D "Область инструментов - Навигатор" и автоматизировать подгрузку ссылок?
Я пользуюсь библиотекой https://github.com/Roemer/FlaUI
И получается добраться до палитры Civil 3D "Область инструментов - Навигатор" и автоматизировать подгрузку ссылок?;D нет пока.
Протестировал вставку быстрых ссылок через FlaUI.Спасибо, Вильдар!
Запуск FlaUI из другого потока тоже невозможен.Мне удалось запустить процесс из Civil в отдельном потоке. Вставка прошла успешно.