1025x
004499
2020-07-10

RSTAB/RFEM в фоновом режиме через интерфейс COM

Каким образом можно открыть и снова закрыть программу RFEM/RSTAB в фоновом режиме через интерфейс COM?


Ответ:

Запустить программу RFEM/RSTAB в фоновом режиме можно посредством инициализации переменной типа «Application (interface)» и параметра «new». При использовании данной переменной затем можно либо создать новую модель методом «CreateModel», либо с помощью команды «Close» закрыть программу.

В следующем примере потом хорошо показано, каким образом можно запустить программу RSTAB, создать в ней модель с узлом и наконец закрыть ее:

Sub RSTAB_open_close()

Dim filename As String
filename = Application.ActiveSheet.Cells(7, 3)

'   start rfem
Dim iApp As RSTAB8.Application
Set iApp = New RSTAB8.Application

iApp.LockLicense
iApp.Show

On Error GoTo E

    '   create model
    Dim iMod As RSTAB8.IModel2
    Set iMod = iApp.CreateModel(filename)
    
    '   add data to model
    Dim nd As RSTAB8.Node
    nd.no = 10
    nd.X = 1
    nd.Y = 2
    nd.Z = 3
    
    Dim iModdata As RSTAB8.iModelData
    Set iModdata = iMod.GetModelData
    
    iModdata.PrepareModification
    iModdata.SetNode nd
    iModdata.FinishModification
    
    iMod.Save filename


E:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    
    Set iModdata = Nothing
    Set iMod = Nothing
    iApp.UnlockLicense
    iApp.Close
    Set iApp = Nothing
    
End Sub

Команда «iApp.Show» необязательна, поскольку она обеспечивает стандартное отображение программы, т.е. не в фоновом режиме.

В разделе «Загрузки» затем находится макрос программы Excel со всеми соответствующими функциями для программы RFEM и RSTAB.

Не забудьте также учесть факт, что папка, в которой создается файл, должна уже существовать.


Автор

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

Скачивания


;