王 蕊,冉麗利,馬玉巖
(中國電建集團成都勘測設(shè)計研究院有限公司,四川 成都 610072)
CATIA是法國達索系統(tǒng)(DassaultSysteme)旗下的CAD/CAE/CAM一體化軟件,是目前市面上主流的BIM軟件之一,廣泛應(yīng)用于航空航天、汽車、船舶、機械制造行業(yè)。軟件從1981年到1988年相繼推出了V1、V2、V3、V4版本,1999推出V5版本,包含了基礎(chǔ)結(jié)構(gòu)、機械設(shè)計、形狀設(shè)計和設(shè)備與系統(tǒng)等諸多模塊,為用戶提供了近百個設(shè)計工具按鈕。2014年達索系統(tǒng)推出了3DEXPERIENCE(以下簡稱“3DE”)實現(xiàn)了3D設(shè)計、數(shù)據(jù)管理和流程管理,集成了達索系統(tǒng)系列軟件,包括:CATIA、ENOVIA,Solidorks,DELMIA,Simulia。3DE是CATIA軟件的一次迭代、是達索對旗下產(chǎn)品的一次整合。3DE包含了CATIA軟件的所有功能,采用了行業(yè)領(lǐng)先的ICEM曲面技術(shù),可以滿足用戶豐富且復(fù)雜的曲面造型需求,優(yōu)化了知識工程模塊,具有顯式知識、規(guī)則的特點,可捕捉設(shè)計意圖,將隱式經(jīng)驗、知識變成顯式的專業(yè)知識,極大提高設(shè)計智能化水平。
目前基于CATIA知識工程模塊,在不同的行業(yè)領(lǐng)域,眾多學(xué)者開展了大量研究。王艷真等[1]基于CATIAV6版本,通過分析船舶閥件設(shè)計特點,運用參數(shù)化設(shè)計和知識工程模塊工具,實現(xiàn)閥門模型的參數(shù)化驅(qū)動,提高了設(shè)計效率。張航等[2]利用CATIA知識工程技術(shù),在飛機結(jié)構(gòu)設(shè)計中,通過參數(shù)表、用戶特征、知識工程陣列等方式,實現(xiàn)了大量具有類似特征模型的批量生成和快速修改,為多個型號結(jié)構(gòu)快速建模和布置提供了新的解決思路。崔小建等[3]通過3DE采用裝配式思路,借助知識工程模塊結(jié)合二次開發(fā),建立了橋梁下部結(jié)構(gòu)模板管理系統(tǒng),實現(xiàn)橋梁下部結(jié)構(gòu)的快速建模,提高了專業(yè)設(shè)計效率,提升了產(chǎn)品質(zhì)量。補舒棋等[4]利用CATIA知識工程陣列和用戶自定義模板功能,實現(xiàn)了地下洞室群錨桿和防滲排水帷幕結(jié)構(gòu)模型的自動批量生成,提升設(shè)計人員建立錨桿和防滲排水模型效率。申振華等[5]通過CATIA知識工程模塊,采用參數(shù)化建模,快捷生成車輛設(shè)計中應(yīng)用廣泛的多狀態(tài)、各型號高精度板簧模型。
近年來,我國學(xué)者在提高建模效率和模型質(zhì)量的研究主要依托CATIA軟件的知識工程模塊,且多集中在船舶、航空、機械領(lǐng)域?;?DE在市政工程行業(yè)的應(yīng)用極少,現(xiàn)以市政工程中常見的圓形水池為例,通過知識工程模塊對圓形水池快速建模方法和專業(yè)工具按鈕創(chuàng)建展開了研究。
圓形水池是市政工程中一種常見的水池形式,應(yīng)用廣泛。傳統(tǒng)技術(shù)路線見圖1,用戶需要建立空間點、二維平面、繪制草圖輪廓,設(shè)置結(jié)構(gòu)尺寸,拉伸實體形成模型,水池基樁布置過程,元素環(huán)環(huán)相扣,步驟繁復(fù),難以滿足尺寸或布置修改,快速協(xié)同更新的應(yīng)用需求。其次,傳統(tǒng)三維建模過程中,調(diào)整模型位置的元素,修改結(jié)構(gòu)尺寸的參數(shù)都未外顯,隱藏在草圖和建模過程中,因命名或建模思路不同,這些元素的位置也各異,查找非常麻煩,因此傳統(tǒng)三維建模方法復(fù)用率低,模型位置和尺寸調(diào)整困難。
圖1 傳統(tǒng)技術(shù)路線
本文的技術(shù)路線是基于3DE,通過知識工程模塊,運用EKL語言編寫了可帶樁基礎(chǔ)的圓形水池Action,在KAC模塊對Action實施封裝,創(chuàng)建具有用戶交互界面的“圓形水池”工具按鈕,實現(xiàn)圓形水池模型快速生成,結(jié)構(gòu)參數(shù)修改便捷,“知識”的隱形管理顯性表達。
知識工程(KBE,KnowledgeBasedEngineering)最早由美國斯坦福大學(xué)的Feigenbaum教授提出,旨在利用經(jīng)驗、知識和人工智能,解決實際問題。核心是將學(xué)科知識、設(shè)計規(guī)范、標準、設(shè)計參數(shù)和經(jīng)驗融入軟件中,通過判斷和推理實現(xiàn)產(chǎn)品的智能設(shè)計。CATIA是最早引入知識工程設(shè)計的軟件之一[6]。
CATIA軟件提供了知識工程設(shè)計工作臺,包含:知識工程顧問(KnowledgeAdcisor)、知識工程專家(KnowledgeExpert)、產(chǎn)品知識模板(BusinessProcess KnowledgeTemplate)產(chǎn)品工程優(yōu)化設(shè)計(ProductEngineeringOptimization)、產(chǎn)品功能定義(Product FunctionDefinition)、產(chǎn)品功能優(yōu)化(ProductFunction Optimization)模塊。用戶通過以下工具,如:參數(shù)(Parameters)、關(guān)系(Relations)、公式(Formulas)、規(guī)則(Rules)、檢查(Checks)、反應(yīng)(Action)等來編輯、創(chuàng)建知識,通過模板文件來表達和應(yīng)用知識,常用的模板文件有用戶特征模板UDF(UserDefinedFeature)、超級拷貝(PowerCopy)等[7]。
3DE在CATIA知識工程的基礎(chǔ)上優(yōu)化、拓展了新的模塊,如:最佳實踐設(shè)計(KHC-QualityRules Designer)和應(yīng)用設(shè)計(KAC-DesignAppsDeveloper)。其中用戶可利用KAC模塊對模板、規(guī)則,以及設(shè)計步驟等進行封裝,該模塊提供了創(chuàng)建自定義工具按鈕和交互界面功能。
本次模型的創(chuàng)建,基于3DE采用骨架設(shè)計的思路,運用參數(shù)和EKL(企業(yè)知識工程語言)語言編寫“知識”,通過Action結(jié)合UDF(UserDefinedFeature)對“知識”進行表達和應(yīng)用,生成模型,最終在KAC模塊對生成模型的Action封裝,建立基于3DE的圓形水池工具按鈕。創(chuàng)建工具按鈕的技術(shù)路線見圖2。
圖2 技術(shù)路線
骨架設(shè)計是一種自上而下的設(shè)計方法,通過骨架元素驅(qū)動實體或零件之間的關(guān)聯(lián)關(guān)系,當(dāng)設(shè)計變更后,通過修改骨架元素即可實現(xiàn)模型快速更新。骨架設(shè)計具有驅(qū)動設(shè)計、協(xié)同設(shè)計、避免更新循環(huán)的特點。是設(shè)計人員進行設(shè)計參考和定位參考的重要基準,常用的骨架元素包括:點、線、面、軸等。
骨架設(shè)計理念是讓結(jié)構(gòu)只與骨架元素發(fā)生關(guān)聯(lián),這樣能讓整個建模邏輯關(guān)系扁平,適用于模板模型建立,能提高模板的適應(yīng)性。
比較復(fù)雜的圓形水池結(jié)構(gòu)構(gòu)成常包括池底、池壁、走道板、集渣井、配水井、基樁等部分。結(jié)構(gòu)的定位均以池底中心點為基準,骨架元素即為水池定位點。見圖3。
圖3 骨架設(shè)計架構(gòu)
確定了圓形水池模型骨架元素,通過設(shè)置結(jié)構(gòu)參數(shù),控制池底、池壁、走道板、集渣井、配水井及基樁的輪廓。參數(shù)的設(shè)置方便后期對模型結(jié)構(gòu)尺寸快速修改。
(1)水池體型參數(shù):R1-水池內(nèi)徑、R2-配水井內(nèi)徑、R3-集渣井內(nèi)徑、H1-池壁高度、H2-配水井高度、H3-集渣井高度、W1-走道板寬度、W2-底板外挑寬度、W3-配水井頂板寬度、t1-底板厚度、t1-a-集渣井底板厚度、t2-池壁厚度、t2-a-集渣井池壁厚度、t2-b-配水井壁厚、t3-走道板厚度、t3-a-配水井頂板厚度、底板坡度θ。具體水池體型參數(shù)見圖4。
圖4 水池體型參數(shù)
(2)基樁布置參數(shù):Rz-樁半徑、L-樁長度、PR-樁定位半徑、θz-定位樁角度,n-每一圈樁個數(shù)。見圖5。
圖5 基樁布置參數(shù)
模型創(chuàng)建采用知識工程模塊Anction方式,根據(jù)結(jié)構(gòu)特點,結(jié)合運用UDF和EKL語言。
EKL是達索官方編寫的一種解釋性企業(yè)知識工程語言,其特點是語法面向?qū)ο?,可調(diào)用對象、規(guī)則具有可拓展性。
UDF是3DE建模過程封裝為一個(組)特征的知識工程組件,將復(fù)雜的建模過程模塊化的主要實現(xiàn)途徑。使用UDF時,僅需若干幾何元素和參數(shù)輸入即可得到建模結(jié)果[1]。
(1)水池體型建模。水池體型的結(jié)構(gòu)參數(shù)具有確定性,且值唯一,參數(shù)之間無關(guān)聯(lián)關(guān)系,適合采用UDF方法建立。模板輸入為水池定位點,輸出包括水池體型和水池底部曲面,后者將作為基樁模型布置的基準面,是生成樁模型的輸入元素。
(2)基樁布置建模。樁布置在水池底部曲面,定位樁位置的參數(shù)具有不確定性,且參數(shù)之間存在邏輯關(guān)系。使用EKL編輯循環(huán)語句,輸入N個定位樁夾角θz和定位樁半徑PR;其次定義每一圈樁個數(shù)n。由以上參數(shù)共同生成水池底部所有樁的定位點,結(jié)合樁參數(shù)調(diào)用UDF模板生成樁模型。建模技術(shù)路線見圖6。
圖6 基樁建模技術(shù)路線
水池體型和樁模型生成存在先后順序,需先通過EKL語言調(diào)用水池模板,生成包括水池體型和水池底部曲面,后者是樁模型布置基準面,是生成樁定位點的輸入元素。因此需通過EKL語言來組織邏輯關(guān)系,實現(xiàn)整個模型的生成。整個模型生成的技術(shù)路線見圖7。
圖7 建模技術(shù)路線
通過Action實現(xiàn)了模型的生成,但在使用時,Action命令會暴露EKL語句,不利于“知識”的保護。其次,結(jié)構(gòu)參數(shù)無圖例補充說明,參數(shù)指向不明確,用戶體驗感差,不利于建模方法的推廣和普及。Action運用界面見圖8。
圖8 Action運用界面
為解決以上問題,基于CATIA軟件,能通過二次開發(fā),實現(xiàn)“知識”封裝,生成工具按鈕。CATIA主要提供了兩種二次開發(fā)接口:自動化對象編程(V5Automation)和開放的基于構(gòu)件的應(yīng)用編程接口(CAA)。
組件應(yīng)用架構(gòu)(ComponentApplicationArchitectureCAA)是產(chǎn)品擴展和定制開發(fā)平臺,能實現(xiàn)深層次的二次開發(fā)需求,需要用戶掌握VisualC++語言,了解軟件連接端口等方面知識,應(yīng)用門檻較高[7]。
自動化對象編程(V5Automation),采用Visual Basic6.0(簡稱VB)對CATIA進行二次開發(fā),VB語言具有簡單、易用、可視化的特點。Automation是通過VB調(diào)用CATIA提供的豐富類、庫、二次開發(fā)函數(shù),實現(xiàn)交互方法的定制開發(fā)。Automation簡單易學(xué),能滿足大部分的工程應(yīng)用需求[7]。
基于Automation在CATIA平臺能實現(xiàn)圓形水池Action的封裝,并生成工具按鈕,但無法設(shè)計和創(chuàng)建工具按鈕的交互界面,用戶若要對結(jié)構(gòu)參數(shù)進行修改,只能修改VB相關(guān)語句,使用便捷性差。
為了解決工具按鈕交互界面創(chuàng)建問題,為用戶提供更友好,便捷的參數(shù)填寫、修改界面,3DE提供了KAC模塊,對知識工程中的關(guān)系(Relations)、公式(Formulas)、規(guī)則(Rules)、檢查(Checks)、反應(yīng)(Action)等“知識”語句進行封裝,創(chuàng)建工具按鈕,根據(jù)用戶需求,自定義工具按鈕的交互界面。具體流程見圖9。
圖9 Action封裝流程
(1)用戶交互界面設(shè)計:在KAC模塊使用“布局設(shè)計”對工具交互界面進行設(shè)計和預(yù)覽。
(2)按鈕驅(qū)動設(shè)置:KAC模塊使用“知識工程項目”將用戶交互界面按鈕與UDF模板和參數(shù)關(guān)聯(lián)。
(3)工具按鈕創(chuàng)建:完成界面設(shè)計和按鈕驅(qū)動設(shè)置后存儲至“應(yīng)用程序包”,通過“應(yīng)用程序和命令”創(chuàng)建工具按鈕,工具按鈕的圖例,放置的模塊位置都可自定義。
為測試工具按鈕的實際效果,選取污水處理廠中常用的初沉池和二沉池,分別作為復(fù)雜圓形水池與簡單圓形水池樣例進行測試。
某初沉池直徑50m,高10.8m,底板斜率1/12,水池中部設(shè)有配水井,水池底部有集渣井,水池采用樁基礎(chǔ)形式,共布置有樁基9圈,水池結(jié)構(gòu)較為復(fù)雜。水池剖面見圖10。
圖10 水池剖面示意(單位:mm)
采用本文建立的工具按鈕進行模型創(chuàng)建,在用戶使用界面下,分別輸入水池體型基樁等各項結(jié)構(gòu)參數(shù),形成模型見圖11。
圖11 復(fù)雜圓形水池模型
某二沉池直徑50m,高6.265m,內(nèi)部無配水井,底部無集渣井,底板水平,水池下部為天然地基,水池結(jié)構(gòu)相對簡單。水池剖面見圖12。
圖12 水池剖面示意(單位:mm)
采用本文建立的工具按鈕進行模型創(chuàng)建,在用戶使用界面下,分別輸入各項結(jié)構(gòu)參數(shù),形成模型見圖13。
圖13 簡單圓形水池模型
以上測試成果表明,不論復(fù)雜圓形水池或是簡單圓形水池,本文研究創(chuàng)建的設(shè)計工具按鈕均能夠適應(yīng)。其具有友好的工具按鈕交互界面,可以高效、快速地形成高質(zhì)量模型,極大提高尺寸修改效率,對工程前期方案比選、輔助科學(xué)決策具有重要價值。
基于3DE的傳統(tǒng)建模方法,過程繁瑣、重要參數(shù)不外顯示、修改麻煩、模型復(fù)用率低。本文基于3DE,使用了知識工程和KAC兩個模塊,采用骨架設(shè)計思路,結(jié)合Action、UDF、EKL語言創(chuàng)建、應(yīng)用“知識”,在KAC模塊對“知識”進行封裝,新建具有用戶交互界面的專業(yè)設(shè)計工具按鈕?;诒疚哪P秃凸ぞ甙粹o創(chuàng)建、應(yīng)用研究,總結(jié)如下:
(1)利用知識工程模塊,采用EKL語言編寫“知識”,通過Action和UDF表達“知識”的模型創(chuàng)建方法。滿足了不同結(jié)構(gòu)形式,參數(shù)邏輯較為復(fù)雜的建模需求,極大地提高了模型創(chuàng)建效率,提升了模型質(zhì)量。
(2)KAC模塊對“知識”封裝,可將設(shè)計規(guī)范、企業(yè)標準和用戶經(jīng)驗融入設(shè)計的過程中,對“知識”進行隱形管理,顯性表達,實現(xiàn)知識的保護、重用和共享。
(3)KAC模塊創(chuàng)建工具按鈕交互界面的功能,大大降低了二次開發(fā)成本,為不具備二次開發(fā)能力的工程設(shè)計人員提供了新建自定義工具按鈕的途徑,讓用戶使用更加便捷,有利于專業(yè)三維設(shè)計工具的推廣和普及。
本文建模和工具按鈕的創(chuàng)建方法可擴展至其他市政結(jié)構(gòu)設(shè)計場景中,企業(yè)可打造基于3DE具有自主知識產(chǎn)權(quán)的專業(yè)設(shè)計工具集,提升專業(yè)三維設(shè)計的智能化水平,對3DE在市政行業(yè)的推廣和普及具有借鑒意義。