唐諍皓 劉鋒 楊繼飛
摘要:本文以AutoCAD為依托平臺,使用Visual Studio .NET平臺的C#語言編寫程序,利用ObjectARX提供的托管封裝類進行二次開發,開發出一套可以應用于實際的設計、計算和繪圖一體的構筑物水池結構設計參數化平臺系統(TSCAD)。
關鍵詞:CAD二次開發構筑物水池結構設計.NETAPI
中圖分類號:TP391.72 文獻標識碼:A 文章編號:1672-3791(2012)04(c)-0037-02
污水處理廠中大部分是鋼筋混凝土水池,此類構筑物由于其功能的特殊性,主要組成單位是各種類型的板(池壁板、底板、頂板等)、圓殼等,目前并沒有構筑物水池結構的計算及繪圖相結合的專業軟件,多數工程設計者采用手工計算并繪圖,增加了出錯幾率也增加了設計時長。編者開發的水池結構CAD輔助設計系統(TSCADV1.0,軟件著作權登記號:2012SR015042)對于構筑物水池的設計者而言,可以方便快捷的更改各項參數,經過數據前處理可以對結構是否滿足強度要求或正常使用功能有預提示,方便設計者修改參數。
1工程類軟件的現狀及平臺選擇
1.1 國內外的結構計算兼繪圖類軟件包括
(1)PKPM、GSCAD等。此類軟件主要注重于分析計算,出圖功能比較弱,需要重新整理出圖。
(2)探索者、天正結構、理正結構等等。此類軟件側重于繪圖,并兼顧結構計算子程序(例如板、梁、樓梯、獨立基礎計算等)。
(3)國外的結構軟件如ANSYS、SAP2000、ETABS、MIDAS等幾乎都是建立于有限元分析的基礎上,其功能強大,綜合性強,建模分析則較復雜、內力查看不是很直觀,主要用于大型項目中設計的分析比較。
1.2 CAD二次開發平臺的選擇(如表1)
2TSCAD開發思路和技巧
2.1 列出相關專業設計流程
首先列出專業設計系統流程圖,并明確要輸入、輸出的內容和格式,如圖1,通過此流程圖設計相關功能模塊和實現方法。
TSCAD的主要功能有:全自動繪圖,包括平面圖,剖面圖,配筋圖,詳圖等;自動生成計算書,包括兩種格式,純文本方式和Excel格式,以Excel格式為主。
2.2 界面設計
軟件界面設計是參數化平臺系統可以智能人機交互的重要部分之一,采用友好且豐富的參數化界面可以大大加快設計的速度。但界面設計也一直是此類平臺軟件開發的難點,尤其在用C++做ObjectARX程序時設計一個界面使用到MFC庫,設計界面非常繁雜。
.NET語言則可以很方便的開發設計出各類常規、實用、友好的界面。TSCAD軟件界面的開發,所采用的交互界面形式有自定義工具欄,自定義菜單,對話框(模式對話框)等多種方式,并可與AutoCAD原菜單無縫結合。
2.3 繪圖交互設計模塊
設計成果一般最終以圖紙展現,即要在AutoCAD中繪出圖形,這也是與普通.Net編程的區別。因此,首先要了解AutoCAD數據庫(database)的組成,在CAD中任何可見的(線,多義線,圓,標注,尺寸等等)都是對象,都有其相關的屬性和方法,被封裝為ObjectarxforCAD中以供編程者調用。例如在封裝常用代碼后,在模型空間中添加一條直線可以簡化為如下。
Lineline=newLine(pt1,pt2);//根據起點、終點實例化line對象。
Tools.AddEntities(line);//添加line實體至模型空間(如圖2)。
利用擴展數據共享數據如下。
一般的繪圖命令不生成擴展實體數據的,當編程使一個CAD圖中的圖元包括所需要的擴展數據時,則擴展數據位于普通數據之后。例如選擇直線,可以取出應用程序名都是池壁的參數,可以包括厚度,長度,高度等,這些數據獲得后可以為其它功能模塊所用,進行下一步處理,比如根據平面圖中的線獲得剖面圖信息等。
AutoCAD2006版本開始提供了一個動態塊的新功能動態塊與普通塊的區別是:除幾何圖形外,動態塊中通常包含一個或多個參數和動作。
TSCAD系統部分繪圖功能運用了動態塊技術,例如池壁剖面配筋圖。因一般的池壁寬度尺寸都按50的模數定義,如200,250,300,350和400等,這樣可以利用動態塊技術對池壁配筋塊添加壁厚方向的參數,可以迅速修改池壁寬度,效果如圖3。
2.4 數據處理及輸出的方法
TSCAD系統的板結構內力分析及計算采用的方法是利用已有的有限元分析代碼庫,這種類庫封裝了內部算法代碼,只留了輸入和輸出接口。程序員輸入板的幾何尺寸、邊界條件、荷載情況就能輸出得到板的各項內力和變形數值,結合規范公式后可直接輸出用于設計,這樣大大提高了編程效率。
輸出計算書的方法是利用已有的Excel計算文件。工程設計人員常常用Excel編寫某些數據計算文檔(包括用VBA編寫的Excel宏程序),目前通過COM接口,.NET語言可對Excel進行完全的操作。這樣就能保留以前編寫的Excel文件(模板)并進行數據交互,并輸出數據至Excel(或從Excel讀入數據)。
3結語
本文以作者所從事的特種結構設計為藍本開發的TSCAD為例,探討的是對于工程類行業,用盡量易懂、開發迅速、又不失強大的平臺進行AutoCAD二次開發,適用于普通計算機水平的工程設計師。
參考文獻
[1] 唐諍皓.水池構筑物結構設計參數化CAD平臺開發與應用[D].杭州:浙江工業大學碩士學位論文,2010.
[2] 曾鴻飛,張帆,盧擇臨.AutoCADV BA&VB.NET開發基礎與實例教程[M].北京:中國電力出版社,2008.