404x
004691
1. September 2020

Frage

Wie kann man über die COM-Schnittstelle Sichtbarkeiten anlegen?


Antwort:

Sichtbarkeiten können mit Hilfe der RF-COM 3 /RS-COM 6 Schnittstellen angelegt werden, dazu wird das Interface IrfView verwendet. Die Elemente, welche zur Sichtbarkeit gehören sollen, können über die Funktion rfSelectObjects ausgewählt werden:

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

iModdata.rfSelectObjects STR_MEMBER, "1-2"
iModdata.rfSelectObjects STR_SURFACE, "6,14,17"

'   get interface for view
Dim iView As RFEM3.IrfView2
Set iView = iModel.rfGetActiveView
   
iView.rfSetPartialView "test|view"

'   select partial view
iView.rfSelectPartialView "test|view", PVM_SHOW, True, True


e:  If Err.Number <> 0 Then MsgBox Err.description, , Err.Source

iModel.rfGetApplication.rfUnlockLicence
Set iModel = Nothing

End Sub

Im Beispiel werden zunächst die Flächen 6,14 und 17 gewählt zusammen mit den Stäben 1 und 2. Danach wird die Sichtbarkeit dieser Elemente angelegt und bekommt die Bezeichnung "view". Die Sichtbarkeit "view" liegt dabei in der Gruppe "test". Das Anlegen erfolgt dabei mit dem Trennzeichen "|". Nachdem die Sichtbarkeit angelegt wurde, wird diese noch ausgewählt bzw. dargestellt, PVM_SHOW ist dabei vom Typ "RF_PARTIAL_VIEW_MODE" welcher z. B. auch die Sichtbarkeit aufheben kann. Die Funktion kann zusätzlich noch festlegen, ob die Elemente im Hintergrund dargestellt werden.