问题描述:
如何通过 Python 调用 API 关联已经打开的 SAP2000?
解答:
关于 Python 开发环境的配置可以参考文章《SAP2000 API 二次开发 - Python 示例》。环境配置完毕后可以通过以下脚本关联已经打开的 SAP2000,再在关联模型的基础上进行后续操作。
Import os
#导入操作系统接口模块
Import sys
#用于访问 Python 编译器使用的变量及交互函数
import comtypes.client
#导入 comtypes.client 模块。Python 访问 COM 对象需要借助 Comtypes 包,该包可以轻松同时实现自定义的访问和基于 COM 接口的调度。
mySapObject=comtypes.client.GetActiveObject(“CSI.SAP2000.API.SapObject”)
#获取运行的 SAP2000 对象,也就是已经打开的 SAP2000。
SapModel=mySapObject.SapModel #创建 SapModel 对象
SapModel.initializeNewModel() #初始化模型
SapModel.File.NewBlank() #新建空白模型
# 添加其他的内容
mySapObject.ApplicationExit(True) #关闭 SAP2000
SapModel=None #将对象设置为空
mySapObject=None #断开用户程序与 SAP2000 的关联,释放占用的系统内存。