ADN Club > Civil 3D API

Как получить имя сети для трубы или колодца через COM?

<< < (2/3) > >>

Дмитрий Загорулькин:
Я так понимаю, что это подтверждает наличие сети в HardReferences в ARXDBG и MGDDBG? Сеть там есть у трубы и у колодца.

Александр Ривилис:

--- Цитата: Дмитрий Загорулькин от 25-12-2019, 12:14:44 ---Я так понимаю, что это подтверждает наличие сети в HardReferences в ARXDBG и MGDDBG?
--- Конец цитаты ---
Да.

--- Цитата: Дмитрий Загорулькин от 25-12-2019, 12:14:44 ---Сеть там есть у трубы и у колодца.
--- Конец цитаты ---
Значит действительно ограничение в COM-модели.

Дмитрий Загорулькин:
Интересно, а в COM нет какого-то способа получить объекты из HardReferences?

Александр Ривилис:

--- Цитата: Дмитрий Загорулькин от 25-12-2019, 14:33:27 ---Интересно, а в COM нет какого-то способа получить объекты из HardReferences?
--- Конец цитаты ---
100% нет.

Nutson:
У себя решал проблему аналогично, перебором всех элементов.
Позже додумался что из коллекции Network.Pipes / Network.Structures можно получать элемент по имени.
Таким образом получается нужно обойти только все трубопроводные сети, а их количество гораздо меньше чем элементов в каждой из них.


--- Код - Visual Basic [Выбрать] ---Public Function network_from_select_part1(p_doc As AeccPipeDocument, ByRef struct As AeccStructure)    Dim Network As AeccPipeNetwork    Dim existStruct As AeccStructure        On Error Resume Next        If p_doc.PipeNetworks.Count > 0 Then        For Each Network In p_doc.PipeNetworks            Set existStruct = Network.structures(struct.Name) 'пробую получить элемент по имени из коллекции            If Err = 0 Then ' если вылетела ошибка, значит элемента нет в коллекции                If Not existStruct Is Nothing And existStruct.Handle = struct.Handle Then 'если получил элемент то проверяю хендлы, так как у элементов в разных сетях могут быть одинаковые имена                        Set network_from_select_part = Network                        Exit Function                End If            End If            Err.Clear        Next    End IfEnd Function  

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии