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

ADN Club => Inventor API => Тема начата: niksasa от 22-10-2013, 16:24:33

Название: Сортировка компонентов в браузере сборки по типу компонентов
Отправлено: niksasa от 22-10-2013, 16:24:33
Добрый день. Возможна ли сортировка компонентов в браузере по типу компонентов с помощью API. Альфа-сортировка не совсем подходит.
Название: Re: Сортировка компонентов в браузере сборки по типу компонентов
Отправлено: Владимир Ананьев от 23-10-2013, 00:11:05
А если разложить компоненты по специально созданным папкам? 
Кое-какой API для этого имеется.  В хелпе есть вот такой пример:
Public Sub AddOccurrencesToFolder()
    Dim oDoc As AssemblyDocument
    Set oDoc = ThisApplication.ActiveDocument

    Dim oDef As AssemblyComponentDefinition
    Set oDef = oDoc.ComponentDefinition

    Dim oPane As BrowserPane
    Set oPane = oDoc.BrowserPanes.ActivePane

    Dim oOccurrenceNodes As ObjectCollection
    Set oOccurrenceNodes = ThisApplication.TransientObjects.CreateObjectCollection

    Dim oOcc As ComponentOccurrence
    For Each oOcc In oDef.Occurrences

        Dim oNode As BrowserNode
        Set oNode = oPane.GetBrowserNodeFromObject(oOcc)

        oOccurrenceNodes.Add oNode
    Next

    Dim oFolder As BrowserFolder
    Set oFolder = oPane.AddBrowserFolder("My Occurrence Folder", oOccurrenceNodes)
End Sub
Кроме того, можно и сортировать браузер. 
Есть метод BrowserPane.Reorder. 
BrowserPane.Reorder( TargetNode As BrowserNode, Before As Boolean, StartNode As BrowserNode, [EndNode] As Variant )Ведь если отладить своп для пары соседних узлов,
то можно реализовать сортировку любым доступным методом. 
Название: Re: Сортировка компонентов в браузере сборки по типу компонентов
Отправлено: Алексей Романов от 25-10-2013, 18:22:38
Если честно, пока не понимаю причин для сортировки элементов в браузере, просто использую папки...