Тема: Получить параметры через API inventor HELP
Подскажите код реализации задачи через API: есть сборка, надо через API обойти все детали (входящие в сборку и в подсборки) и составить массив значений по параметрам:
В каждой детали могут присутствовать параметры d_A, d_B, d_C, d_E их надо получить:
могут быть
деталь1 = d_A, d_B
могут быть
деталь2 = d_A, d_C, d_E
могут быть
деталь3 = d_A, d_E
могут быть
деталь4 = d_A, d_B, d_C, d_E
и так далее...
Есть код обхода дерева сборки, но...
Public Sub AssemblyTraversal() ' Ссылка на активный документ. Полагаем, что это сборка. Dim oAsmDoc As AssemblyDocument Set oAsmDoc = ThisApplication.ActiveDocument ' Начинаем обход сборки Call TraverseAsm(oAsmDoc.ComponentDefinition.Occurrences, 1) End Sub ' Аргумент Level необходим для вычисления левого отступа при печати. Private Sub TraverseAsm(oOccurrences As ComponentOccurrences, Level As Integer) ' перебор списка компонентов на текущем уровне иерархии. Dim oOcc As ComponentOccurrence For Each oOcc In oOccurrences 'вывод сообщения с именем текущего компонента MsgBox (Level & ": " & oOcc.Name) ' Если текущий компонент – подсборка, то вызываем эту процедуру ' снова с текущим компонентом в качестве параметра. If oOcc.DefinitionDocumentType = kAssemblyDocumentObject Then Call TraverseAsm(oOcc.SubOccurrences, Level + 1) End If Next End Sub