1 我國隧道CAD 繪圖的現狀與評價
CAD 技術及其應用水平已成為衡量一個國家工業生產技術現代化水平的重要標志。在九五期間, 鐵道部將隧道智能CAD 技術”列為重點科技攻關項目。據有關資料刊載, 鐵道部專業設計院、鐵道部第一、二、四勘測設計院、西南交通大學、蘭州鐵道學院、沈陽鐵路局吉林勘測設計院等單位分別針對鐵路及公路隧道進行了CAD 系統的研究與開發, 并取得了可喜的成果。
這其中, 以由鐵道部專業設計院主持, 鐵道部第一、二、四勘測設計院參加的部級科研項目《一般隧道工程計算機輔助設計系統》和西南交通大學地巖系與鐵道部第二勘測設計院聯合研制開發的《一般隧道CAD 系統》為代表, 形成了以套標準設計圖為主的開發思路(以下簡稱為套標準圖法) 。套標準圖法將洞門、襯砌等標準設計圖輸入計算機形成標準圖庫, 人工設計時需要計算、推理的部分寫入程序, 用戶輸入必需的參數, 然后運行程序將標準圖塊插入到設計圖中。《一般隧道工程計算機輔助設計系統》基于CV 機, 使用CVMAC 語言編寫。《一般隧道CAD 系統》以AutoCAD R1210 為平臺, 利用保護模式的模塊化程序設計語言— Watcom C 編寫, 由系統程序、標準圖庫、數據庫和規范條文說明文件組成。套標準圖法的開發思路主要參照了傳統的鐵路隧道的設計思想及設計習慣, 能實現一般隧道(一般隧道系 指技術條件不復雜、不設置通風和輔助坑道, 能直接套標準設計圖的隧道) 的設計任務。
隨著國家路網建設的不斷展開, 套標準圖法已不能滿足現代隧道建設的需要, 顯示出其固有的內在缺陷, 主要表現如下:
(1) 適用范圍窄 隧道斷面形狀多樣化, 洞門型式也不斷推陳出新, 出現了諸如連拱隧道, 大斷面隧道及削竹式、連拱式、擴大喇叭式等新型洞門型式, 套標準圖法不能繪制上述新增型式的設計圖。
(2) 設計精度低 標準圖庫給出的是各變量的示意, 而沒有給出設計圖的精確繪制。同時, 標準圖庫的建立也是一項相當繁重的工作。套標準圖法通常是采用每張標準圖只考慮0 加寬和40 加寬, 對不同軌道類型及其它加寬值給予忽略(認為人眼分辨率不敏感于其帶來的偏差) 的作法。這樣將導致繪圖精度較低, 尤其是據此計算的工程數量存在較大的誤差。
(3) 升級能力差 升級能力差的主要原因, 緣于圖庫的擴充工作是一種事倍功半的做法。可以想像, 要標準圖庫囊括所有可能的情況基本上是不可能的。
參數化繪圖方法適用性較強, 在其他領域應用甚廣, 能很好地解決上述矛盾。但由于隧道斷面型式多樣, 圍巖情況復雜, 給人一種不具有參數化繪圖條件的感覺, 作者至今尚未發現公開發表的參數化繪圖方法系統地應用于隧道CAD 系統開發的文獻。
2 參數化繪圖方法及其在隧道CAD 系統中應用的研究
參數化繪圖主要適用于圖形結構形式基本固定而結構尺寸參數變化的圖形。參數化繪圖方法主要包括程序參數化繪圖、參數交互式繪圖及尺寸驅動式繪圖3 種, 現簡介如下:
(1) 程序參數化繪圖
程序參數化繪圖的實質,就是將圖形信息記錄在程序中。圖形的描述通常可分為:圖形的拓撲關系、圖形的幾何參數以及這些幾何參數與圖形結構參數之間的聯系。通常用一組變量記錄圖形的幾何參數,用一系列的賦值語句表達幾何參數與結構參數之間的關系,然后用一系列的調用語句來描述圖形的拓撲關系。
(2) 參數交互式繪圖
參數交互式繪圖的實質是對圖元的操作。任何一個圖形, 都可以看作是由若干基本圖元構成。首先將圖形結構分解為參數化的基本圖元并建立圖素庫, 然后交互式地將圖素組合形成各種圖形結構, 同時允許對圖元進行修改。
(3) 尺寸驅動式繪圖
參數交互式輸入圖形, 必須嚴格依照構成幾何形體的圖素的準確值和它們之間的相對位置關系來繪制。如果無須對圖素準確定位, 可以以草圖形式快速生成圖形, 然后通過運行程序產生準確圖形, 這就是尺寸驅動式繪圖的基本思想。
通過對參數化繪圖的3 種方法的分析、比較, 可以得出:
1. (1) 尺寸驅動式繪圖雖然在繪圖過程中不必要非常精確, 從而可以使繪圖速度增加, 但是用戶依然不得不從頭到尾繪制每一個細節, 對于隧道設計圖來說, 尺寸驅動式依然沒有使設計人員擺脫繁瑣復雜的繪圖, 尺寸驅動式幾乎不適合用作隧道CAD 系統開發的指導思想。
(2) 對于參數交互式繪圖, 公路隧道設計圖有別于電路設計圖(電路設計圖通常是由各種電子元件構成的, 如三級管、電阻等), 隧道設計圖不是由某些較小的相對獨立的圖元構成(圖元依然是基本的點與線), 而是聯系緊密的有機整體, 尤其是三視圖, 任一視圖的變化都要引起其它視圖的相應改變。因此, 基于非實體建模技術的隧道CAD 系統的開發也不應采用參數交互式繪圖。
(3) 隧道設計圖雖然復雜繁瑣, 給一種不適合采用程序參數化繪圖的感覺, 但是, 研究后發現, 將隧道CAD 進行模塊化及必要的再細化處理后, 大部分模塊圖形結構形式基本固定只是結構尺寸參數變化, 是符合參數化繪圖要求的, 如建筑限界的繪制、洞門圖的繪制等; 其余部分模塊雖然不符合參數化繪圖的要求, 但是適合于編程, 如地質縱斷面設計模塊中地面線的繪制、地質填充等。程序參數化繪圖能夠應用于隧道CAD 系統的開發。
面向對象方法吸取了程序設計語言和數據建模技術等有益的成果, 經過近30 年的演變發展, 逐漸形成了自己的范型, 為人們提供了較強的問題求解能力。新一代程序開發工具Visual C + + , 不僅繼承了面向對象方法的特性, 同時具備可視化程序語言及程序產生器的概念。ObjectARX 是AutoCAD R14 以后推出的一種新的編程環境, 提供了以C + + 為基礎的面向對象的開發特性及程序接口, 能真正快速地訪問AutoCAD 圖形數據庫, 能明顯提高軟件開發和維護的效率。
經深入研究, 并考慮到開發、維護及完善的要求, 采用面向對象的程序設計方法, 使用Visual C + + 在AutoCAD 上用ObjectARX 技術進行二次開發, 能夠較好地實現隧道CAD 參數化繪圖。
3 隧道CAD 參數化繪圖的實現
311 公路隧道CAD 系統的總體構思
隧道CAD 系統以程序參數化繪圖為指導思想后, 有著較豐富的約束集, 成為了智能性較高的專家系統。筆者主研并開發的公路隧道CAD 系統(以下簡稱HWT CAD 軟件) 首先將程序分成幾大模塊, 每化處理, 然后采用面向對象方法進行程序編制。圖1 一模塊完成一定的功能, 對有些模塊進行必要的再細給出了隧道CAD 系統劃分的7 大功能模塊。
HWT CAD 軟件, 考慮用戶的要求, 分為參數輸入程序和繪圖程序兩部分。參數輸入程序是標準的Windows 程序, 繪圖部分是基于ObjectARX 技術編制的ARX 文件。兩部分之間的數據傳送是通過數據文件及注冊表來實現的。
軟件在建立或打開工程文件后, 進行必要的參數輸入, 然后在繪圖環境下進行圖形的自動繪制。用戶一次可以完成所有的設計, 也可以只進行某一專項的設計(如地質縱斷面設計、洞門設計等) 。篇幅所限, 本文以洞門設計部分為例闡述參數化繪圖方法的實現。
312 洞門設計參數化繪圖的實現
洞門設計主要是根據隧道建筑限界、洞口段襯砌參數及洞外地形參數來選擇必要的洞門類型并給出洞門設計的三視圖、工程數量表及圖表注釋等。
洞門型式主要根據洞外地形、受力特點及必要的美學考慮等來確定。目前國內普遍采用的洞門型式主要有端墻式、柱式、翼墻式、臺階式、單側擋墻式、削竹式、連拱式及擴大喇叭式等。其特點及適用范圍參見隧道規范及相關資料。
為了能夠實現洞門參數化設計, 程序首先按照上述洞門型式進行必要的模塊再細化處理, 對每一種型式的洞門進行參數提取, 拓樸關系分析, 分析各洞門類型參數間的關系等, 然后進行必要的模塊編制。下面給出端式洞門設計參數化的實現(其它型式洞門類似) 。
端式洞門設計參數較多, 為有一個良好的用戶界面, 程序采用屬性表技術, 將數據分類集結在洞門整體信息屬性頁、襯砌基本信息屬性頁、隧道端墻參數屬性頁、洞外路基參數屬性頁、縱橫向地面線參數屬性頁和工程信息屬性頁中, 大部分端式洞門參數作為屬性頁和屬性表的成員存在。通過屬性表完成存儲及屬性頁中成員數據的互訪, 同時, 各屬性頁本身的成員函數用來完成諸如差錯檢查、預演、設計及計算功能。圖2 給出了洞門整體信息屬性頁的參數輸入界面; 圖3 給出了隧道端墻參數屬性頁的參數輸入界面。
運行AutoCAD , 系統自動裝載繪圖程序(ARX 文件), 用戶在打開工程文件后, 點擊洞門設計菜單或工具條按鈕, 從對話框中選擇所要繪制的洞門類型(根據前面的輸入數據自動列出可繪制的進出口及洞門類型), 便自動完成洞門設計, 并以工程文件名略加修改為文件名的DWG 文件加以存儲。
4 結束語
采用參數化繪圖沒有基于套標準圖法的固有缺陷。將隧道CAD 進行必要的模塊細化, 對于圖形結構形式基本固定只是結構尺寸參數變化的采用程序參數化繪圖, 而對于其余部分進行必要的編程處理。采用面向對象的程序設計, 使用Visual C + + 語言及ObjectARX 技術對Auto2 CAD 進行二次開發, 能夠很好地實現隧道CAD 參數化繪圖。事實表明, 該方法有著適用性強, 可靠性高, 易維護及易擴充的特點。