問題描述:
如何通過 Python 調(diào)用 API 來啟動(dòng) SAP2000?
解答:
除 Python 語言外,SAP2000 的 API 接口還支持 VBA、VB、C#、Intel Visual Fortran、C++、MATLAB 等多種開發(fā)語言。用戶可根據(jù)實(shí)際情況,挑選適合自己的編程語言做二次開發(fā)。對于從未接觸過編程的結(jié)構(gòu)工程師,推薦首選 Python 語言,畢竟上手難度低,簡單易學(xué),可以從圖 1 中的Example 7 和 Example 8 入門。
圖1. API 幫助文檔(程序安裝路徑下獲?。?/span>
關(guān)于 Python 開發(fā)環(huán)境的配置,建議參考文章《SAP2000 API 二次開發(fā) - Python 示例》,此處不再贅述。環(huán)境配置完畢后,用戶可以通過以下腳本啟動(dòng) SAP2000。
Import os
#導(dǎo)入操作系統(tǒng)接口模塊
Import sys
#用于訪問 Python 編譯器使用的變量及交互函數(shù)
Import comtypes.client
#導(dǎo)入 comtypes.client 模塊。Python 訪問 COM 對象需要借助 Comtypes 包,該包可以輕松同時(shí)實(shí)現(xiàn)自定義的訪問和基于 COM 接口的調(diào)度。
helper=comtypes.client.CreateObject("SAP2000v1.Helper")
#創(chuàng)建 API 幫助對象
mySapObject=helper.CreateObject(r"C:\ProgramFiles\ComputersandStructures\SAP200024\SAP2000.exe")
#從指定路徑創(chuàng)建 mySapObject 實(shí)例
mySapObject=helper.CreateObjectProgID("CSI.SAP2000.API.SapObject")
#將啟動(dòng)最新安裝的 SAP2000 版本創(chuàng)建 mySapObject 實(shí)例。
mySapObject.ApplicationStart() #啟動(dòng) SAP2000
SapModel=mySapObject.SapModel #創(chuàng)建 SapModel 對象
SapModel.InitializeNewModel(9) #初始化模型,并修改單位制 9=N_mm_C
SapModel.File.NewBlank() #創(chuàng)建一個(gè)空白的 model
# 添加其他的內(nèi)容
mySapObject.ApplicationExit(True) #關(guān)閉 SAP2000
SapModel=None #將對象設(shè)置為空
mySapObject=None #斷開用戶程序與 SAP2000 的關(guān)聯(lián),釋放占用的系統(tǒng)內(nèi)存。