使用Python進行3DEXPERIENCE的COM開發的測試
CAA有一定的上手難度,相比較而言,Python和VBA腳本式的開發對於一些簡單應用而言顯得稍微親民一些,對於一些簡單項目,腳本語言的開發速度比起CAA繁瑣的WorkspaceFrameworkModule的管理簡單不少。當然,腳本式開發會犧牲一定的開發深度,對於底層的一些介面可能缺少對應的支持,但是Python也有顯而易見的優點,廣泛的群眾基礎和海量的第三方庫,甚至目前熱門的人工智慧都能依託Python平台迅速實現。
此處僅對Python開發進行一個簡單的DEMO演示。
本例功能為:
獲取當前窗口中激活的對象類型,並輸出給用戶。
開發環境的搭建
對於初次上手Python的新手而言,可以嘗試使用Anaconda進行環境配置,此處不展開了。簡單提一下。
Anaconda Downloads
選擇Windows版本(32bit/64bit根據計算機環境自行選擇)。然後一路Next就裝好了。
Anaconda可以使用Jupyter Notebook互動式的開發方式運行程序,Jupyter Notebook已經在Anaconda中集成了。
Step 1
打開開始菜單中的Anaconda Navigator
Step 2
在Navigator中切換到Environments,選擇root,然後點擊右邊的箭頭,選擇Open with Jupyter Notebook。隨後會彈出瀏覽器的Jupyter Notebook界面。
Step 3
選擇New->Python3(沒錯,這是Python3),然後會彈出一個開發環境,是的,Jupyter Notebook的開發環境是在瀏覽器中的。
Step 4
綠色區域就是我們輸入代碼的地方,滑鼠點進去,就可以開始敲代碼了。
import win32com.clientncatia=win32com.client.Dispatch(catia.application)ndoc=catia.ActiveEditornObjSelection = doc.SelectionnSelectedElement = ObjSelection.Item(1)nprint ("Type is " + SelectedElement.Type)n
輸入完成後
Step 5
打開3DEXPERIENCE,進入Part Design模塊,滑鼠點選一下」3D形狀「。
然後切換到Jupyter Notebook,點擊那個類似播放的按鈕"run"。
查看輸出結果
輸出了"Type is Part"。
總結
本例中演示了使用Anaconda搭建Python開發環境的過程,並通過COM接入3DEXPERIENCE。
代碼部分比較簡單,獲取Editor,獲取選擇的對象,輸出選擇對象的類型。總體上而言,這個效果比較類似CAA中的Batch(批處理)程序。
Tips:
代碼部分參考了3DEXPERIENCE幫助文檔(Development Assistance)中Automation部分"Modifying PLM Attributes of a Selected Product"的一小段代碼。另外要注意的是,V5的COM開發代碼和V6的COM開發代碼是有些許不同的,具體區別在Development Assistance中有註解,此處也不展開了。
開了個二次開發微信群,私信我可以加群,小管家不讓貼二維碼。
推薦閱讀:
※CATIA版本之簡述【附CATIA R19開發包】
※學UG還是CATTA好?
※CATIA機械設計,一般一個月有多少薪水?
※求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?