596x
001545
2020-07-10

[ZH] 常见问题 004499 | 如何通过 COM 在后台打开和关闭 RFEM/RSTAB...

问题:
如何通过 COM 接口在后台打开和关闭 RFEM/RSTAB?

答案:
通过用“新建”初始化应用程序(接口)类型的变量,RFEM/RSTAB 在后台启动。 使用该变量,您还可以使用“创建模型”方法创建新模型,或使用“关闭”命令关闭程序。

以下示例显示如何启动 RSTAB,在程序中创建带有节点的模型,以及如何关闭程序:

子 RSTAB_open_close()

将文件名调暗为字符串
文件名 = Application.ActiveSheet.Cells(7, 3)

' 启动 rfem
Dim iApp As RSTAB8.Application
设置 iApp = 新建 RSTAB8.Application

iApp.LockLicense
iApp.Show

出错时转到 E

    ' 创建模型
    Dim iMod As RSTAB8.IModel2
    设置 iMod = iApp.CreateModel(filename)

    ' 向模型中添加数据
    尺寸调整为 RSTAB8.Node
    nd.no = 10
    nd.X = 1
    nd.Y = 2
    nd.Z = 3

    Dim iModdata As RSTAB8.iModelData
    设置 iModdata = iMod.GetModelData

    iModdata.PrepareModification
    iModdata.SetNode nd
    iModdata.FinishModification

    iMod.保存文件名

E:  如果 Err.Number 0 那么 MsgBox Err.description, , Err.Source

    设置 iModdata = 无
    设置 iMod = 无
    iApp.UnlockLicense
    iApp.关闭
    设置 iApp = 无

末端接头

“iApp.Show”命令是可选的。 这样可以正常显示程序,而不是在后台。

在下载下您可以找到一个 Excel 宏,该宏包含 RFEM 和 RSTAB 的子程序。

请注意,创建文件的文件夹必须存在。