863x
004771
2020-10-14

Видимости через интерфейс COM

Можно ли посредством интерфейса COM создавать видимости?


Ответ:

Да, посредством интерфейса COM (RF-COM3/RS ‑ COM6) можно создавать и видимости. В следующем коде будут для видимостей сначала выбраны требуемые элементы. Это обычно делается посредством функции Selections. Сначала активируйте ее с помощью команды «rfEnableSelections», а потом с помощью команды «rfSelectObjects» выберите нужные объекты:

Sub set_visibility()
    
'   get interface from the opened model and lock the licence/program
Dim iModel As RFEM3.IrfStructure3
Set iModel = GetObject(, "RFEM3.Structure")
iModel.rfGetApplication.rfLockLicence
    
On Error GoTo e
    
'   get interface for modeldata
Dim iModData As RFEM3.IrfStructuralData4
Set iModData = iModel.rfGetStructuralData

'   get interface for view
Dim iView As RFEM3.IrfView2
Set iView = iModel.rfGetActiveView
'   remove old views
iView.rfDeletePartialView "test|view"
iView.rfDeletePartialView "test|view2"
iView.rfDeletePartialView "test|view_add"
iView.rfDeletePartialView "test|view_rev"
iView.rfDeletePartialView "test|view_diff"

'   create first view
iModData.rfSelectObjects STR_MEMBER, "3-4"
iView.rfSetPartialView "test|view"
'    iView.rfSelectPartialView "test|view", PVM_SHOW, True, True

'   create second view
iModData.rfSelectObjects STR_SURFACE, "1"
iModData.rfSelectObjects STR_MEMBER, "3"
iView.rfSetPartialView "test|view2"
'    iView.rfSelectPartialView "test|view2", PVM_SHOW, True, True

'   create sum from view from 1 and 2
iView.rfSelectPartialView "test|view", PVM_SELECT, True, True
iView.rfSelectPartialView "test|view2", PVM_SELECT, False, True
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True
iView.rfSetPartialView "test|view_add"


'   create differential view 2 minus 1
'       first created reversed view
iView.rfSelectPartialView "test|view", PVM_SHOW, True, True
iView.rfSelectPartialView "test|view2", PVM_SHOW, False, True
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
iView.rfSelectPartialView "", PVM_SELECT, True, True
iView.rfSetPartialView "test|view_rev"
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True

'       select view to substract and reverse view
iView.rfSelectPartialView "test|view_rev", PVM_SELECT, True, True
iView.rfSelectPartialView "test|view", PVM_SELECT, False, True
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
iView.rfSelectPartialView "", PVM_SELECT, True, True
iView.rfSetPartialView "test|view_diff"
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, True, True

iView.rfSelectPartialView "", PVM_SHOW_REVERSE, True, True
iView.rfCancelPartialView

    
e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    
iModel.rfGetApplication.rfUnlockLicence
Set iModel = Nothing

End Sub

Для создания видимости затем используйте интерфейс «iView» и команду «rfSetPartialView». Здесь особенно важно правильное описание. Das Trennzeichen "|" sorgt dabei dafür, dass eine Sichtbarkeit mit Namen "view" in der Gruppe "test" angelegt wird.

Обратите внимание в основномна команду «rfSelectPartialView», которая позволяет активировать видимость. Потом первый аргумент - это название видимости. В качестве второго аргумента можно выбрать любую нужную команду. В зависимости от команды затем может потребоваться указание наименование видимости.

Третий аргумент спрашивает, нужно ли деактивировать все, что было отображено до сих пор или нет. Поэтому, если вы хотите отобразить, например, две видимости, нужно по крайне мере при выборе второй из них подтвердить команду «False».

Четвертый аргумент затем определяет, должно ли все скрытое отображаться в фоновом режиме или нет.

Ниже приводим список важных команд для второго аргумента:

PVM_SHOW Zeigt die angegebenen Sichtbarkeit
PVM_SHOW_SELECTION_ONLY Nachdem Elemente aus den Sichtbarkeiten selektiert wurden können Sie nun so allein dargestellt werden
PVM_SHOW_REVERSE Alle bisher dargestellten Elemente gehen in den Hintergrund und alle Elemente aus dem Hintergrund werden dargestellt (Darstellung wird invertiert)


Автор

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

Ссылки
Скачивания


;