張創建
Creo是美國PTC公司推出的一款CAD/CAM/ CAE設計軟件,它整合了Pro/Engineer、CoCreate和ProductView,已成為國內制造企業最普及的標準軟件之一,隨著Creo設計產品逐漸增多,對既有的產品設計數據實現分類管理、零組件重用、快速檢索和有效地權限管控,需采用PDM進行管理,PTC公司的winchill產品可以有效地管理Creo產品數據,為了提高國內企業使用PDM軟件的國產化率和提升國產工業軟件水平,本文對企業自研PDM與Creo之間的集成進行了研究。
(一)Creo二次開發語言選擇
C r e o對外提供的開發語言有C++、J a v a、JavsScript等,在考慮開發包授權、功能滿足、部署難易成度、學習成本等因素后,選擇完全免費和容易上手的WebLink開發,即采用JavsScript調用Creo內置API進行自主功能開發,經調研Creo提供的JavsScript接口完全滿足Creo與PDM系統間的集成需求,這樣就不需要考慮開發包的授權問題,可以節約成本。
(二)Creo與PDM集成技術方案

Creo與PDM集成技術方案流程如圖1所示,通過Tomcat服務發布系統集成JSP頁面,在Creo內置瀏覽器中運行此交互頁面,頁面的元素通過js調用Creo API,實現設計模型的信息提取,為了提高系統的擴展性和提高處理復雜業務的能力,選擇在后端(Java語言實現)做數據業務處理和調用PDM接口,前端只做信息的收集與展示,前端通過Ajax調用Servlet提供的后端接口。Creo與PDM系統間的信息雙向傳遞都是通過后端主動調用PDM對外接口的方式實現。
(一)獲取模型屬性
模型屬性包括固有屬性和自定義屬性,為了提高模型新增、編輯、刪除自定義屬性的效率,開發了新增、編輯、刪除自定義屬性交互界面。主要用oSession. GetModelFromDescr 獲取模型,model.CreateParam添加屬性。
(二)獲取產品Bom
怎樣把Creo設計模型產品信息傳到PDM中,需要開發提取導入功能。功能需求有:提取Creo模型屬性到PDM,以方便查看零件對象、統計報表輸出、傳輸到Erp等,使用GetModelFromDescr獲取裝配體,ListFeaturesByType獲取組件,GetParam獲取屬性。
把Creo模型物理文件(格式為.prt或者.asm)上傳到PDM數據倉庫,在PDM客戶端以零件或者產品附件的形式存在,可使用AutoVue預覽。
為了更好地處理業務和實現前后端分離,我們把傳輸文件功能放到后端控制層用Java編寫,前后端交互使用Servlet,主要用到HttpURLConnection對象,url為PDM文件服務中的上傳文件接口地址,請求方式為Post。
(三)輕量化模型
為使三維模型在不同平臺下可重用、可視化和復雜產品方便進行裝配、仿真,需對Creo模型進行輕量化處理。輕量化中性格式有U3D、STL、JT、3DXML等,其中U3D是由3D工業論壇同歐洲計算機制造商協會聯合推出的輕量化3D標準通用文件格式。通過去除與模型顯示無關的非幾何信息來簡化三維模型,只包含了與工藝模型有關的顯示數據:產品結構、幾何、物理屬性和產品制造信息等,提高了三維模型的顯示與處理效率,使得三維模型的應用延伸到了產品全生命周期。本文研究采用U3D格式,采用調用宏命令方式導出U3D,主要用到了session.RunMacro 函數。
(四)獲取PDM管理已存模型
為了快速查詢并重用已有的設計模型,Creo需要通過JavaScript調用PDM接口,從PDM數據倉庫中搜索并下載到本地工作目錄,然后打開模型。此過程中,首先前端控件通過Ajax調用后端PDM提供對外查詢接口,選擇所需要的模型,然后調用PDM文件服務接口,撈取指定的模型物理文件下載到Creo本地工作目錄,最后前端調用函數打開設計模型。主要用到了目錄函數GetCurrentDirectory和 打開模型函數pwlMdlOpen。
研發設計人員在PDM領取設計任務后開始設計工作,打開Creo,在內置IE瀏覽器(可修改)中輸入集成頁面地址顯示如圖2所示。設計前,可設置指定工作目錄;設計過程中,可便捷地添加、編輯或者刪除設計模型的自定義屬性比如材料。

本文探討了基于WebLink的Creo與PDM集成方案,對Creo與PDM系統間集成信息的種類以及集成信息信息獲取方式進行了說明,通過應用證明了方案可行性。由于時間限制,本文所探討的Creo與PDM系統間的集成研究尚顯粗淺,后續將深入研究。
作者單位:南京優倍自動化系統有限公司北京分公司