474x
001846
2020-09-10

[ZH] 常见问题 004715 | 如何通过 COM 接口选择对象?

问题:
如何通过 COM 接口选择对象?

答案:
IModelData 接口(或 IModeldata2)中的对象选择功能 等)。 该函数需要一个字符串形式的对象类型和对象编号。 这是一个简短的示例:

子选择对象()

Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
模型.获取应用程序.锁定许可证

出错时转到 e

    将 iModdata 调暗为 IModelData2
    设置 iModdata = model.GetModelData

    ' 启用选择
    iModdata.EnableSelections True

    ' 选择节点 2-3 以及线 1 和 3
    iModdata.SelectObjects 模型对象类型.节点对象, "2-3"
    iModdata.SelectObjects 模型对象类型.线对象, "1,3"

    ' 取消选择节点和线
    iModdata.SelectObjects 模型对象类型.节点对象, ""
    iModdata.SelectObjects 模型对象类型.线对象, ""

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

模型.获取应用程序.解锁许可证
设置 iModdata = 无
设置模型 = 无

末端接头

激活上部的选项,然后选择节点 2 至 3 以及线 1 和 3。 然后,线和节点被一个空字符串取消选择。

如果您想读取或修改所选对象,则需要“IModelData.EnableSelections”功能(也可以在上面的代码中找到)。 例如,如果该函数的返回值为“真”,则只有选定的节点才能通过“IModelData.GetNodes()”函数获得。