張 成,王 雙
(中鐵第四勘察設計院集團有限公司,湖北 武漢 430063)
河道工程主要包含河道疏浚、堤防加固、護岸護砌等工程措施,各措施中的構筑物尺寸通常隨著地形變化而變化,設計人員往往需要逐個斷面調整,使其與地形相適應。該工作主要靠手工繪制完成,不僅需要花費大量時間、效率低下,而且容易出錯。行業中雖然有百圖、遠盛、ZDM等插件可供使用[9],但是相較于Civil 3D、PowerCivil等BIM設計軟件而言,功能相對較弱,不能實現二維和三維圖元的的聯動,斷面設計和平面設計相互隔離,不滿足精細化設計要求。
Civil 3D是一款專門為土木基礎設施行業提供的三維設計解決方案,不僅地形處理功能強大,設計的河道工程措施可自動適應地形變化;而且生成的橫斷面圖和數量表與三維模型動態關聯,當調整三維模型的“平縱橫”時,橫斷面圖和數量表可實現自動更新。設計人員在設計過程中還可通過三維視圖隨時查看三維設計效果[1]。Civil 3D經過定制開發后,即可批量生成滿足出圖要求斷面圖圖紙,同時可以快速的生成工程數量統計表[2- 3]。
Civil 3D軟件雖然功能強大,但是操作復雜,默認設置都是針對道路工程設計而設定,出圖樣式不能符合國內相關行業的制圖規范要求,其自帶的部件也都是用于道路設計,其他專業可用的部件非常少[4]。為此,筆者根據河道工程設計習慣對Civil 3D軟件進行定制開發,設計了一套河道工程設計的功能菜單,包括項目、地形曲面、平面設計、縱向設計、標準橫斷面設計、河道模型、采樣線及材質、橫斷面圖及數量表、常用工具共9個模塊,將相對固定的步驟寫入程序后臺,使復雜過程簡單化、零散操作流程界面化[4],設計人員依次完成各個模塊的操作即可初步完成設計任務。
各模塊中的具體功能,相對于Civil 3D的默認操作進行了適當簡化,根據河道設計規范隱藏了不必要的參數或樣式的設置(設定為默認值),僅保留河道工程設計所需的參數與用戶進行交互,用戶更加容易掌握。
針對Civil 3D自帶部件不能滿足河道設計要求的問題,設計開發了一套較通用的部件,可自由組裝成常用的河道設計斷面模板,從而創建河道三維模型,然后與定制的樣板文件、圖框模板、打印樣式相配合,可批量創建符合行業習慣的圖紙及工程數量表。
Civil 3D提供了一系列訪問、創建和修改Civil 3D各種對象及樣式的.NET API,開發人員可使用任何支持.NET的語言對Civil 3D進行二次開發[2- 3]。
本系統采用Visual Studio軟件開發環境,通過C#語言對Civil 3D進行二次開發,關鍵技術研究及實現如下所述。
在Civil 3D中,用戶可以通過功能區“常用”選項板中的一系列下拉按鈕,創建各種對象。以曲面創建為例:①用戶需展開常用-曲面-創建曲面,以創建空白曲面對象,需點擊3次鼠標;②用戶需繼續展開新建曲面的結構樹,右擊定義標簽下的等高線,添加等高線對象,需點擊7次鼠標;③添加高程文本、添加高程塊等對象,各需點擊鼠標5次。一共單擊鼠標約20次。經過定制開發后,在一個對話框中即可完成上述操作,還可同時添加txt文本格式的高程數據、cad圖元,總共只需單擊4次鼠標。曲面創建對話框如圖1所示。

圖1 創建曲面對話框
Civil 3D提供了功能強大的路線布局工具欄,可通用導線法或線元法創建包含直線、曲面、緩和曲面的復雜路線[1],但是河道工程中用不到緩和曲線,河道中心線的創建相對比較簡單,這些功能用于河道設計反而顯得累贅。本系統在中心線創建對話框中提供了2種創建方式,即從現有多段線轉為路線,或逐段繪制中心線,并且設計人員可選擇是否在拐點處添加圓弧,如圖2所示。

圖2 創建中心線對話框
縱向設計線創建與平面路線創建類似,系統也對該功能進行了簡化,并且增加了從文件創建縱向設計線的功能,可利用水文計算直接創建縱向設計線(例如水面線等),如圖3所示。

圖3 繪制縱斷面設計線對話框
“部件”作為Civil 3D的特殊對象,由點(Point)、連接(Link)、造型(Shape)3種基本單元組成,將多種部件進行拼裝后可以完成各個結構體標準橫斷面的設計,然后利用“平縱橫”即可構建三維設計模型。但是,Civil 3D自帶的部件都是為道路設計而創建,其他專業可用的部件非常較少,需要用戶創建自定義部件。自定義部件的創建方式有3種[5],其中部件編輯器(Subassembly Composer)是Autodesk公司提供的一款專門用于創建部件的工具軟件,用戶可通過繪制流程圖的方式,在可視化的界面中,創建帶有參數驅動的復雜部件[7- 9]。
河道工程斷面型式多種多樣,對于一般常用的斷面型式可開發成復合部件,減少部件組裝步驟。不過,單個部件不宜過于復雜,一方面復雜部件的開發難度較大,另一方面復雜部件的控制參數一般較多,設計人員難以快速掌握。為此,除常用的復合部件外,筆者還根據河道工程設計經驗,總結了一套較通用的部件單元,可靈活組裝成常見的河道設計斷面模板,分為標記點、連接線、結構物共3類。
將自定義部件導入Civil 3D部件面板(引用或者說明導入方法),即可同Civil 3D自帶部件一樣使用,但是當自定義部件較多時,不易快速查找到想用的部件。為此,系統定制開發了專門的部件管理面板,分為標記點、連接線、結構物、復合結構物、標注共5個選項卡。按照部件的創建方式進行分類管理,單擊按鈕時,縮略圖可清晰顯示各參數的意義,更加方便了用戶使用。
Civil 3D橫斷面圖的標注功能相對較弱,只能通過部件代碼的標簽樣式實現,部件與樣板文件配合使用可實現橫斷面圖的自動標注。部件代碼(Code)是為部件中的點、連接、造型指定的具有特定工程含義的名稱。部件中的每個基本單元可以指定多個代碼,不同的單元可以指定相同的代碼。樣板文件是Civil 3D創建項目文件的基礎,提前設定了各種對象的顯示樣式、標簽標注樣式、代碼集樣式等[5- 10]。
部件與樣板文件的配合使用示例如下所述:①在樣板文件的“標準”代碼集樣式中,為點、連接和造型配置顯示樣式和標簽樣式,例如為含有“dm_LengthTop”代碼的連接配置了“zc長度標注(表面)”標簽樣式;②用樣板文件創建項目后,裝配的代碼集樣式默認為“標準”;③使用系統提供的標注功能為部件添加標注代碼,或者手動為部件添加“標準”代碼集樣式中配置好的標注代碼;④創建橫斷面圖時各斷面即可按照代碼集樣式顯示標注。標準代碼集樣式如圖4所示。

圖4 標準代碼集樣式
以武穴水鐵聯運項目碼頭后方護岸設計為例,為防止本碼頭區域岸坡沖刷,本工程在碼頭區域設置2級護坡結構,第一級護坡采用厚度為800mm的拋理塊石護坡,拋石下鋪設厚度為600mm的碎石墊層。在高程為15.0m處設置了寬度為5.0m的枯水平臺,結構層從上往下依次為漿砌塊石層(厚度h=300m)、碎石層(厚度h=200mm)及粗砂層(厚度h=150mm)。第二級護坡采用干砌塊石護坡,坡頂與灘地高程平順銜接,結構層從上往下依次為干砌塊石層(厚度h=300m)、碎石層(厚度h=200mm)及粗砂層(厚度h=150mm)。二級坡頂設置漿砌塊石截水溝,并在坡面每隔50m設置排水溝與坡頂截水溝連通,坡面排水溝采用C20砼現澆。
設計人員使用本系統快速創建了岸坡防護設計模型,并批量生成了橫斷面圖紙和材質數量表,驗證了通用部件、標注功能、批量出圖和算量功能的有效性和實用性。經過與傳統設計手段完成的設計成果對比分析,軟件計算的材質數量準確,設計效率得到了極大的提高,線路越長效率提升越明顯。使用本系統通用部件搭建的橫斷面模板(裝配)如圖5所示,橫斷面圖紙效果如圖6所示。

圖5 護岸設計橫斷面模板(裝配)

圖6 護岸橫斷面圖效果
針對傳統河道工程設計中存在的不足,在總結河道工程設計經驗的基礎上,對Civil 3D進行定制開發,實現了河道工程批量繪圖及算量功能,提高了設計效率和質量。定制開發的軟件提供了一套符合河道工程設計習慣的功能菜單,通過自定義的對話框精簡了Civil 3D的復雜操作,軟件界面友好,有效降低了Civil 3D的使用門檻,完善了Civil 3D在河道設計中的功能。定制開發的軟件還提供了一套較通用的基本部件,可靈活組裝成常用的河道設計斷面模板,提高了本河道設計軟件的通用性。