王忠雷,張長江,石奇龍,楊晨立
(山東建筑大學機電工程學院,山東 濟南 250101)
塔式起重機(以下簡稱“塔機”)是常用的起重設備之一,在土木、建筑等工程建設領域有著廣泛的應用,它具有工作效率高、適用范圍廣、回轉半徑大、起升高度高、安裝與拆卸比較方便等特點。塔機的裝配設計是塔機整個設計過程的重要組成部分,對保證產品質量和降低產品成本起著關鍵性的作用。目前,塔機的裝配設計主要存在2 個方面的問題:①計算復雜、設計周期長。目前塔機的裝配設計普遍采用SolidWorks 軟件進行幾何建模,通常會遇到完成裝配體后,模型與設計要求不符,此時只能逐一修改相關的零件模型,浪費大量的時間。②塔機的裝配設計方法不易掌握,一般的計算機輔助軟件不能滿足裝配設計要求,使得在快速研制塔機新產品中遇到困難[1]。
近年來隨著計算機輔助設計技術的快速發展[2-3],很多學者研究了SolidWorks 二次開發技術,李建華等[4]研究了一種基于SolidWorks 二次開發的三維交互輔助裝配方法,實現了裝配數據的實時可視化;目登臣等[5]利用應用程序接口函數對SolidWorks 軟件進行二次開發,形成了一套可獨立運行的齒輪零件參數化造型系統;劉金鳳等[6]基于SolidWorks 二次開發技術,對發動機活塞參數化設計進行了研究,提高了活塞設計效率。
從這些研究成果可以看出,由于SolidWorks 造型便捷、二次開發技術易于實現,已成為機械輔助設計領域的主流軟件。但是目前基于SolidWorks 二次開發實現的參數化輔助設計,以結構簡單,尤其是裝配關系簡單的零部件為主。對于大型、結構復雜的裝配體的輔助設計系統還不多見,基于裝配驅動的“自上而下”的智能輔助設計系統更為少見。因此本文針對上述問題,研究并設計了一種對話框式的塔機智能裝配的三維輔助設計系統。
本系統由智能輔助設計平臺、零部件信息數據庫、外部鏈接文件、零部件三維模型庫以及SolidWorks 系統5 個部分組成。系統的總體框架如圖1 所示,系統以*.exe 方式獨立運行于SolidWorks 之外,并通過修改SolidWorks 三維模型的外部連接文件,實現三維模型的尺寸驅動。

圖1 系統整體框架
系統工作時,輔助設計平臺依據設計要求,調用零部件信息數據庫,搜索相關零部件并確定尺寸信息,通過輔助設計平臺,寫入外部鏈接文件,最后SolidWorks 系統會自動調用外部鏈接文件和三維模型庫,生成符合設計要求的零部件三維模型。
以FP6010 塔機為研究對象,設計并建立塔機零部件信息數據庫,包括零部件信息表和零部件尺寸信息表,描述塔機零部件關系和零件尺寸對應關系。
零部件信息表主要存儲零部件基本信息,包括零部件編號、零部件所屬裝配體編號、零部件層次、零部件名稱、零部件數量、零部件類型、零部件材料、零部件質量、零部件尺寸數量以及原材料參數(長、寬、高等用于直接下料加工的簡單零件)、備注等信息。零部件所屬裝配體編號為零部件信息表的主要字段信息,通過零部件所屬裝配體編號,輔助設計程序自動建立樹形零部件信息表。
零部件尺寸信息表主要存儲零部件尺寸信息,包括零部件編號、尺寸順序號、尺寸類型、尺寸名稱、尺寸代碼、參數名稱、默認值、尺寸上偏差、尺寸下偏差、尺寸類型、尺寸源部件編號、尺寸表達式等信息。零部件尺寸信息表,通過尺寸數據來源表達裝配關系,零件尺寸數據包括3 個類型:①自由尺寸,即裝配不相關尺寸;②直接引用尺寸,即零件尺寸直接由裝配體尺寸決定;③表達式引用尺寸,即尺寸由裝配體尺寸構成的表達式決定。
為實現零件的尺寸驅動,采用SolidWorks 參數化建模的方式進行零件三維模型建立。以銷軸的參數化建模為例。
首先通過圖2(a)所示銷軸零件圖的尺寸信息,用SolidWorks 軟件繪制出銷軸一半(下部分)的草圖,然后通過“旋轉”“拉伸切除”命令獲得如圖2(b)所示的銷軸三維圖。

圖2 銷軸三維模型建立過程
其次為定義變量。通過零件圖上的尺寸信息對變量進行賦值,分析零件結構獲得結構的關鍵尺寸Ln、Dn、Wn(n=1,2,…),如圖3(a),中把Ln、Dn以及Wn作為零件的驅動尺寸,將驅動尺寸定義為全局變量;然后如圖3(b)把零件尺寸與特征尺寸構造函數關系;最后將方程式導出,如圖3(c)所示,形成方程式外部鏈接文件,其中,例如“W1”之類為基本數據定義方程式,“D1@草圖1”之類為關系定義方程式,用于修改基本數據定義方程式。通過修改外部鏈接文件,可以實現模型方程式基本數據的修改,從而進一步修改三維模型的尺寸值,實現模型的尺寸驅動。

圖3 銷軸的參數化過程
傳統的SolidWorks 設計和建模采用“自下而上”的設計思路,即首先設計和建立零件模型,然后生成裝配模型。通常,創建完裝配體后,會發現模型不符合設計要求,此時只能逐一修改相關的模型,隨著零件數量的增加,檢測和更正這些錯誤會耗費大量的時間;而“自上而下”輔助設計,是將裝配尺寸定義在部件上,當裝配尺寸修改時,程序會自動查詢相關零件尺寸,并根據定義的關系進行尺寸的計算和修改。為了提高輔助設計系統的效率、準確性,因此本文使用了“自上而下”三維輔助設計方法。
SolidWorks 模型驅動法根據修改尺寸的方法不同,可以分為3 種:直接尺寸驅動法、方程式驅動法、外部文件驅動法。
直接尺寸驅動法調用API 函數直接修改模型尺寸;方程式驅動法通過修改模型方程式中的全局變量,間接修改三維模型尺寸;外部文件驅動法通過修改模型方程式的外部鏈接文件,間接修改方程式中的全局變量,進而修改模型尺寸。與直接尺寸驅動法、方程式驅動法相比,外部文件驅動法不直接操作SolidWorks 軟件,輔助設計系統與SolidWorks 軟件耦合度低,系統穩定性和可靠性強,另外該方法可以實現多個零件的一次性尺寸驅動,適用于本文提出的“自上而下”裝配驅動輔助設計方法,因此本文采用外部鏈接文件驅動法。為裝配驅動的塔機三維輔助設計系統“自上而下”輔助設計的技術路線如圖4 所示。將裝配尺寸定義在部件上。

圖4 “自上而下”輔助設計的技術路線
通過Access 數據庫定義零件尺寸與裝配尺寸的關系,當裝配部件尺寸修改時,程序自動查詢相關零件尺寸,并根據定義的關系進行尺寸的計算,修改相關零件外部鏈接文件,相關零件模型尺寸也隨之改變,從而實現裝配部件尺寸的自動修改。
塔機“左引進輪支架”的輔助設計。以塔機“左引進輪支架”的裝配驅動為例,選擇“輔助設計”下的“裝配驅動”,塔機“左引進輪支架”的裝配驅動輔助設計工作界面,塔機“左引進輪支架”由“把手”“階梯軸”“連扳”“立板”“底板”“銷軸”6 個基本零件,從零件信息圖可以看出裝配模型包含銷軸直徑D1、部件總長L1,頂板厚度W1等17 個關鍵尺寸,把這17 個關鍵尺寸定義為全局變量,并且構造函數關系,最后導出外部鏈接文件。點擊界面上的“裝配驅動”會生成基于默認尺寸的裝配模型。生成默認尺寸裝配模型的部分代碼為:
1)SWApp:=GetOrCreateObject(’SolidWorks.Application’);(創建或獲取SolidWorks 對象)
2)SWApp.Visible:=True;(使創建的SolidWorks對象可見)
3)PathName:=Dirstr+’SWM’+data.AQ1.fieldbyname(’ID’).AsString+’.SLDASM’:(模型的讀取路徑)
4)Part.ViewZoomtofit2:(使生成的可視化模型界面顯示大小適宜)
通過系統交互式設計界面,將銷軸直徑D1由40 mm改為30 mm,部件總長L1由400 mm 改為340 mm,頂板厚度W1由20 mm 改為40 mm(在界面上直接修改數據即可),相當于修改了外部鏈接文件,點擊“裝配驅動”系統會自動更新相關零件尺寸,并實現裝配體模型的更新。通過裝配驅動的智能輔助設計系統,設計人員可以快速的優化部件尺寸、高效實現系列化設計。自動更新零件尺寸的部分代碼為:
1)begin(開始)
2)T1:=PID;(裝配尺寸數據)
3)Repeat(進入循環)
4)Str:=T1.Text;(尋找關聯子尺寸)
5)ChangeData(Str);(尺寸修改)
6)SaveToText(Str,Data.RecordCount);(保存修改尺寸)
7)T1:=T1.GetNext;(尋找下一個關聯子尺寸,直到相關尺寸都修改完畢)
8)end;(循環結束)
配合前面生成默認裝配體的代碼,從而實現新尺寸模型的裝配驅動。
裝配驅動的塔式起重機三維輔助設計系統是運用Delphi 語言對SolidWorks 進行輔助性開發,在SolidWorks 參數化建模的基礎上進行程序化設計開發,從而實現抽象設計到實體三維模型的快速轉換,在系統設計和開發的過程中,獲得如下結論:①通過數據庫定義了塔式起重機部件和所屬零件的隸屬關系,并建立了部件尺寸和所屬零件尺寸之間的關系;②采用SolidWorks 二次開發技術,應用“外部鏈接文件驅動”方式建立了批量零件尺寸修改的尺寸驅動方法;③建立了“自上而下”裝配驅動的塔式起重機三維輔助設計系統。