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