994x
004715
2020-09-10

问题

如何通过 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()”函数获得。