陳 明, 胡世德
(1. 上海應(yīng)用技術(shù)學(xué)院城市建設(shè)與安全工程學(xué)院,上海 200235;2. 同濟(jì)大學(xué)橋梁系,上海 200092)
參數(shù)化建模方法是橋梁CAD系統(tǒng)研究的一個(gè)熱點(diǎn),是支持設(shè)計(jì)全過程的有效途徑。參數(shù)化建模使工程師不必深入到設(shè)計(jì)的細(xì)節(jié)中,而僅僅需要盡快完成草圖繪制,形成設(shè)計(jì)雛形,然后在未來的工作中通過某些參數(shù)的改變來更新設(shè)計(jì)。參數(shù)化設(shè)計(jì)極大的改善了圖形的修改手段,提高了設(shè)計(jì)的柔性,在概念設(shè)計(jì),動(dòng)態(tài)設(shè)計(jì),實(shí)體造型、裝配、優(yōu)化設(shè)計(jì)等方面體現(xiàn)出了很高的應(yīng)用價(jià)值[1]。
目前國內(nèi)外已經(jīng)形成了許多參數(shù)化建模方法[2-8],例如基于幾何約束的變量幾何法、基于幾何推理的人工智能法、基于輔助線法、基于構(gòu)造過程的構(gòu)造法等。這些方法大多可以處理幾何范圍內(nèi)約束的表達(dá)和從草圖到最終模型的推理問題。但是,這些傳統(tǒng)的參數(shù)化設(shè)計(jì)方法都是從原有設(shè)計(jì)中提取一些主要的變形、定位或裝配尺寸作為自定義變量,在修改這些尺寸的同時(shí)由一些幾何公式計(jì)算出其它的參數(shù)的變化量,最終得到所需的設(shè)計(jì)產(chǎn)品。這些方法中存在著比較明顯的缺陷:
(1)自定義變量之間相互獨(dú)立,不便建立任何函數(shù)關(guān)系,也不便對每個(gè)變量施加約束,這樣就不能保證驅(qū)動(dòng)后模型拓?fù)浣Y(jié)構(gòu)不變。
(2)不具備邏輯判斷的能力,由于橋梁過程中包含很多邏輯判斷,對不同的前提有不同的處理方式,而當(dāng)前的參數(shù)化方法不能包含邏輯的設(shè)計(jì)知識,參數(shù)驅(qū)動(dòng)能力受到很大的限制。
(3)設(shè)計(jì)變量只能顯式表示。橋梁設(shè)計(jì)中表示一種約束關(guān)系的變量既可以顯式表示,也可以隱式表示,并且在實(shí)際設(shè)計(jì)中隱式表示的約束占有相當(dāng)?shù)臄?shù)量,用當(dāng)前參數(shù)化方法只能對變量進(jìn)行顯式約束,對隱式約束無法處理。
本文針對現(xiàn)有參數(shù)化方法的這些不足,結(jié)合鋼筋混凝土橋梁設(shè)計(jì)的特點(diǎn),把領(lǐng)域知識引入到橋梁參數(shù)化建模過程中,提出了一種基于領(lǐng)域知識的橋梁參數(shù)化建模方法。該方法具有知識表達(dá)能力強(qiáng),參數(shù)化驅(qū)動(dòng)方式多樣的特點(diǎn),實(shí)現(xiàn)了設(shè)計(jì)知識與現(xiàn)有參數(shù)化技術(shù)的融合。
橋梁設(shè)計(jì)過程中,同樣的構(gòu)件可以通過不同的結(jié)構(gòu)約束和尺寸約束組成具有不同結(jié)構(gòu)特征的設(shè)計(jì)案例。目前常用的參數(shù)化圖形軟件,如AutoCAD,在繪圖過程中也指出了圖形元素之間的幾何約束關(guān)系,如平行、垂直等,但求解后只保留幾何圖素的具體坐標(biāo)而沒有將它們的關(guān)系明確存儲,因而,結(jié)構(gòu)信息本身是不完全的,其工程意義必須人為確定,所以不能支持模型的智能化變動(dòng)。為了解決這一問題,本文設(shè)計(jì)了如圖1所示的基于知識的橋梁參數(shù)化建模系統(tǒng)原型。
圖1 系統(tǒng)模型
該系統(tǒng)由圖形用戶界面、接口模塊、存儲系統(tǒng)和核心系統(tǒng)四個(gè)部分組成。用戶界面是設(shè)計(jì)參與者與系統(tǒng)交流的通道,是用戶使用系統(tǒng)完成一種或多種操作所需要的一系列工具的有機(jī)組合。接口模塊是通用 CAD系統(tǒng)(AutoCAD、ProEngineer等)和結(jié)構(gòu)分析系統(tǒng)(Ansys、Adina等)等商用軟件進(jìn)行信息交互的通道,接口模塊是一個(gè)可擴(kuò)展部件,用戶可以根據(jù)自身的需要對接口系統(tǒng)進(jìn)行必要的修改。存儲系統(tǒng)包括幾何約束庫、設(shè)計(jì)約束庫和工程數(shù)據(jù)庫,它們分別存儲幾何約束知識、設(shè)計(jì)約束知識和工程數(shù)據(jù)。核心系統(tǒng)實(shí)現(xiàn)基于知識的參數(shù)化建模,主要模塊有命令解析器和圖形生成器組成,前者負(fù)責(zé)對用戶命令進(jìn)行解析,生成圖形變動(dòng)數(shù)據(jù)流,后者使用數(shù)據(jù)變動(dòng)數(shù)據(jù)流繪制目標(biāo)圖形。
知識是人類通過實(shí)踐認(rèn)識到的客觀世界的規(guī)律,知識處理有知識表達(dá)、知識獲取和知識推理三個(gè)關(guān)鍵環(huán)節(jié)。
知識表達(dá)是在參數(shù)化設(shè)計(jì)系統(tǒng)中處于核心地位,它即是知識學(xué)習(xí)與獲取的基礎(chǔ)又是知識記憶、處理與利用的前提。目前常用的知識表達(dá)模型有產(chǎn)生式規(guī)則、語義網(wǎng)絡(luò)、框架等。不同的應(yīng)用領(lǐng)域需要不同的知識表達(dá)方式,判斷一種知識表達(dá)方式的優(yōu)劣主要依據(jù):表達(dá)能力是否充分,管理和維護(hù)是否便利,應(yīng)用是否簡單等方面??紤]到土木工程設(shè)計(jì)的特殊性,采用面向?qū)ο蟮脑O(shè)計(jì)方法,把構(gòu)件和約束定義為類,參數(shù)定義為類的屬性,參數(shù)和規(guī)則的調(diào)用方式定義為類,同時(shí)要?jiǎng)?chuàng)建不同類之間的關(guān)聯(lián)和繼承結(jié)構(gòu)。圖2是知識表達(dá)模型的UML類圖。
圖2 知識表達(dá)模型
2.1.1 構(gòu)件
構(gòu)件是工程師所能設(shè)計(jì)的最小單元,構(gòu)件由幾何特性、材料特性、截面特性、設(shè)計(jì)知識等屬性組成,構(gòu)件集記為C。
2.1.2 約束知識
約束知識指設(shè)計(jì)模型中構(gòu)件間的裝配方式,約束知識集記為R,約束知識劃分為本原約束Ra和設(shè)計(jì)約束Rd, R =Ra∪ Rd。本原約束描述構(gòu)件的本質(zhì)和構(gòu)件之間的幾何關(guān)聯(lián),例如共線、(延伸)相交等;設(shè)計(jì)約束描述橋梁設(shè)計(jì)知識對構(gòu)件間的約束,一般都來源于規(guī)范,例如;“樁基承臺的高度宜為樁直徑的 1.0~2.0倍,且不小于1.5米”。
2.1.3 結(jié)構(gòu)
結(jié)構(gòu)是具有工程意義的實(shí)體,是工程師設(shè)計(jì)思想在設(shè)計(jì)過程中的表現(xiàn),結(jié)構(gòu)由n個(gè)構(gòu)件組成(n≥1)和m個(gè)約束組成(m≥1),由單個(gè)構(gòu)件組成的結(jié)構(gòu)稱為單元結(jié)構(gòu),由多個(gè)構(gòu)件組成的結(jié)構(gòu)稱為多元結(jié)構(gòu)。多元結(jié)構(gòu)中的構(gòu)件ci稱為頂點(diǎn),兩個(gè)頂點(diǎn)之間的連線ri稱為約束,需要說明的是此處的約束定義為無向約束。如果把結(jié)構(gòu)記為S, 則S可以描述為: S =( C,{R})。
定義 1 結(jié)構(gòu)系數(shù)矩陣 結(jié)構(gòu)系數(shù)矩陣是構(gòu)件間的約束在計(jì)算機(jī)中的表現(xiàn)形式,結(jié)構(gòu)系數(shù)矩陣計(jì)為 X =[xij]n×n,當(dāng)構(gòu)件ci和構(gòu)件cj能夠通過約束rk構(gòu)成結(jié)構(gòu)時(shí),xij=1。記構(gòu)件ci和構(gòu)件cj通過約束rk組成的新結(jié)構(gòu)為sikj。所有構(gòu)件組成的結(jié)構(gòu)稱為全結(jié)構(gòu),全結(jié)構(gòu)也就是參數(shù)化建模的最終結(jié)果,全結(jié)構(gòu)計(jì)為S。
對于結(jié)構(gòu)來說有兩點(diǎn)需要說明:
(1)? rk: R · xij=1,對于顯示結(jié)構(gòu)中存在的任何一個(gè)約束都有構(gòu)件與之關(guān)聯(lián)。
(2)? c: C · xk=1,任何一個(gè)構(gòu)件都iij有與其相關(guān)的另一個(gè)構(gòu)件和一個(gè)約束。這一點(diǎn)表明鋼筋混凝土連續(xù)梁結(jié)構(gòu)中不存在孤立構(gòu)件,同時(shí)也是保證所有構(gòu)件能夠組裝成結(jié)構(gòu)的前提。
鋼筋混凝土連續(xù)梁橋的有限元建模過程是一個(gè)伴隨著模型設(shè)計(jì)的約束滿足的過程,其設(shè)計(jì)結(jié)果是滿足一定知識約束的空間三維結(jié)構(gòu)。在設(shè)計(jì)過程中,約束求解是設(shè)計(jì)的一個(gè)顯著特征,因?yàn)樗械脑O(shè)計(jì)要求與限制都可被看成對變量的約束,而設(shè)計(jì)的目標(biāo)是使最終的設(shè)計(jì)結(jié)果滿足所有的約束條件。鋼筋混凝土連續(xù)梁橋約束知識主要通過知識轉(zhuǎn)換,也就是把知識從一個(gè)知識源轉(zhuǎn)移到另一個(gè)知識源,同時(shí)改變知識的表示形式。
前文把約束劃分為本原約束和設(shè)計(jì)約束兩類,本原約束所關(guān)注的對象是幾何圖形的屬性和其本身的屬性,設(shè)計(jì)約束所關(guān)注的對象是功能屬性,從設(shè)計(jì)的全過程看,它們之間相對獨(dú)立。但事實(shí)上設(shè)計(jì)約束只有轉(zhuǎn)化為本原約束才能最終在設(shè)計(jì)模型中得到體現(xiàn),從而實(shí)現(xiàn)設(shè)計(jì)意圖。為了方面實(shí)現(xiàn),作者把設(shè)計(jì)約束轉(zhuǎn)換為本原約束處理(通過知識映射實(shí)現(xiàn)),同時(shí)把本原約束劃分為構(gòu)件屬性約束和構(gòu)件裝配約束兩類,并設(shè)計(jì)了構(gòu)件和構(gòu)件裝配兩種模版,約束知識獲取的過程事實(shí)上就是把現(xiàn)有知識按照模版的形式重新描述。
2.2.1 構(gòu)件模版
構(gòu)件模版描述構(gòu)件的固有屬性,例如起點(diǎn)、終點(diǎn)、材料特性、截面特性等,定義為如下形式
2.2.2 構(gòu)件裝配模板
構(gòu)件裝配是構(gòu)件組成結(jié)構(gòu)的基礎(chǔ),描述了構(gòu)件之間的組合關(guān)聯(lián),例如:“主梁和支座相交”。構(gòu)件裝配模板的定義如下:
構(gòu)件模版和構(gòu)件裝配模版中:
2.2.3 設(shè)計(jì)約束與本原約束的映射
橋梁設(shè)計(jì)約束一般指設(shè)計(jì)規(guī)范約束。橋梁設(shè)計(jì)約束不能直接對模型進(jìn)行參數(shù)化驅(qū)動(dòng),只有轉(zhuǎn)化為本原約束才能在設(shè)計(jì)模型中得以體現(xiàn)。為了使系統(tǒng)能直接處理設(shè)計(jì)約束,必須在二者之間建立一個(gè)關(guān)聯(lián),保證當(dāng)設(shè)計(jì)參數(shù)發(fā)生變化時(shí),幾何參數(shù)將自動(dòng)發(fā)生相應(yīng)的變化,以實(shí)現(xiàn)控制。設(shè)計(jì)約束與本原約束的映射目前是通過人機(jī)交互引入到系統(tǒng)中的。
規(guī)范是設(shè)計(jì)的重要依據(jù),它規(guī)定了設(shè)計(jì)結(jié)果除了要滿足功能需求外,還需要滿足的一般要求,在模型設(shè)計(jì)中的主要作用是指導(dǎo)參數(shù)化驅(qū)動(dòng)。設(shè)計(jì)規(guī)范的主要表現(xiàn)形式是規(guī)范條文約束。橋梁設(shè)計(jì)規(guī)范條文約束一般可以描述為邏輯判斷的形式,例如《公路鋼筋混凝土及預(yù)應(yīng)力混凝土橋涵設(shè)計(jì)規(guī)范》中規(guī)定“鋼筋混凝土 T形、I形截面簡支梁標(biāo)準(zhǔn)跨徑不宜大于 16m”,可以描述為:
<主梁>::=<鋼筋混凝土標(biāo)準(zhǔn)跨徑><起點(diǎn)><終點(diǎn)>
規(guī)范中除了條文約束外還有圖表約束、數(shù)據(jù) 表約束、和公式約束,例如《公路鋼筋混凝土及預(yù)應(yīng)力混凝土橋涵設(shè)計(jì)規(guī)范》中的表5.1.6、圖6.1.7和公式 8.4.1-3。 這三類約束以簡單直觀的形式規(guī)定了橋梁設(shè)計(jì)所必須滿足的一般要求,它們與規(guī)范條文的區(qū)別僅僅在于表現(xiàn)形式不同,所以在參數(shù)化驅(qū)動(dòng)中,作者把這三類約束轉(zhuǎn)化為規(guī)范條文約束統(tǒng)一處理。
橋梁參數(shù)化驅(qū)動(dòng)的目標(biāo)是在參數(shù)化驅(qū)動(dòng)過程中,用戶無需干預(yù),由系統(tǒng)根據(jù)現(xiàn)有知識對整個(gè)約束集進(jìn)行分析和求解,使工作過程簡單化,以期有效縮短設(shè)計(jì)周期提高設(shè)計(jì)效率,實(shí)施參數(shù)化驅(qū)動(dòng)的核心是知識推理。
2.3.1 橋梁設(shè)計(jì)模型的數(shù)據(jù)結(jié)構(gòu)
橋梁結(jié)構(gòu)可以采用鄰接表的形式進(jìn)行存儲,在鄰接表中,對每一個(gè)組成結(jié)構(gòu)的每一個(gè)構(gòu)件建立一個(gè)單鏈表,第i個(gè)單鏈表中的構(gòu)件表示與構(gòu)件i有關(guān)的約束。每一個(gè)構(gòu)件由4個(gè)域組成:title表示構(gòu)件名稱;attribute為指向構(gòu)件屬性的指針域;firstarc為指向與該構(gòu)件存在約束關(guān)系的第一個(gè)構(gòu)件的指針域;restrict表示當(dāng)前構(gòu)件與基本構(gòu)件(首構(gòu)件)的約束關(guān)系,每一個(gè)單鏈表的表頭構(gòu)件的約束為NULL。結(jié)構(gòu)鄰接表可以采用如下結(jié)構(gòu)定義。
2.3.2 橋梁組裝算法
橋梁組裝是根據(jù)已經(jīng)輸入的構(gòu)件和約束關(guān)系,構(gòu)建橋梁存儲結(jié)構(gòu)的過程,該過程的核心是鄰接表的生成,其算法基本步驟如圖3所示。
圖3 橋梁組裝算法
如果橋梁結(jié)構(gòu)中有n個(gè)構(gòu)件,e個(gè)約束,則生成的鄰接表需要n個(gè)構(gòu)件頂點(diǎn)和 2e個(gè)構(gòu)件表節(jié)點(diǎn)。由于鋼筋混凝土連續(xù)梁橋構(gòu)件之間的關(guān)系簡潔,所用使用鄰接表結(jié)構(gòu)對其進(jìn)行描述和存儲將節(jié)省大量的存儲空間。
2.3.3 橋梁智能變動(dòng)算法
橋梁參數(shù)化設(shè)計(jì)過程中能夠?qū)崿F(xiàn)從草圖到預(yù)定設(shè)計(jì)目標(biāo)的一系列轉(zhuǎn)換,并且可以維持構(gòu)件間的基于知識的設(shè)計(jì)約束,實(shí)現(xiàn)這一過程的算法稱為智能變動(dòng)算法。橋梁智能變動(dòng)算法是從現(xiàn)有的基于參數(shù)化技術(shù)的算法中發(fā)展而來,是參數(shù)化設(shè)計(jì)的高級形式。智能變動(dòng)算法具有柔性可變特性,能夠在設(shè)計(jì)過程中記錄下設(shè)計(jì)過程的設(shè)計(jì)目標(biāo)和約束,能夠應(yīng)用設(shè)計(jì)知識,通過系統(tǒng)提供的機(jī)制,實(shí)現(xiàn)設(shè)計(jì)參數(shù)修改時(shí)設(shè)計(jì)模型的智能化變動(dòng),從而更好的支持橋梁設(shè)計(jì)。
(1)設(shè)計(jì)原則
智能變動(dòng)算法的設(shè)計(jì)是由所要解決問題的特點(diǎn)以及知識的表達(dá)方式來決定的。這里提出采用約束知識滿足與變動(dòng)導(dǎo)向相結(jié)合的變動(dòng)機(jī)制實(shí)現(xiàn)參數(shù)化建模的智能變動(dòng)模型。在該模型中,變動(dòng)算法根據(jù)設(shè)計(jì)者提供事實(shí),在知識庫中選用合適的規(guī)則,逐步求解。
在系統(tǒng)的智能變動(dòng)推理過程中,當(dāng)問題滿足知識的前提時(shí),就可繼承知識的結(jié)論,如沒有可用的知識,就同設(shè)計(jì)者繼續(xù)對話得到更多信息,以找到可用的知識。如果知識庫中只有一個(gè)規(guī)則可用,就選用該規(guī)則,如有若干規(guī)則,怎樣盡快地找到可用規(guī)則,是一個(gè)控制策略問題。系統(tǒng)的規(guī)則庫在結(jié)構(gòu)組織上是不平行設(shè)置,每個(gè)規(guī)則的優(yōu)先等級不同。例如,規(guī)范中的條文有“必須”,“宜”等不同程度的語氣,它們的優(yōu)先級各不相同。
(2)實(shí)施算法
智能變動(dòng)的過程事實(shí)上也是整個(gè)結(jié)構(gòu)在變動(dòng)需求的驅(qū)動(dòng)下,逐步實(shí)現(xiàn)約束滿足的過程,其算法流程如圖4所示。
圖4 智能變動(dòng)算法
某6×70m(PM34~PM40)預(yù)應(yīng)力混凝土連續(xù)梁橋,需進(jìn)行抗震分析。該連續(xù)梁橋,主梁截面形式為單箱單室,上緣寬 16m,下緣寬 7m;橋墩為薄壁空心墩,高度為25m~32.5m,PM37墩頂設(shè)固定支座,其它墩墩頂設(shè)縱向滑動(dòng)支座,各墩墩頂橫向均固定;基礎(chǔ)采用直徑為 1.2m的鋼管樁。
在抗震分析中,該預(yù)應(yīng)力混凝土連續(xù)梁橋可以離散化為主梁、橋墩、樁等單元,各構(gòu)件可以描述為以下形式:
以反應(yīng)譜分析為例,構(gòu)件約束包含主梁與橋墩的約束,橋墩與樁基的約束,以主梁與PM34的約束和PM34與Z1的約束為例,可以描述為以下形式:
根據(jù)以上的構(gòu)件列表和構(gòu)件約束,應(yīng)用2.3.2模型如圖5所示。提出的橋梁組裝算法,完成的初始橋梁抗震分析
圖5 抗震分析初始模型
由于設(shè)計(jì)變更,橋梁抗震分析模型需進(jìn)行完成兩項(xiàng)變更:其一,支座抬高50mm;其二,所有鋼管樁均轉(zhuǎn)換為斜樁,其在平面內(nèi)與橋墩的夾角為15°。根據(jù)以上兩項(xiàng)變動(dòng),主梁與橋墩的約束,橋墩與樁基的約束變更為如下形式(以主梁與PM34的約束和PM34與Z1的約束為例,其中黑體為變動(dòng)部分)。
根據(jù)以上變動(dòng)約束,應(yīng)用2.3.3 節(jié)提出的橋梁智能變動(dòng)算法,初始橋梁抗震分析模型可以修改為圖6所示。
圖6 抗震分析變動(dòng)模型
圖7是傳統(tǒng)建模方法與基于知識的建模方法在預(yù)應(yīng)力混凝土連續(xù)梁橋抗震分析建模中應(yīng)用的綜合建模時(shí)間分析。
圖7 建模時(shí)間分析圖
圖7采用傳統(tǒng)建模方法和基于知識的建模方法對建模耗費(fèi)時(shí)間進(jìn)行了對比。左側(cè)為3座復(fù)雜度不同的橋梁的單次建模時(shí)間對比,右側(cè)為同一座橋梁經(jīng) 10次修改的建模時(shí)間對比。從該圖中可以得到以下結(jié)論:
· 對于復(fù)雜度不同的橋梁,單次建模傳統(tǒng)方法比基于知識的方法更加有效,但是采用基于知識的建模方法所耗費(fèi)的時(shí)間隨橋梁復(fù)雜度的增大,其增幅有下降的趨勢。
· 對于同一座橋梁,傳統(tǒng)建模方法的建模時(shí)間與模型修改的幅度大小有關(guān),修改幅度越大,耗費(fèi)的建模時(shí)間越長,甚至可能超過重建模型的時(shí)間;基于知識的建模方法對模型修改的幅度不敏感,主要取決于計(jì)算機(jī)的運(yùn)行時(shí)間,這一點(diǎn)在知識庫內(nèi)容極度豐富的情況下表現(xiàn)尤其明顯。
[1]Sehyun Myung, Soonhung Han. Knowledge-based parametric design of mechanical products based on configuration design method [J]. Expert Systems with Applications, 2001, 21(2): 99-107.
[2]Stephanie M Pickle, Timothy J Robinson, Jeffrey B Birch, et al. A semi-parametric approach to robust parameter design [J]. Journal of Statistical Planning and Inference, 2008, 138(1): 114-131.
[3]Chih-Hsing Chu, Mu-Chi Song, Vincent C S Luo.Computer aided parametric design for 3D tire mold production [J]. Computers in Industry, 2006, 57(1):11-25.
[4]Charlie C, Wang L. Parameterization and parametric design of mannequins [J]. Computer-Aided Design,2005, 37(1): 83-98.
[5]程 才, 王啟付. 基于知識的三維參數(shù)化建模方法研究[J]. 機(jī)械科學(xué)與技術(shù), 2003, 22(6): 1049-1052.
[6]龔亞琦, 劉小虎, 楊文兵. 基于ANSYS 的橋梁參數(shù)化建模[J]. 中南公路學(xué)報(bào), 2006, 31(4): 71-79.
[7]陸國棟, 吳中奇, 黃長林. 基于知識表達(dá)的參數(shù)化尺寸標(biāo)注機(jī)理研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)學(xué)報(bào), 1996,19(4): 270-276.
[8]張 氫, 盧耀祖, 高順平. 基于知識的產(chǎn)品級參數(shù)化虛擬設(shè)計(jì)的可重用性研究[J]. 中國機(jī)械工程,2003, 14(20): 1753-1756.