楊曉亮 張長奎
摘 要:文章針對目前非標準設備中手套箱設計復雜、效率低的狀況,探究基于Inventor API接口技術,通過二次開發實現手套箱快速參數化三維設計。通過原理與思路分析,結合手套箱設計流程,完成參數化建模開發和設計界面定制;結合標準零部件調用和自動裝配技術,最終實現基于參數化設計界面的手套箱三維設計和自動裝配。
關鍵詞:設備設計;參數化;二次開發;三維設計;自動裝配
中圖分類號:TM623.1 文獻標志碼:A 文章編號:2095-2945(2018)09-0138-03
Abstract: Aiming at the complex and low efficiency of glove box design in non-standard equipment at present, this paper explores how to realize the rapid parameterized 3D design of glove box by secondary development based on Inventor API interface technology. Through the analysis of principle and train of thought, and according to the design flow of glove box, the parametric modeling development and interface customization are completed; with standard parts transfer and automatic assembly technology, the 3D design and automatic assembly of glove box based on parameterized design interface are finally realized.
Keywords: equipment design; parameterization; secondary development; 3D design; automatic assembly
引言
當前,設備設計已擺脫二維平面CAD設計模式,采用更有效率的三維設備設計平臺進行方案設計、設備零部件設計、設備裝配和平面出圖。手套箱作為我單位在工程設計中常用的非標準設備,由于結構復雜、零部件較多,且各工程項目需求不同,手套箱設備設計復用率極低。在項目周期和進度要求下,手套箱設計成為制約任務進度的主要因素,常需要投入大量人力和時間來完成。在引入和利用設備三維設計平臺(Autodesk Inventor)進行手套箱三維設計時,各項目的零部件建模、裝配添加等工作仍需要按項目方案進行重新設計,設計周期和人力投入較二維設計提高不明顯;同時,設計工序比較復雜,容易出現參數錯誤或者遺漏,造成二次修改并延誤工期;進而影響工程建設整體進度。手套箱設計迫切需要一種快速、準確的三維設計模式,來提高設計效率和保證質量。手套箱參數化設計可以很好解決這個問題。
Autodesk Inventor設備三維設計平臺,秉承Autodesk系列軟件開放性傳統,不但擁有出色的平面草圖繪制功能和強大的三維造型功能,而且還具備二次開發和用戶定制方面的接口[1]。本文通過應用Inventor API(Application Pro
gramming Interface)的開發接口,在Inventor平臺上進行二次開發,建立參數化的設計架構和交互的設計界面,實現手套箱零部件快速設計和自動裝配功能。
1 二次開發原理及思路
1.1 二次開發原理
Inventor具備強大的三維參數化造型功能,可以更好地實現二次開發和定制,開發出適用于本地化計算機輔助設計的相關插件,該軟件提供了強大的二次開發接口Inventor API。通過二次開發,可以實現利用微軟的自動化(Automation)技術的高級語言來控制Inventor的各種對象以及相關的屬性和方法,進而開發出需要的應用程序。
Inventor API技術由于其面向對象的應用程序編程接口的易學和易用性,適合工程設計人員進行學習和應用;同時,其支持當前主流的高級編程語言。基于以上因素考慮,手套箱二次開發采用Inventor API技術和C#語言實現。
1.2 二次開發技術思路
本次二次開發的思路,是采用先進的參數化和iMate裝配預定義技術,在預先設計好自定義的設計界面上設置需要的關鍵參數;在設計時輸入需要的外形參數,以及通用件型號等,自動生成列表。當創建手套箱模型時,程序自動遍歷列表,調用參數,自動創建手套箱草圖特征和輪廓特征,最終生成手套箱參數定義的零件,選擇通用件并根據預定義iMate裝配手套箱模型。
2 參數化設備設計開發
2.1 參數化建模及實現方法
基于COM的API是以功能對象(Objects)形式存在[2];每一個對象都對應Inventor中的一些功能,每個對象都可能有多種的方法、屬性和事件;一切對象都是通過對象模型被訪問到的,對象模型圖就象一個金字塔,最頂層的一個對象叫做Application。基于Inventor的開發接口,根據需要定制功能、操作和優化算法等,實現第三方應用程序和Inventor的交互。
Inventor二次開發的關鍵在于正確合理的對象的調用。本文用Microsoft Visual Studio 2010為開發環境,根據手套箱參數化設計需要對Inventor進行開發,用C#編程語言,參照Inventor API的對象模型圖,對二次開發中的對象、屬性、事件等各種參數進行調用,最終實現手套箱參數化設計平臺的功能需求。
2.2 開發架構
項目創建時,選擇“Autodesk Inventor 2015 AddIn模板”,命名為“Glovebox”,自動生成解決方案。在解決方案資源管理器里面包括各種開發所需的基本的文件。項目開發架構主要包括有以下3部分主要內容:
(1)StandardAddInServer.cs:定義了該Add-In 的入口(即加載點);創建Ribbon用戶界面,定義環境界面等;
(2)Autodesk.Glovebox.Inventor.addin:定義了該com對象的相關信息;
(3)Glovebox.X.manifest:定義了該COM 對象的manifest 文件,用于支持side-by-side 的功能,用于組織和描述隔離應用程序及并行組件。
2.3 通用零部件預定義開發
在使用iMate預定義技術之前,要對手套箱模型進行前期處理,即對手套箱通用零部件進行添加iMate預定義[3]。對需要裝配的接觸面進行參數設置,如配合,對齊,連接等。根據手套箱的實際情況,按照一定規律自定義各個參數類型的名稱,以方便在后期程序編寫過程中根據規律編寫篩選過濾代碼、遍歷參數和對比裝配。
本文在程序中調用通用零部件是通過零部件的名稱,直接調用,通過前期的零部件預定義參數添加,實現具體程序調用裝配條件。
2.4 開發關鍵點
Inventor中的接口Application addin Server與COM組件對象的創建和生存期控制關系密切。在開發過程中函數Activate和Deactivate是兩個關鍵的開發點,應特別注意這兩個函數的使用方法。
Activate分別在Add-in運行時調用,可以主要進行接口的創建和接口與事件(請求)的連接操作。此外還可以進行菜單和工具條的創建。
Deactivate在Inventor運行結束或是用戶關閉add-in組件的時候調用,主要是進行add-in卸載前的一些清理工作,比如Release()的調用等。Deactivate模塊是在unload 的情況下調用,最后被清理的對象或指針一般放在這里釋放。
3 設計工作界面定制
3.1 界面定制原則
設計工作界面是實現手套箱設計最終交互的媒介,而一個友好的用戶界面,能夠使設計人員方便快捷地進行產品的設計與研發。手套箱設計工作界面定制原則如下:
(1)通過操作比較簡便直觀的Ribbon菜單進行界面定制,將新添加的環境放置在原有環境平行位置。
(2)在C#開發時,要按所實現的功能選擇合適的控件對象,并合理布局控件對象在窗體中的位置。進行界面定制時,根據手套箱設計特點,通過屬性窗口和代碼窗口對手套箱屬性進行修改。通過把合適的控件按功能需要放到合適的位置并設置屬性,可以保留對象設置的屬性默認值。
(3)完成手套箱界面的定制后,對于需要與外部信息進行交互的對象,如命令按鈕、單/復選按鈕、檢查框、文本框等,可以在代碼窗口中編寫程序,以此來告訴控件對象需要響應的事件或者動作。
本文中根據需要手套箱界面由若干參數輸入選項卡組成,分別為概述、手套箱體、左端蓋、右端蓋、箱體標準件配置選項卡。
3.2 主要定制過程
首先,在環境菜單里添加“手套箱設計”環境;在手套箱設計環境面板里添加“設備設計”面板,里面定義“手套箱”等設備設計按鈕。本次開發以“手套箱”設計為例,其它設備設計按鈕可按此方法依次添加實現。
其次,根據手套箱特點,手套箱工作界面由若干參數輸入選項卡組成,分別定制有基本參數、手套箱體、左端蓋、右端蓋、箱體標準件配置等選項卡。
(1)概述選項卡:用于輸入手套箱名稱、圖號和保存路徑,可以使用程序默認的設置,也可以自由指定。
(2)手套箱體選項卡:用于輸入手套箱箱體的長、寬、厚度和高度等箱體參數。除箱體外形不可以自由指定外,箱體的長、寬、厚度和高度等可根據需要自由填寫。長度可以根據手套箱工位數確定,也可以直接填寫總長。
(3)左端蓋選項卡:用于指定左端蓋外形參數,長寬外形已經根據箱體外形認指定。右端蓋選項卡與左端蓋參數類型一致。
(4)箱體標準件配置選項卡:用于設置箱體及左右端蓋上的標準件類型、規格、位置等信息。可以添加、修改和刪除各條配置數據。其中“添加配置”按鈕,點擊可以彈出添加箱體標準件窗口,指定箱體上標準件的所在位置、類型、標準件號、標準件的定位坐標等。
(5)保存設置按鈕:保存格式有兩種:二進制和XML格式。前者不可讀,可以保護數據的安全性;后者可以通過記事本程序打開,進行查看和修改。
(6)讀取設置按鈕:可以重新加載已經保存的配置。
4 自動裝配實現
手套箱參數化開發和工作界面定制過程中,在整體界面上配置不同類型的選項卡;定義各種窗口和數據錄入框,包括箱體名稱,圖號,保存路徑,生成模型按鈕,手套箱體和左右端蓋的參數錄入窗口、箱體標準件配置列表等;在標準件配置選項卡,設置了保存和讀取配置按鈕,通過按鈕可以將配置好的標準件列表保存起來,隨時調用。這些界面化的內容在后臺都表現為相關的參數,這些參數不僅是實現參數化實現的關鍵,同時也是為最終手套箱自動裝配提供依據。
手套箱設計自動裝配開發實現如下: