1081x
004715
2020-09-10

Выбор объектов с помощью интерфейса COM

Как выбрать объекты через интерфейс COM?


Ответ:

Для выбора объектов имеется в интерфейсе IModelData (или IModeldata2 и т.п.) функция «SelectObjects». Функция ожидает, что тип и номер объекта будет задан в качестве строки. Ниже представляем краткий пример:

Sub select_objects()

Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

On Error GoTo e
    
    Dim iModdata As IModelData2
    Set iModdata = model.GetModelData
    
    '   enable Selections
    iModdata.EnableSelections True
    
    '   select nodes 2-3 and lines 1 and 3
    iModdata.SelectObjects ModelObjectType.NodeObject, "2-3"
    iModdata.SelectObjects ModelObjectType.LineObject, "1,3"
    
    '   deselect nodes and lines
    iModdata.SelectObjects ModelObjectType.NodeObject, ""
    iModdata.SelectObjects ModelObjectType.LineObject, ""
    
    
e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

model.GetApplication.UnlockLicense
Set iModdata = Nothing
Set model = Nothing

End Sub

В верхней части активируются элементы для выбора, а затем выберутся узлы 2–3 и линии 1 и 3. Затем, с помощью пустой строки отменяется выбор узлов и линий.

Если вам нужно прочитать или изменить выбранные объекты, тогда требуется применение функции «IModelData.EnableSelections» (она тоже находится в вышеприведенном коде). Если функция обозначена как «True», тогда будут при использовании функции «IModelData.GetNodes ()» загружены, например, только выбранные узлы.


Автор

Г-н Гюнтель осуществляет техническую поддержку пользователей Dlubal Software.

Скачивания


;