Вопрос:
Как создать видимости через интерфейс COM?
Ответ:
Видимости можно создать с помощью модулей RF‑COM 3 / RS‑COM 6, причем в данных целях используется интерфейс IrfView. Элементы, которые должны входить в видимость, можно выбрать посредством функции 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
В данном примере были сначала выбраны Поверхность 6, 14 и 17 вместе со Стержнем 1 и 2. Затем была создана видимость данных элементов с названием «вид». Видимость «вид» находится в группе «тест». Ее создание прошло с помощью разделителя «|». После создания видимости, она все еще будет считаться выбранной, то есть она будет отображаться; в данном случае так будет PVM_SHOW относится к типу «RF_PARTIAL_VIEW_MODE», посредством которого можно также удалить видимость. Кроме того, данная функция позволяет указать, будут ли выбранные элементы отображаться в фоновом режиме.