王艷真, 徐思豪, 陳 勇, 王 瀚
(中國船舶及海洋工程設(shè)計研究院, 上海 200011)
知識工程的核心是將學(xué)科知識、設(shè)計規(guī)范及標(biāo)準(zhǔn)、設(shè)計參數(shù)和設(shè)計歷史資料等融入設(shè)計軟件中,通過判斷和推理實(shí)現(xiàn)產(chǎn)品的智能設(shè)計。目前,基于知識工程的產(chǎn)品設(shè)計已逐漸成為CAD技術(shù)的發(fā)展方向,各設(shè)計單位和學(xué)者已在工程設(shè)計領(lǐng)域開展一系列研究。徐新明等基于CATIA V5對知識工程在凸輪建模和機(jī)床尾架設(shè)計中的應(yīng)用進(jìn)行了研究,發(fā)現(xiàn)該方法能在提高產(chǎn)品設(shè)計效率和質(zhì)量的同時,降低設(shè)計成本。孔慧敏等研究了CATIA V5知識工程在甲板支柱設(shè)計中的應(yīng)用,對基于知識工程的設(shè)計流程和設(shè)計方法進(jìn)行了梳理。肖賀等基于CATIA V6研究了知識工程規(guī)則設(shè)計方法在汽車零部件設(shè)計中的應(yīng)用,通過創(chuàng)建參數(shù)、公式和設(shè)計表等驅(qū)動模型,提升了設(shè)計的準(zhǔn)確性。趙廣偉等基于參數(shù)化和知識工程技術(shù)研究了CATIA V5在海洋平臺結(jié)構(gòu)設(shè)計中的應(yīng)用,該方法能大大提升海洋平臺設(shè)計的速度和效率。李研宇等采用自頂向下的參數(shù)化思想,基于CATIA平臺對汽車裝配過程中涉及到的知識進(jìn)行集成,有效提升了設(shè)計的智能化程度。吳棟臣基于CATIA平臺的二次開發(fā),研究了汽車雨刮器的參數(shù)化設(shè)計流程,有效縮短了項(xiàng)目周期,降低了項(xiàng)目成本。
隨著CATIA V6在三維設(shè)計中的應(yīng)用和推廣,國內(nèi)科研單位和學(xué)者對其在船舶設(shè)計領(lǐng)域的應(yīng)用進(jìn)行了初步探索??傮w來說,目前有關(guān)知識工程在船舶智能化設(shè)計和協(xié)同設(shè)計領(lǐng)域的應(yīng)用的研究還較少,其具體應(yīng)用場景還十分局限。在船舶輪機(jī)管路系統(tǒng)的初步設(shè)計和詳細(xì)設(shè)計階段,需通過布置閥件體現(xiàn)系統(tǒng)設(shè)計,并預(yù)留操作空間與其他專業(yè)協(xié)定空間布局。基于傳統(tǒng)的設(shè)計方法,設(shè)計人員首先需查閱手冊選型,然后進(jìn)行設(shè)備建模,最后單獨(dú)放置,該方法難以滿足隨系統(tǒng)設(shè)計更新而快速協(xié)同更新的場景需求。當(dāng)設(shè)計方案變更時,現(xiàn)有的三維軟件基本上采取在庫中選取新的模型調(diào)入替換的方式,而閥的種類繁多,采用該方法對庫進(jìn)行管理和使用的要求很高,操作繁瑣且效率較低。隨著設(shè)計主體復(fù)雜性的提升和設(shè)計過程的迭代,迫切需要采用更為高效、直觀的設(shè)計方法提升設(shè)計的便捷性和智能化。
綜上,本文基于CATIA知識工程工具,以上海某公司的蝶閥系列產(chǎn)品為研究對象,建立智能化閥件設(shè)計工具,實(shí)現(xiàn)不同場景下的蝶閥選型。本文提出的方法能規(guī)避查閱設(shè)計手冊,避免在修改過程中反復(fù)進(jìn)行人工核查,使設(shè)計過程更加方便快捷。
按照類型、驅(qū)動方式、閥體材料、結(jié)構(gòu)形式和公稱壓力等因素的不同,閥門可分為多種類型,如蝶閥、球閥、節(jié)流閥、柱塞閥、旋塞閥、止回閥和減壓閥等。以某設(shè)備公司的蝶閥系列產(chǎn)品為例,其閥體有11種型號,驅(qū)動頭有4種型號,而按照公稱壓力與公稱直徑的不同,每種型號閥體又可分為2~3種結(jié)構(gòu)形式??傊y件的種類、型號和規(guī)格繁多,這對庫的管理和使用提出了更高的要求。
本文基于CATIA的各項(xiàng)知識工程組件開展閥件的智能化設(shè)計。首先,利用工程模板實(shí)例化的機(jī)制實(shí)現(xiàn)快速布置,省去用戶調(diào)用設(shè)備小樣和定義裝配的工序。其次,使用UDF(User Defined Feature)封裝每型閥件的幾何,建立Resource-Table UDF庫。通過在工程模板中定義Knowledge Pattern語句初始化閥件和驅(qū)動頭構(gòu)成蝶閥模型。最后,配合使用Rule語句,提供控制參數(shù),使用戶能在限制條件內(nèi)人工進(jìn)行選型調(diào)整。閥件參數(shù)化設(shè)計技術(shù)路徑見圖1。
圖1 閥件參數(shù)化設(shè)計技術(shù)路徑
工程模板是CATIA中基于輸入幾何創(chuàng)建一個特定產(chǎn)品節(jié)點(diǎn)的知識工程工具。在本文所述案例中,蝶閥的輸入條件是管路或法蘭的外徑和蝶閥安裝的方向。因此,工程模板的輸入條件為圓(Circle1)和平面(Plane1),見圖2a。此外,閥體的規(guī)格D和驅(qū)動頭的規(guī)格d也作為輸入?yún)?shù),用于人工調(diào)整尺寸。根據(jù)工程模板的輸入條件初始化整體模型的骨架,并根據(jù)工程模板的輸入條件Circle1和Plane1確定后續(xù)驅(qū)動頭UDF和閥體UDF的輸入條件。閥體UDF的輸入條件為1個平面(Support面)、2個點(diǎn)(Top-PT點(diǎn)和MidPT點(diǎn)),而驅(qū)動頭UDF的輸入條件為2個平面(Support面和Plane1面)、1個點(diǎn)(MidPT點(diǎn)),見圖2b。
圖2 蝶閥工程模板的輸入條件與骨架初始化
UDF是CATIA中將一組建模過程封裝為一個(組)特征的知識工程組件,是將復(fù)雜的建模過程模塊化的主要實(shí)現(xiàn)途徑。在使用UDF時,僅需若干幾何或參數(shù)輸入即可得到封裝之后的復(fù)雜建模結(jié)果。
2.2.1 閥體UDF
閥體UDF的建模過程主要包括輸入條件、建立參數(shù)化草圖和發(fā)布UDF模型等步驟。
2.2.1.1 輸入條件
閥體UDF的輸入條件即是2.1節(jié)中定義的骨架模型中的Support面、Top-PT點(diǎn)和MidPT點(diǎn),確保工程模板生成之后的幾何能順利應(yīng)用于UDF的生成中。
2.2.1.2 建立參數(shù)化草圖
該步驟中的核心要素有2項(xiàng):
1) 使用規(guī)格表工具創(chuàng)建參數(shù)系列,當(dāng)切換參數(shù)表中的行數(shù)時,各參數(shù)會按該組合關(guān)系進(jìn)行切換;
2) 在繪制幾何草圖時,草圖的support應(yīng)基于UDF的輸入條件生成,同時草圖中的各項(xiàng)約束應(yīng)與規(guī)格表中的參數(shù)組成合理約束。
建立的參數(shù)表和參數(shù)化草圖分別見圖3和圖4。
圖3 建立的參數(shù)表
圖4 建立的參數(shù)化草圖
對于同一型號的蝶閥,可設(shè)置一個控制參數(shù),通過Rule語句將其與規(guī)格表建立聯(lián)系,實(shí)現(xiàn)同一型號不同規(guī)格蝶閥的切換。
2.2.1.3 發(fā)布閥體UDF模型
由于閥體結(jié)構(gòu)會隨通徑的不同而發(fā)生變化,例如通徑越大,閥芯加強(qiáng)筋就越多,而UDF的Output只能輸出1個對象,因此利用幾何變量的機(jī)制,采用Rule語句驅(qū)動規(guī)格表控制UDF最終輸出的對象。建立幾何變量Surface.1(當(dāng)規(guī)格表行數(shù)小于9時,Surface.1的值為Extract1;當(dāng)規(guī)格表行數(shù)大于等于9且小于20時,Surface.1的值為Extract2;當(dāng)規(guī)格表行數(shù)大于20時,Surface.1的值為Extract3),由此確保UDF的單一輸出對象,具體實(shí)現(xiàn)方法見圖5。
圖5 使用Rule驅(qū)動規(guī)格切換幾何
需注意,閥體UDF的生成結(jié)果不僅僅是閥體本身的幾何,還應(yīng)包含一些用于后續(xù)生成驅(qū)動頭的輸入條件的幾何元素。本文所述案例選取閥體頂平面(Surface-Top)和該平面上法蘭的圓心點(diǎn)(Origin-Proj)作為次要的發(fā)布對象,供驅(qū)動頭組件定位使用。輸出UDF的關(guān)鍵步驟見圖6。
圖6 輸出UDF的關(guān)鍵步驟
2.2.2 驅(qū)動頭UDF
驅(qū)動頭的建模過程與閥體相似。驅(qū)動頭UDF的輸入條件即是2.1節(jié)中定義的骨架模型中的Support面、Plane1面和MidPT點(diǎn)。需注意的是,相比閥體,驅(qū)動頭的幾何還會受安裝位置的影響,需要用戶人工進(jìn)行額外調(diào)整。此外,同樣需導(dǎo)入驅(qū)動頭規(guī)格表和創(chuàng)建參數(shù),并創(chuàng)建參數(shù)化的草圖。通過Rule語句實(shí)現(xiàn)驅(qū)動規(guī)格切換。由此定義完成驅(qū)動頭UDF。
2.3.1 Resource Table UDF庫
Resource Table是CATIA中將1個模型與若干資源產(chǎn)生關(guān)聯(lián)的知識工程組件,本文即基于該工具構(gòu)成一個局部資源庫,將2.2節(jié)中創(chuàng)建的若干類型的UDF分別存儲在其中。由于每項(xiàng)資源都可以是另外一個模型中的對象,因此組建該資源庫的工作可由多人協(xié)同完成。圖7為Resource Table的調(diào)用,將不同設(shè)計人員建立的各型號閥體(S460、S570、S600、S610、S640、S930、S940、S950、S960、S970和S980)和驅(qū)動頭(S48-M、S980-M、GearBox和HandLever)導(dǎo)入Resource Table中。
圖7 Resource Table的調(diào)用
2.3.2 Knowledge pattern調(diào)用UDF例程
Knowledge pattern是CATIA中需使用EKL編輯的一種特殊的執(zhí)行代碼,通過Knowledge pattern生成的對象能有效地與1個或若干個集合形成對應(yīng)關(guān)系,并能有效解決模型生成之后的更新問題。采用Knowledge pattern調(diào)用UDF的EKL語句見圖8。
圖8 閥體輸入條件獲取和類型切換
由圖8可知,Knowledge pattern主要通過CreateOrModifyTemplate語句,根據(jù)當(dāng)前節(jié)點(diǎn)中的控制參數(shù)(圖8中的”Valve type”)訪問Resource table中的UDF庫進(jìn)行選型。此外,通過SetAttributeObject和SetAttributeDimension語句為生成UDF提供自動化的輸入定義。在本文所述案例中,共需2段Knowledge pattern語句分別生成閥體和驅(qū)動頭。在第二段Knowledge pattern語句中,需使用find語句,基于生成的閥體檢索到Surface-Top和Origin-Proj對象,以此賦予驅(qū)動頭UDF的輸入。
將上述Resource table和Knowledge pattern等知識工程組件與骨架模型幾何一同封裝,實(shí)現(xiàn)完整的蝶閥工程模板定義(見圖9)。
圖9 將各項(xiàng)知識工程組件組合并一同定義為工程模板
建立的11種閥體和4種驅(qū)動頭UDF模型見圖10。通過工程模板實(shí)例化的參數(shù)化閥件見圖11。通過該方法可實(shí)現(xiàn)閥件的快速生成,且閥體與驅(qū)動頭類型可兩兩隨意組合,用戶僅通過確定閥件定位圓和定位平面即可進(jìn)行閥件的初始化布置。當(dāng)輸入幾何參數(shù)發(fā)生變化時,能使實(shí)例化的UDF對象一同得到修改,進(jìn)行規(guī)格調(diào)整。用戶也可直接采用手動修改UDF的方法,通過參數(shù)選擇(見圖11)實(shí)現(xiàn)閥件切換,實(shí)現(xiàn)閥件的快速變形設(shè)計。
圖10 建立的11種閥體和4種驅(qū)動頭UDF模型
圖11 通過工程模板實(shí)例化的參數(shù)化閥件
若所有閥件都是按該方案實(shí)現(xiàn)的,則每個零件都具備相同的數(shù)據(jù)結(jié)構(gòu),這使得批量布置和修改成為了可能。
限于篇幅,本文僅討論1類蝶閥產(chǎn)品的智能化設(shè)計。本文所述機(jī)制可推廣應(yīng)用至所有類型的閥、泵、電機(jī)和風(fēng)機(jī)等產(chǎn)品的智能化設(shè)計中。同時,用戶可通過增加輸入條件進(jìn)一步添加選型的EKL語句,形成智能選型的推薦方案。
本文組合運(yùn)用工程模板、UDF、Resource table和Knowledge-pattern等多項(xiàng)知識工程工具建立智能化閥件模型。雖然該閥件模型在使用時僅是單一獨(dú)立的零件,但其包含了所有的設(shè)計可能性,支持用戶后續(xù)不斷進(jìn)行修改。該方法在設(shè)計過程中只需使用單一模板,能極大地降低用戶在設(shè)計過程中反復(fù)核查設(shè)備資料的認(rèn)知負(fù)載,提高設(shè)計系統(tǒng)的可修改性和響應(yīng)速度。基于本文的架構(gòu)思路,可有效分解小樣模型的準(zhǔn)備工作,簡化其管理。對于船舶系統(tǒng),可利用CATIA知識工程將設(shè)計知識融合到設(shè)計過程中,極大地提高設(shè)計效率?;诒疚膶ATIA知識工程工具的應(yīng)用,主要得到以下結(jié)論:
1) 利用工程模板生成骨架+Knowledge pattern+UDF的機(jī)制,可自動創(chuàng)建任意一種裝配體,實(shí)現(xiàn)模型復(fù)現(xiàn),使設(shè)計過程更加方便快捷;
2) 利用Resource table+UDF的機(jī)制,可由多人協(xié)同完成一個產(chǎn)品簇的特殊小樣庫,多人協(xié)同的模式能有效提升設(shè)計效率;
3) 該方法的重要基礎(chǔ)是合理分解各環(huán)節(jié)的輸入條件和控制參數(shù);
4) 知識工程有多種組件可自由組合,可嘗試采用更多的方法實(shí)現(xiàn)智能化設(shè)計。