使用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軸的旋轉角度。?

TAG:CATIA | 二次开发 | PLM |