蔡益江 劉靜宜



Inventori Logic模塊提供了對設計自動化的支持。本文通過一些具體的案例,結合客戶的實際需求,通過使用iLogic中提供的自動化函數、界面的支持以及良好的擴展性對設計實現自動化,從而使我們更方便的重用設計,提高效率。
上期在介紹 Inventori系列功能時,提到了 iLogic的主要功能及其基本使用。本期,我們通過一些案例幫助用戶了解 iLogic在實際中的使用。
一、案例一:液壓閥塊及其裝配
Inventor自帶的 iLogic教程中,有一個液壓閥塊 (Manifold Block)的例子,很好地詮釋了 iLogic的能力和具體應用的方法。
首先,分析這個閥塊裝配,其核心就是閥塊(圖 1左)。在閥塊的設計中,閥塊的尺寸參數,聯接類型、油口的孔徑類型及尺寸都是設計中需要管理的關鍵參數。
1.閥塊類型(圖 2、圖 3)
說明:圖 2中,選擇 Standard類型時,三個面的油口孔徑相同,對應變量參數名分別為:port_b_size, portc_c_size,port_a_size,通過 if…Endif條件判斷和賦值語句(=),完成參數的數值定義。
說明:圖 3中,選擇“Tee”型聯接時,三個面的油口都有效;選擇 Elbow(90°彎頭)聯接時,下表面的油口(Port_B)開口及螺紋特征被抑制,通過Feature.IsActive( )語句實現對特征狀況的控制。
2.油口位置
油口孔徑有相應的規格,在 Inventor中支持多值列表型變量,用戶可以預先定義供用戶選值。當數值較多時,Excel表格是不錯的選擇,iLogic提供了很強的 Excel表格的操作能力,實現在 Inventor中按照設計規則完成查詢及選值操作(圖 4)。
在本例中,采用了第三方嵌入對象的方式,即 Excel表格存放在 Inventor文件內部。iLogic也支持將 Excel可以放置在外部,區別就是在 iLogic語句中,給出完整的Excel文件的路徑(圖 5)。
說明:圖 6中,MaxOfMany ( ):iLogic提供的一個數學函數,即比較括號內的數值,返回最大值,這里是比較幾個油口的孔徑,將最大油口孔徑值賦給變量 port。
GoExcel.FindRow( ):iLogic提供的 Excel查詢函數,這里是查詢嵌入的表格,從其表單 Sheet1,對應的 Port_size列,找到數值等于 Port的是第幾行,將返回數值賦給 i。
GoExcel.CurrentRowValue( ):配合 FindRow( )返回的行,讀取該行中對應變量名的數值,本例中,通過查詢表格獲得了各個面的油口的位置。
3.屬性定義
在實際使用中,用戶對設計零件的零件代號有特定的要求,在該例中,當設計為標準型時,“零件代號”從嵌入的 Excel表格中查詢獲得,如果為用戶自定義的,“零件代號”設置為“HomeMade”。
說明:圖 7中, iProperties.Value (“Project”, “Part Number”),對應 “Project”(iProperty的項目頁面)中“PartNumber”(零件代號 )的數值,從 iLogic的 iProperty對應的代碼和 iProperty對應的屬性頁面,很容易找到其對應關系(圖 8)。
4.閥塊裝配中的 iLogic應用
在本例中,大家注意到閥塊參數的變化是核心,但是閥塊裝配中如何直接控制閥塊參數呢?之前,我們需要借助鏈接外部參數的方式(Excel或 Inventor文件),而用 iLogic方法就變得非常簡單。如圖 9所示,通過 Parameter( )函數,我們可以直接將數值賦給裝配下的零件的變量,這樣就實現了在頂層裝配下對底層零部件的控制。
在閥塊裝配中還有將模型中的屬性及參數值返回到Excel表格中的應用,和前面讀取 Excel表格的例子類似,在此不贅述。
二、案例二:用 iLogic實現貨架設計
我們的一位客戶設計商店里的貨架(圖 10),根據用戶的要求,規格尺寸(長、寬、高),層數、列數、材料和顏色都不盡相同。
(1)在利用 iLogic解決貨架模型之前,我們首先建立正確的貨架模型結構并確定關鍵的驅動參數。根據貨架的設計,分為三層裝配(圖 11)。
(2)基于確定的結構和關鍵參數創建貨架的三維模型。進行零件模型創建時,首先定義如下關鍵參數,并且命名以便于后續查找和 iLogic應用(圖 12)。
(3)進行子部件模型創建時,首先添加約束,確定部件的位置關系;然后創建 iLogic規則,定義參數關系和參數傳遞(圖 13)。
(4)創建總裝時,首先放置子部件、零件,并且約束和定位;接下來創建用戶參數,來定義關鍵參數(長、寬、高、層數、列數材料和顏色);使用 iLogic語句,實現頂層參數向下游零件的參數傳遞(圖 14)。
(5)在本例中,定義了材料和顏色列表變量, 在這里,我們使用了 iLogic的 document函數直接訪問 Inventor API,獲取到裝配中的每一個零部件(For Each…In…),然后將材料和顏色賦值給相應的零部件(圖15)。
(6)創建 iLogic用戶界面,并添加產品配置關鍵參數和屬性控件。iLogic提供了界面創建工具,方便用戶交互操作。圖 16即為根據用戶的產品特點,創建的用戶參數交互界面。
三、案例三:iLogic在工程圖的應用
經常聽到用戶希望把視圖的比例和質量(去除單位)填寫到工程圖的標題欄內,以前用戶必須通過程序調用Inventor的 API來實現,而借助 iLogic,實現的過程就變得異常簡單。endprint
首先我們在工程圖的模板中,創建兩個自定義屬性,比如比例和質量。
接下來我們把創建的自定義屬性添加到標題欄的定義中(圖 17)。
根據 iLogic提供的工程圖函數和屬性函數,把指定的工程視圖的比例和質量賦給相應的變量。
注意:圖 18中,ActiveSheet.View( ).Scale獲取當前激活工程圖下,指定視圖名稱的比例。
Round()是 Inventor支持的取整函數,這里,是對質量保留 3位小數。
InventorVB.DocumentUpdate( )常用來當參數變更時,執行更新的操作,類似手工運行管理頁面中的“更新”命令。
類似對工程圖的操作方法還有很多,比如對放置視圖位置的控制、視圖高度的控制、圖幅、標題欄樣式和引出序號等。
四、案例四:使用 iLogic導出文件
iLogic支持把 Inventor文件導出到常用的格式,比如AutoCAD DWG、DWF、PDF和 JPG等。請看如圖 19所示打開的工程圖文件,我們可以很方便地使用 iLogic提供的自動化函數,把它存成其他格式。
注意:Document.SaveAs( )是 iLogic中提供的文件另存為的函數。
Messagebox.Show ()是 iLogic提供的信息對話框方式,便于與用戶交互。
五、語結
對于用戶,iLogic將 Inventor在設計重用方面的能力提升到新的高度,歸納如下。
(1)設計規則和模型數據相結合的高效方式。
(2)更強的 Excel和模型數據交互操作能力。
(3)對Inventor的支持面廣,從文檔類型上涵蓋了零件、部件和工程圖,從功能上覆蓋了零部件參數、物理和外觀屬性和文檔屬性、特征控制和零部件控制 (包括 iPart,iAssembly)、BOM屬性。
(4)支持規則運行條件定義(Trigger),便于自動化處理。
(5)它采用類似 VB的解釋型語言,用戶易學易上手。
(6)iLogic既可以嵌入在文檔內(內部規則)和也可以從外部調用(外部規則),方便靈活。
(7)支持用戶自定義 UI調用。
(8)對 InventorAPI的支持,提供了拓展空間。
限于篇幅,更多的 iLogic應用案例無法一一在此展開,也歡迎大家和我們交流。如果讀者對文中提到的模型和 iLogic規則感興趣,可以通過郵件聯系我們(mfg.usergroup.china@autodesk.com)。endprint