王齊東,仲梁維
(200093 上海市 上海理工大學(xué) 機(jī)械工程學(xué)院)
模具的分模設(shè)計(jì)就是將工件分為型芯型腔的過程,型芯型腔的質(zhì)量取決于分型面的設(shè)計(jì)。通常分型面設(shè)計(jì)依賴設(shè)計(jì)師的經(jīng)驗(yàn),利用NX 等三維軟件通過拉伸、曲線網(wǎng)格、修剪與延伸等命令手動(dòng)完成,效率較低。為提高生產(chǎn)效率,方向盤模具分型面設(shè)計(jì)的自動(dòng)化、智能化勢(shì)在必行。
在模具設(shè)計(jì)自動(dòng)化方面,學(xué)者們?cè)诖_定拔模方向和分型線的自動(dòng)提取等方面均進(jìn)行了研究[1-3]。在自動(dòng)生成分型面方面,涂小文等[4]根據(jù)分型線的凸凹性,將組成分型線的線段按類型分組,對(duì)不同組按不同規(guī)則生成連續(xù)面片,但是該方法在空間曲線較為復(fù)雜時(shí)效率低,難以準(zhǔn)確生成面片;王靜等[5]提出了一種根據(jù)分模線不同類型、采用對(duì)應(yīng)的模具體積塊生成的方法,該實(shí)體分模方法的缺點(diǎn)是布爾運(yùn)算有時(shí)無法生成型腔,導(dǎo)致無法分模。
本文針對(duì)上述方法的不足,結(jié)合企業(yè)模具設(shè)計(jì)經(jīng)驗(yàn),在給定方向盤拔模方向及分型線的前提下,提出一種基于規(guī)則與實(shí)例推理生成壓鑄模分型面的方法。分型面是基于分型線的形狀設(shè)計(jì)的,分型線先分割離散為基本曲線,然后進(jìn)行重組,形成拐角實(shí)例,通過匹配數(shù)據(jù)庫已有的實(shí)例,找到對(duì)應(yīng)的設(shè)計(jì)方案,形成該拐角的分型面,最后將各個(gè)拐角的分型面進(jìn)行縫合,形成整個(gè)分型面。
分型面的設(shè)計(jì)是一個(gè)“經(jīng)驗(yàn)性強(qiáng),理論性弱”的復(fù)雜過程[6],而采用基于規(guī)則與實(shí)例推理的方法能仿照手動(dòng)制作分型面,可以通過借鑒和總結(jié)現(xiàn)有案例,解決分型面的設(shè)計(jì)困難問題。
壓鑄模的分型面是根據(jù)分型線具體形狀進(jìn)行設(shè)計(jì)的,利用曲線自身的切線信息(撓曲率等)將其離散分割重組后,一般可分為平面型分型線和空間混合型分型線。圖1 所示為方向盤骨架壓鑄模型及其完整的分型線。
圖1 方向盤骨架和分型線Fig.1 Steering wheel frame and parting line
平面型分型面根據(jù)平面分型線直接拉伸生成,因此按基于規(guī)則的方式設(shè)計(jì),其原理是找到一個(gè)垂直于該分型線所附著實(shí)體表面的矢量,將分型線沿著該矢量進(jìn)行拉伸。
復(fù)雜分型面形狀變化很大,設(shè)計(jì)時(shí)無法遵循單一的規(guī)則,還需借助基于實(shí)例推理的設(shè)計(jì)方法。其過程是將成功的設(shè)計(jì)方案以實(shí)例的形式存儲(chǔ)在實(shí)例庫,然后在實(shí)例庫匹配,設(shè)計(jì)時(shí)調(diào)用對(duì)應(yīng)的分型面方案,若未檢索到相似案例,則需手動(dòng)完成設(shè)計(jì)。
基于規(guī)則與實(shí)例推理的分型面設(shè)計(jì)流程如圖2 所示,步驟為:(1)將完成的設(shè)計(jì)案例存儲(chǔ)在實(shí)例庫中,提取這一類分型線的形狀特征;(2)依據(jù)曲線自身形狀,結(jié)合實(shí)例庫常見的形狀特征,離散分割分型線;(3)借助NX 二次開發(fā)技術(shù),將不同形狀特征的分型線與設(shè)計(jì)方案一一對(duì)應(yīng),分別設(shè)計(jì)不同的分型面方案;(4)識(shí)別分型線是否為平面型分型線,是則基于規(guī)則進(jìn)行分型面設(shè)計(jì);否則基于實(shí)例推理進(jìn)行分型面設(shè)計(jì),根據(jù)形狀特征在實(shí)例庫中匹配實(shí)例設(shè)計(jì)方案;(5)若匹配不到對(duì)應(yīng)方案,則需要人工設(shè)計(jì)分型面。
圖2 基于規(guī)則和實(shí)例推理的分型面設(shè)計(jì)流程圖Fig.2 Flow chart of parting surface design based on rule and case reasoning
Siemens NX 具有強(qiáng)大的CAD/CAM 功能,在模具行業(yè)運(yùn)用廣泛,NX 提供了NXOpenC(UG Open API)、NXOpenC++、NXOpen Python、NXOpen.Net 等多種開發(fā)方式,如圖3 所示。
圖3 NX 二次開發(fā)架構(gòu)圖Fig.3 NX secondary development architecture
UG Open API 是一系列庫函數(shù)的集合,API 的核心包含約2 000 個(gè)C 函數(shù),通過調(diào)用這些函數(shù),用戶可以建立、編輯、查詢、修改UG 的各種實(shí)體對(duì)象;開發(fā)者通過調(diào)用這些函數(shù)實(shí)現(xiàn)特定的需要;通過UG Open API 編程幾乎能夠?qū)崿F(xiàn)所有的造型功能。NXOpenC++面向?qū)ο箝_發(fā)、支持編輯等屬性行為,幾乎支持NX 所有的功能。NXOpen Python、NXOpen.Net 通過共享UG Open API 實(shí)現(xiàn)基本功能[7]。
NX 提供UIStyler 用戶界面設(shè)計(jì)、MenuScript菜單腳本語言作為工具。UI Styler 是UG 自帶的對(duì)話框界面編輯器,根據(jù)開發(fā)需求快速建立合適的對(duì)話框。本文使用NXOpenC 和NXOpenC++結(jié)合的方式開發(fā)。完整的NX 開發(fā)流程如圖4 所示。
圖4 NX 二次開發(fā)流程圖Fig.4 Flow chart of NX secondary development
在分型線上進(jìn)行點(diǎn)采樣,根據(jù)分型線上采樣點(diǎn)的特征信息,將曲線離散為由基本曲線段構(gòu)成的多段線,進(jìn)而得到由多個(gè)基本曲線組成的實(shí)例。
曲線點(diǎn)采樣運(yùn)用到了API 函數(shù)UF_MODL_ask_curve_props,該函數(shù)輸入曲線的TAG(對(duì)象唯一標(biāo)識(shí)符),以及點(diǎn)位于曲線的弧長(zhǎng)百分比,輸出曲線在該點(diǎn)的坐標(biāo)、切線、主法線、副法線、撓率、曲率等數(shù)據(jù)。對(duì)這些點(diǎn)提供的數(shù)據(jù)進(jìn)行參數(shù)分析,采用分割曲線構(gòu)造器(Divide Curve Builder)進(jìn)行曲線分割。分型線是連續(xù)的無參空間曲線,通過這種方法可以把曲線離散為樣條、直線、圓弧等基本曲線,如圖5 所示。
圖5 分型線離散為基本曲線Fig.5 Parting line discretized into basic curves
曲線上的點(diǎn)采樣UF_MODL_ask_curve_props 定義如表1 所示。
表1 曲線上的點(diǎn)采樣函數(shù)定義Tab.1 Definition of point-on-curve sampling function
分割曲線構(gòu)造器的偽代碼如下:
曲線分割后,將基本曲線組合成實(shí)例。圖6 所示為基本曲線組合成實(shí)例的簡(jiǎn)圖(俯視圖),其實(shí)例主要包括輪廓形狀及其特征點(diǎn)信息。
圖6 基本曲線組合的實(shí)例(俯視圖)Fig.6 Example of basic curves combination (top view)
基本曲線組合成實(shí)例后,需要將其與已有實(shí)例進(jìn)行匹配,這是一個(gè)曲線相似度問題[8]。本文采用實(shí)例已有特征結(jié)合曲線相似距離度量的方式[9],計(jì)算待匹配實(shí)例與現(xiàn)有實(shí)例的相似度,選出相似度最高的實(shí)例,并調(diào)用對(duì)應(yīng)的分型面設(shè)計(jì)方案。
已有特征指的是在基本曲線組合成實(shí)例過程中,具體是幾個(gè)數(shù)目的圓弧和直線組合成的實(shí)例,在實(shí)例都有記錄,通過比對(duì)這些特征,衡量實(shí)例之間的匹配程度。
相似距離度量的策略是:實(shí)例是沒有解析式的曲線,通過采樣獲得各自離散點(diǎn)集,再將分別代表不同實(shí)例的點(diǎn)集歸一化處理,計(jì)算相似度則為計(jì)算經(jīng)過處理后兩個(gè)點(diǎn)集中對(duì)應(yīng)點(diǎn)的距離問題。
待匹配實(shí)例曲線記為
同樣的,已有實(shí)例曲線記為
則定義待匹配曲線和現(xiàn)有實(shí)例的相似度為
2 種方法各自占比權(quán)重為50%,最后計(jì)算得到最佳匹配實(shí)例。
分型面的設(shè)計(jì)主要圍繞以下經(jīng)驗(yàn)原則進(jìn)行:(1)盡可能減少不規(guī)則曲面;(2)避免薄鐵;(3)有足夠的平面承擔(dān)分模壓力。
在設(shè)計(jì)方向盤分型面時(shí),并非所有的準(zhǔn)則都能得到滿足,在實(shí)際設(shè)計(jì)中,經(jīng)常是采用拉伸的方式進(jìn)行分型面的設(shè)計(jì)。表2 是部分實(shí)例及其對(duì)應(yīng)的設(shè)計(jì)方案。
表2 部分實(shí)例及其設(shè)計(jì)方案Tab.2 Some examples and their design schemes
基于NX 二次開發(fā)技術(shù),提供各種實(shí)例需要的設(shè)計(jì)方案,逐一將組合好的單個(gè)分型線段在實(shí)例庫中匹配,選用合適的設(shè)計(jì)方案,然后將所有生成的單個(gè)分型面進(jìn)行相應(yīng)的修剪縫合,最后完成分型面的設(shè)計(jì)。
基于本文所提出的方案,以C++為開發(fā)語言,NX10.0 為平臺(tái),借助VS2012 開發(fā)了一個(gè)方向盤壓鑄模分型面設(shè)計(jì)系統(tǒng)。圖7 所示是利用菜單腳本(MenuScript)自定義的菜單,不僅與NX 無縫集成,而且可以方便調(diào)用所開發(fā)的程序。
圖7 自定義菜單Fig.7 Custom menu
對(duì)于圖8 的方向盤壓鑄模分型面設(shè)計(jì),模型為方向盤骨架,具有較大的高度落差,且有多個(gè)凸臺(tái)夾雜在上部分型線,按照傳統(tǒng)設(shè)計(jì)需要對(duì)其進(jìn)行逐一拉伸修剪操作。
圖8 方向盤骨架圖Fig.8 Steering wheel skeleton
借助本設(shè)計(jì)系統(tǒng),在自定義菜單調(diào)用開發(fā)好的dll 程序,選擇分型線就能完成分型面的設(shè)計(jì)。程序設(shè)計(jì)好的分型面如圖9(a)所示,手動(dòng)制作的分型面如圖9(b)所示。
圖9 2 種方式的分型面對(duì)比Fig.9 Comparison of two types of parting planes
本文基于NX 二次開發(fā),設(shè)計(jì)了一套方向盤壓鑄模分型面設(shè)計(jì)系統(tǒng),可以提高方向盤壓鑄模模具設(shè)計(jì)的效率,有利于實(shí)現(xiàn)模具CAD 智能化設(shè)計(jì)。針對(duì)壓鑄模分型面自動(dòng)化的設(shè)計(jì)有了一定進(jìn)步,但實(shí)例庫只能儲(chǔ)存已有實(shí)例類型,對(duì)沒有的實(shí)例類型還不能自我學(xué)習(xí),加之壓鑄模形狀的復(fù)雜性,使得本設(shè)計(jì)程序仍存在局限性,因此實(shí)現(xiàn)壓鑄模自動(dòng)化設(shè)計(jì)還需不斷完善。