陳 明, 胡世德
(1. 上海應用技術學院城市建設與安全工程學院,上海 200235;2. 同濟大學橋梁系,上海 200092)
參數化建模方法是橋梁CAD系統研究的一個熱點,是支持設計全過程的有效途徑。參數化建模使工程師不必深入到設計的細節中,而僅僅需要盡快完成草圖繪制,形成設計雛形,然后在未來的工作中通過某些參數的改變來更新設計。參數化設計極大的改善了圖形的修改手段,提高了設計的柔性,在概念設計,動態設計,實體造型、裝配、優化設計等方面體現出了很高的應用價值[1]。
目前國內外已經形成了許多參數化建模方法[2-8],例如基于幾何約束的變量幾何法、基于幾何推理的人工智能法、基于輔助線法、基于構造過程的構造法等。這些方法大多可以處理幾何范圍內約束的表達和從草圖到最終模型的推理問題。但是,這些傳統的參數化設計方法都是從原有設計中提取一些主要的變形、定位或裝配尺寸作為自定義變量,在修改這些尺寸的同時由一些幾何公式計算出其它的參數的變化量,最終得到所需的設計產品。這些方法中存在著比較明顯的缺陷:
(1)自定義變量之間相互獨立,不便建立任何函數關系,也不便對每個變量施加約束,這樣就不能保證驅動后模型拓撲結構不變。
(2)不具備邏輯判斷的能力,由于橋梁過程中包含很多邏輯判斷,對不同的前提有不同的處理方式,而當前的參數化方法不能包含邏輯的設計知識,參數驅動能力受到很大的限制。
(3)設計變量只能顯式表示。橋梁設計中表示一種約束關系的變量既可以顯式表示,也可以隱式表示,并且在實際設計中隱式表示的約束占有相當的數量,用當前參數化方法只能對變量進行顯式約束,對隱式約束無法處理。
本文針對現有參數化方法的這些不足,結合鋼筋混凝土橋梁設計的特點,把領域知識引入到橋梁參數化建模過程中,提出了一種基于領域知識的橋梁參數化建模方法。該方法具有知識表達能力強,參數化驅動方式多樣的特點,實現了設計知識與現有參數化技術的融合。
橋梁設計過程中,同樣的構件可以通過不同的結構約束和尺寸約束組成具有不同結構特征的設計案例。目前常用的參數化圖形軟件,如AutoCAD,在繪圖過程中也指出了圖形元素之間的幾何約束關系,如平行、垂直等,但求解后只保留幾何圖素的具體坐標而沒有將它們的關系明確存儲,因而,結構信息本身是不完全的,其工程意義必須人為確定,所以不能支持模型的智能化變動。為了解決這一問題,本文設計了如圖1所示的基于知識的橋梁參數化建模系統原型。

圖1 系統模型
該系統由圖形用戶界面、接口模塊、存儲系統和核心系統四個部分組成。用戶界面是設計參與者與系統交流的通道,是用戶使用系統完成一種或多種操作所需要的一系列工具的有機組合。接口模塊是通用 CAD系統(AutoCAD、ProEngineer等)和結構分析系統(Ansys、Adina等)等商用軟件進行信息交互的通道,接口模塊是一個可擴展部件,用戶可以根據自身的需要對接口系統進行必要的修改。存儲系統包括幾何約束庫、設計約束庫和工程數據庫,它們分別存儲幾何約束知識、設計約束知識和工程數據。核心系統實現基于知識的參數化建模,主要模塊有命令解析器和圖形生成器組成,前者負責對用戶命令進行解析,生成圖形變動數據流,后者使用數據變動數據流繪制目標圖形。
知識是人類通過實踐認識到的客觀世界的規律,知識處理有知識表達、知識獲取和知識推理三個關鍵環節。
知識表達是在參數化設計系統中處于核心地位,它即是知識學習與獲取的基礎又是知識記憶、處理與利用的前提。目前常用的知識表達模型有產生式規則、語義網絡、框架等。不同的應用領域需要不同的知識表達方式,判斷一種知識表達方式的優劣主要依據:表達能力是否充分,管理和維護是否便利,應用是否簡單等方面。考慮到土木工程設計的特殊性,采用面向對象的設計方法,把構件和約束定義為類,參數定義為類的屬性,參數和規則的調用方式定義為類,同時要創建不同類之間的關聯和繼承結構。圖2是知識表達模型的UML類圖。

圖2 知識表達模型
2.1.1 構件
構件是工程師所能設計的最小單元,構件由幾何特性、材料特性、截面特性、設計知識等屬性組成,構件集記為C。
2.1.2 約束知識
約束知識指設計模型中構件間的裝配方式,約束知識集記為R,約束知識劃分為本原約束Ra和設計約束Rd, R =Ra∪ Rd。本原約束描述構件的本質和構件之間的幾何關聯,例如共線、(延伸)相交等;設計約束描述橋梁設計知識對構件間的約束,一般都來源于規范,例如;“樁基承臺的高度宜為樁直徑的 1.0~2.0倍,且不小于1.5米”。
2.1.3 結構
結構是具有工程意義的實體,是工程師設計思想在設計過程中的表現,結構由n個構件組成(n≥1)和m個約束組成(m≥1),由單個構件組成的結構稱為單元結構,由多個構件組成的結構稱為多元結構。多元結構中的構件ci稱為頂點,兩個頂點之間的連線ri稱為約束,需要說明的是此處的約束定義為無向約束。如果把結構記為S, 則S可以描述為: S =( C,{R})。
定義 1 結構系數矩陣 結構系數矩陣是構件間的約束在計算機中的表現形式,結構系數矩陣計為 X =[xij]n×n,當構件ci和構件cj能夠通過約束rk構成結構時,xij=1。記構件ci和構件cj通過約束rk組成的新結構為sikj。所有構件組成的結構稱為全結構,全結構也就是參數化建模的最終結果,全結構計為S。
對于結構來說有兩點需要說明:
(1)? rk: R · xij=1,對于顯示結構中存在的任何一個約束都有構件與之關聯。
(2)? c: C · xk=1,任何一個構件都iij有與其相關的另一個構件和一個約束。這一點表明鋼筋混凝土連續梁結構中不存在孤立構件,同時也是保證所有構件能夠組裝成結構的前提。
鋼筋混凝土連續梁橋的有限元建模過程是一個伴隨著模型設計的約束滿足的過程,其設計結果是滿足一定知識約束的空間三維結構。在設計過程中,約束求解是設計的一個顯著特征,因為所有的設計要求與限制都可被看成對變量的約束,而設計的目標是使最終的設計結果滿足所有的約束條件。鋼筋混凝土連續梁橋約束知識主要通過知識轉換,也就是把知識從一個知識源轉移到另一個知識源,同時改變知識的表示形式。
前文把約束劃分為本原約束和設計約束兩類,本原約束所關注的對象是幾何圖形的屬性和其本身的屬性,設計約束所關注的對象是功能屬性,從設計的全過程看,它們之間相對獨立。但事實上設計約束只有轉化為本原約束才能最終在設計模型中得到體現,從而實現設計意圖。為了方面實現,作者把設計約束轉換為本原約束處理(通過知識映射實現),同時把本原約束劃分為構件屬性約束和構件裝配約束兩類,并設計了構件和構件裝配兩種模版,約束知識獲取的過程事實上就是把現有知識按照模版的形式重新描述。
2.2.1 構件模版
構件模版描述構件的固有屬性,例如起點、終點、材料特性、截面特性等,定義為如下形式

2.2.2 構件裝配模板
構件裝配是構件組成結構的基礎,描述了構件之間的組合關聯,例如:“主梁和支座相交”。構件裝配模板的定義如下:

構件模版和構件裝配模版中:
2.2.3 設計約束與本原約束的映射
橋梁設計約束一般指設計規范約束。橋梁設計約束不能直接對模型進行參數化驅動,只有轉化為本原約束才能在設計模型中得以體現。為了使系統能直接處理設計約束,必須在二者之間建立一個關聯,保證當設計參數發生變化時,幾何參數將自動發生相應的變化,以實現控制。設計約束與本原約束的映射目前是通過人機交互引入到系統中的。
規范是設計的重要依據,它規定了設計結果除了要滿足功能需求外,還需要滿足的一般要求,在模型設計中的主要作用是指導參數化驅動。設計規范的主要表現形式是規范條文約束。橋梁設計規范條文約束一般可以描述為邏輯判斷的形式,例如《公路鋼筋混凝土及預應力混凝土橋涵設計規范》中規定“鋼筋混凝土 T形、I形截面簡支梁標準跨徑不宜大于 16m”,可以描述為:
<主梁>::=<鋼筋混凝土標準跨徑><起點><終點>
規范中除了條文約束外還有圖表約束、數據 表約束、和公式約束,例如《公路鋼筋混凝土及預應力混凝土橋涵設計規范》中的表5.1.6、圖6.1.7和公式 8.4.1-3。 這三類約束以簡單直觀的形式規定了橋梁設計所必須滿足的一般要求,它們與規范條文的區別僅僅在于表現形式不同,所以在參數化驅動中,作者把這三類約束轉化為規范條文約束統一處理。
橋梁參數化驅動的目標是在參數化驅動過程中,用戶無需干預,由系統根據現有知識對整個約束集進行分析和求解,使工作過程簡單化,以期有效縮短設計周期提高設計效率,實施參數化驅動的核心是知識推理。
2.3.1 橋梁設計模型的數據結構
橋梁結構可以采用鄰接表的形式進行存儲,在鄰接表中,對每一個組成結構的每一個構件建立一個單鏈表,第i個單鏈表中的構件表示與構件i有關的約束。每一個構件由4個域組成:title表示構件名稱;attribute為指向構件屬性的指針域;firstarc為指向與該構件存在約束關系的第一個構件的指針域;restrict表示當前構件與基本構件(首構件)的約束關系,每一個單鏈表的表頭構件的約束為NULL。結構鄰接表可以采用如下結構定義。

2.3.2 橋梁組裝算法
橋梁組裝是根據已經輸入的構件和約束關系,構建橋梁存儲結構的過程,該過程的核心是鄰接表的生成,其算法基本步驟如圖3所示。

圖3 橋梁組裝算法
如果橋梁結構中有n個構件,e個約束,則生成的鄰接表需要n個構件頂點和 2e個構件表節點。由于鋼筋混凝土連續梁橋構件之間的關系簡潔,所用使用鄰接表結構對其進行描述和存儲將節省大量的存儲空間。
2.3.3 橋梁智能變動算法
橋梁參數化設計過程中能夠實現從草圖到預定設計目標的一系列轉換,并且可以維持構件間的基于知識的設計約束,實現這一過程的算法稱為智能變動算法。橋梁智能變動算法是從現有的基于參數化技術的算法中發展而來,是參數化設計的高級形式。智能變動算法具有柔性可變特性,能夠在設計過程中記錄下設計過程的設計目標和約束,能夠應用設計知識,通過系統提供的機制,實現設計參數修改時設計模型的智能化變動,從而更好的支持橋梁設計。
(1)設計原則
智能變動算法的設計是由所要解決問題的特點以及知識的表達方式來決定的。這里提出采用約束知識滿足與變動導向相結合的變動機制實現參數化建模的智能變動模型。在該模型中,變動算法根據設計者提供事實,在知識庫中選用合適的規則,逐步求解。
在系統的智能變動推理過程中,當問題滿足知識的前提時,就可繼承知識的結論,如沒有可用的知識,就同設計者繼續對話得到更多信息,以找到可用的知識。如果知識庫中只有一個規則可用,就選用該規則,如有若干規則,怎樣盡快地找到可用規則,是一個控制策略問題。系統的規則庫在結構組織上是不平行設置,每個規則的優先等級不同。例如,規范中的條文有“必須”,“宜”等不同程度的語氣,它們的優先級各不相同。
(2)實施算法
智能變動的過程事實上也是整個結構在變動需求的驅動下,逐步實現約束滿足的過程,其算法流程如圖4所示。

圖4 智能變動算法
某6×70m(PM34~PM40)預應力混凝土連續梁橋,需進行抗震分析。該連續梁橋,主梁截面形式為單箱單室,上緣寬 16m,下緣寬 7m;橋墩為薄壁空心墩,高度為25m~32.5m,PM37墩頂設固定支座,其它墩墩頂設縱向滑動支座,各墩墩頂橫向均固定;基礎采用直徑為 1.2m的鋼管樁。
在抗震分析中,該預應力混凝土連續梁橋可以離散化為主梁、橋墩、樁等單元,各構件可以描述為以下形式:
以反應譜分析為例,構件約束包含主梁與橋墩的約束,橋墩與樁基的約束,以主梁與PM34的約束和PM34與Z1的約束為例,可以描述為以下形式:
根據以上的構件列表和構件約束,應用2.3.2模型如圖5所示。提出的橋梁組裝算法,完成的初始橋梁抗震分析

圖5 抗震分析初始模型
由于設計變更,橋梁抗震分析模型需進行完成兩項變更:其一,支座抬高50mm;其二,所有鋼管樁均轉換為斜樁,其在平面內與橋墩的夾角為15°。根據以上兩項變動,主梁與橋墩的約束,橋墩與樁基的約束變更為如下形式(以主梁與PM34的約束和PM34與Z1的約束為例,其中黑體為變動部分)。
根據以上變動約束,應用2.3.3 節提出的橋梁智能變動算法,初始橋梁抗震分析模型可以修改為圖6所示。

圖6 抗震分析變動模型
圖7是傳統建模方法與基于知識的建模方法在預應力混凝土連續梁橋抗震分析建模中應用的綜合建模時間分析。

圖7 建模時間分析圖
圖7采用傳統建模方法和基于知識的建模方法對建模耗費時間進行了對比。左側為3座復雜度不同的橋梁的單次建模時間對比,右側為同一座橋梁經 10次修改的建模時間對比。從該圖中可以得到以下結論:
· 對于復雜度不同的橋梁,單次建模傳統方法比基于知識的方法更加有效,但是采用基于知識的建模方法所耗費的時間隨橋梁復雜度的增大,其增幅有下降的趨勢。
· 對于同一座橋梁,傳統建模方法的建模時間與模型修改的幅度大小有關,修改幅度越大,耗費的建模時間越長,甚至可能超過重建模型的時間;基于知識的建模方法對模型修改的幅度不敏感,主要取決于計算機的運行時間,這一點在知識庫內容極度豐富的情況下表現尤其明顯。
[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]程 才, 王啟付. 基于知識的三維參數化建模方法研究[J]. 機械科學與技術, 2003, 22(6): 1049-1052.
[6]龔亞琦, 劉小虎, 楊文兵. 基于ANSYS 的橋梁參數化建模[J]. 中南公路學報, 2006, 31(4): 71-79.
[7]陸國棟, 吳中奇, 黃長林. 基于知識表達的參數化尺寸標注機理研究與實現[J]. 計算機學報, 1996,19(4): 270-276.
[8]張 氫, 盧耀祖, 高順平. 基于知識的產品級參數化虛擬設計的可重用性研究[J]. 中國機械工程,2003, 14(20): 1753-1756.