408x
004691
1.9.2020

Dotaz

Jak je možné vytvořit viditelnosti pomocí rozhraní COM?


Odpověď:

Viditelnosti je možné vytvořit pomocí rozhraní RF-COM 3 / RS-COM 6, k tomuto účelu se používá rozhraní IrfView. Prvky, které by měly patřit k viditelnosti, lze vybrat pomocí funkce 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

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

V příkladu se nejdříve vyberou plochy 6, 14 a 17 společně s pruty 1 a 2. Poté se vytvoří viditelnost těchto prvků s a dostane označení "view". Viditelnost "view" je přitom ve skupině "test". Založení proběhne s oddělovačem "|". Jakmile je viditelnost vytvořena, je ještě vybrána resp. se zobrazí, PVM_SHOW je typu "RF_PARTIAL_VIEW_MODE", který např. také může zrušit režim viditelnosti. Pomocí této funkce lze ještě určit, zda se mají prvky zobrazit na pozadí.