亚洲 欧洲 日产,国产成a人亚洲精品无码樱花,欧美精产国品一二三产品特点,久久久久久久久久

地鐵限界CAD系統設計及關鍵技術研究

   2006-04-29 中國路橋網 佚名 8370

地鐵限界CAD系統設計及關鍵技術研究

摘 要 地鐵限界直接影響地鐵土建工程的規模及造價,是工程設計的重要內容。文章在分析限界手工設計內容方法的基礎上,提出了以AutoCAD為平臺進行地鐵限界CAD系統二次開發的設計思想和總體框架,并對其關鍵技術進行了分析。
關鍵詞 地鐵;限界;

0引 言

地鐵限界不僅制約著地鐵車輛的外形尺寸,還直接影響到地鐵工程土建部分的投資規模,對地鐵造價有重要影響。確定一個既能保證車輛運行安全,又不增大隧道空間的經濟、合理的斷面是限界設計的任務和目的。

計算機技術迅速發展,使地鐵設計工作已經達到了100%計算機出圖,實現了“甩掉圖板”的目標。然而,充分發揮計算機輔助設計的優勢,克服地鐵限界設計中的缺點,使地鐵限界設計實現真正的計算機輔助設計,提高限界設計的工作效率,保證設計質量,開發實現一套集計算、設計、成圖一體化的地鐵限界設計CAD系統,具有重要的現實意義。

1地鐵限界的概念與規定[1,2]

限界是保障地鐵安全運行、限制車輛斷面尺寸、限制沿線設備安裝尺寸、確定建筑結構有效尺寸的圖形。根據不同的功能要求,地鐵限界分為車輛限界、設備限界、建筑限界。

車輛限界是指車輛在直線地段正常運行狀態下的最大動態包絡線。所謂正常運行狀態是指一系懸掛和二系懸掛在正常彈性范圍內、易損件磨耗不過限等。高架或地面線車輛限界易受風荷載的影響,在計算時需要考慮,而這一點與隧道內是不同的。

設備限界是車輛在運行途中一系懸掛或二系懸掛發生故障狀態時的動態包絡線,用以限制安裝設備不得侵入的一條控制線。

建筑限界是在設備限界基礎上,考慮了設備和管線安裝尺寸后的最小有效斷面。建筑限界中不包括測量誤差、施工誤差、結構沉降、位移變形等因素。

2系統設計

1)當前限界設計流程。地鐵限界設計的一般入口是:根據線路設計的詳細資料,按照規范中的標準車型或者車輛供應商提供的車輛限界,進行限界設計。所以設計部門和工務部門一般不用考慮車輛限界的計算,而是一開始就以車輛限界為起點,計算出隧道內(地下線)和高架線(地面線)直線地段的設備限界,再以此設備限界為基礎計算其它斷面處的設備限界,進而與各相關專業配合進行建筑限界設計,最后整理出圖。設計流程如圖1所示。  

2)系統開發環境。系統形式采用基于AutoCAD的內嵌式二次開發,使用VBA語言。操作系統平臺采用MicrosoftWindows2000/XP;基礎圖形系統平臺采用AutoCAD2004/2005;系統數據庫平臺選用MicrosoftAccessXP/2003;編程工具采用VBA程序設計語言。  

3)系統功能結構設計。系統使用“項目”和“圖紙”的概念。參照MicrosoftVisualStudio管理工程的方法,我們亦將系統變量及參數分成“項目級”和“圖紙級”兩個級別。應用本系統進行一次設計,只有一套項目級信息,每個項目對應一個項目文件;而該項目中可以包含多個圖紙級文件,對應多條數據庫記錄和相應的.dwg圖形文件。

本系統中,“項目管理”和“車輛限界”子系統標和車輛限界控制點坐標,這些數據是《地鐵限界標準》中規定的默認值。默認數據庫中還包含3個空表,當成為用戶數據庫后可用于記錄項目中的圖紙信息和對應的設備限界、建筑限界數據。用戶新建項目后,程序根據車輛類型將相應的.mdb文件復制到用戶指定的路徑并重命名為項目文件。

用戶數據庫以項目文件的形式存在,在項目新建時其內容與默認數據庫中的內容是一致的。如果用戶對車輛限界等信息進行修改,用戶數據庫會隨之更新并用于后續的繪圖和設備限界等計算。用戶新建圖紙后,存儲圖紙信息、設備限界控制點坐標和建筑限界數據的表會相應地增加記錄;刪除圖紙時,這些記錄亦被刪除。

在數據庫中包含如下6個二維表。

PrjInfo。項目信息表(項目名稱、設計時間、設計負責人等); 屬于項目級設計內容,對應有項目基本信息、車輛基本信息、車輛輪廓、車輛限界等;“設備限界”和“建筑限界”屬于圖紙級設計內容,對應有圖紙信息、軌道線路參數、設備限界、建筑限界、設備布置等;項目數據和圖紙數據都有報表生成功能。程序的運行和用戶的操作都應遵循這個原則。根據以上內容,系統功能結構設計如圖2所示。

(4)系統數據庫設計。系統屬于CAD二次開發軟件,主要功能是計算和繪圖,需要讀寫的數據量較小。考慮到與VBA的兼容性,本系統采用MicrosoftAccess數據庫,數據庫訪問引擎采用比較成熟的DAO技術。本系統的數據庫分為:默認數據庫和用戶數據庫。

默認數據庫存與程序文件存放在一起,為DefaultA.mdb、DefaultB1.mdb和DefaultB2.mdb3個文件。從文件名可以看出,這3個文件是與車輛類型對應的,默認數據庫記有某種車輛類型的車輛基本信息、車輛輪廓控制點坐VehiInfo。車輛信息表(車輛類型、車體長度、車輛定距、車體長度等);

Points。車輛輪廓及車輛限界表(包含車輛輪廓及車輛限界的控制點坐標);

DrawingsInfo。圖紙信息表(圖紙名稱、設計人、線路類型、曲線半徑等);

DrawingsEquip。圖紙設備限界表(包含設備限界的控制點坐標);

DrawingsStr。圖紙建筑限界表(包含建筑限界相關數據)。

其中PrjInfo、VehiInfo、Points是與項目對應的,其記錄數不會發生改變;DrawingsInfo、DrawingsEquip、DrawingsStr是與圖紙對應的,在用戶數據庫中會隨著圖紙的添加與刪除而增減。

5)系統使用流程。參考限界手工設計過程,本系統的使用及運行流程如圖3所示。


3系統開發關鍵技術

1)DVB工程啟動器[3]。本系統采用VBA開發,VBA與VB存有差別,其差別之一是程序運行時無法得到自身DVB工程文件的運行路徑,會導致程序無法進行自我定位,不能在運行時訪問默認數據庫和預制的設備圖塊文件,因此程序在運行時需要通過某種外部途徑獲得自己的運行路徑。另外,啟動VBA程序的一般途徑是運行某個宏命令,而從用戶角度考慮的話,這是及其不方便的,需要采用某種用戶熟悉的運行程序的方法。綜合以上兩點,本系統通過一個.exe程序啟動。該程序主要功能是自動加載并運行本CAD系統,并初始化配置文件,為VBA程序的運行作準備。入口程序如圖4所示。

該程序使用VisualBasic6.0開發,用戶可以通過該程序的快捷方式或者直接雙擊該.exe文件運行工程啟動器。程序加載后,將列舉系統注冊表中所記錄的已安裝的AutoCAD程序的路徑,如果用戶要從其他未注冊的CAD軟件中運行本系統,可以點擊“其他”按鈕選擇程序文件。

用戶點擊“確定”按鈕后,程序將生成C:\Gauges.tmp文件,該文件的典型內容如下:

[Operation]
DVBPath=C:\ProgramFiles\MetroGauges\

隨后程序使用Shell語句運行AutoCAD軟件并加載Gauges.dvb工程文件。如果用戶選擇了“加載后執行VBA程序”,當AutoCAD軟件運行并加載Gauges.dvb后,程序向AutoCAD主窗口發送鍵盤消息“-vabrunStartProgram”以啟動系統。程序采用以下方式使工程自動運行。
PublicSubRunMacro()  
SendKeys“{ESC}”,True  
SendKeys“{ESC}”,True  
SendKeys“-”,True  
SendKeys“V”,True  
SendKeys“B”,True  
SendKeys“A”,True  
SendKeys“R”,True  
SendKeys“U”,True  
SendKeys“N”,True  
SendKeys“”,True  
SendKeys“S”,True  
SendKeys“T”,True  
SendKeys“A”,True  
SendKeys“R”,True  
SendKeys“T”,True  
SendKeys“P”,True  
SendKeys“R”,True  
SendKeys“O”,True  
SendKeys“G”,True  
SendKeys“R”,True  
SendKeys“A”,True
SendKeys“M”,True  
SendKeys“{ENTER}”,True
EndSub
加載工程前,啟動器程序將自身窗口隱藏,完成上述操作后,該程序自動退出。
2)圖形繪制技術[4,5]。本系統大部分的運算工作是通過各種算法計算各控制點坐標,將這些控制點按規則繪圖就形成各種限界圖形。系統結合AutoCAD的畫圖工具,實現了自動繪圖功能,以下是系統繪圖功能的相關技術。
要畫圖必須先確定畫圖的起點,可以讓程序把點移動到開始點,即設置當前點,以下為設置當前繪制起點函數MoveTo(ptCurrent為當前點):
PublicFunctionMoveTo(ptNewAsPoint)
ptCurrent=ptNew
EndFunction
VBA里內置了畫線段語句AddLine,確定了線段的起點和終點之后就可以連接這兩點畫線段。因為AutoCAD里點的定義方式是三維的(X,Y,Z),但斷面是二維的(X,Y),故要把每點的Z值設為0。以下是通過兩點繪制線段函數LinePoints(ptStart為起點,ptEnd為終點)。

PublicFunctionLinePoints(ptStartAsPoint,ptEndAsPoint)
DimpSAsPoint
DimpEAsPoint
pS=ptStart
pE=ptEnd
DimapStart(2)AsDouble
DimapEnd(2)AsDouble
apStart(0)=pS.X:apStart(1)=pS.Y:apStart(2)=0
apEnd(0)=pE.X:apEnd(1)=pE.Y:apEnd(2)=0
ThisDrawing.ModelSpace.AddLineapStart,apEndEndFunction
為了能連續地畫線,可以把前一線段的終點設為后一線段的起點,這樣可以提高畫線效率,并且不用重新設置線段的起點即設置當前繪制起點函數MoveTo只在畫圖形的第一點及中間打斷的線段的第一點調用。以下為連續畫線段函數LineTo:
PublicFunctionLineTo(ptEndAsPoint)
LinePointsptCurrent,ptEnd
ptCurrent=ptEnd
EndFunction
為了方便標注及在AutoCAD繪圖窗口的觀察,限界圖紙上要把控制點突出表示。本系統選用在各控制點畫點并標注的方式顯示各控制點(用戶可以選擇點樣式)。VBA里內置了畫點語句AddPoint,以下是畫點函數DrawPoint:
PublicFunctionDrawPoint(ptAsPoint)
DimapThis(2)AsDouble
apThis(0)=pt.X:apThis(1)=pt.Y:apThis(2)=0
ThisDrawing.ModelSpace.AddPoint(apThis)
EndFunction
某些時候限界坐標是左右對稱的,此時為了節省空間,系統數據庫里只存儲了橫坐標為正值(即Y軸右邊的點),在繪圖時先把Y軸右邊點的橫坐標變成負值(有些點坐標已為負值,這些特殊點橫坐標不做變化),縱坐標值不變,這樣可以得到限界上的所有點,然后繪圖。以下為反轉(橫)坐標函數ReverseX:
PublicFunctionReverseX(ptAsPoint)AsPoint
DimptNewAsPoint
ptNew.X=-pt.X
ptNew.Y=pt.Y
ReverseX=ptNew
EndFunction
通過以上各繪圖函數,再將各種規則寫入代碼,就可以實現自動繪圖功能。圖5為A型車地下圓形隧道區間的限界設計結果,圖中內容全部自動生成(代碼略)。


4結 語

與現有的同類軟件相比,本系統大膽地將實現完整設計工作的計算和繪圖作為目標,著眼于與實際設計工作的配合,盡量達到輔助設計的目的。系統在AutoCAD環境下運行,相當于給AutoCAD提供了一套強有力的專業工具,使計算和繪圖形成一體,同時給用戶提供了較大的活動空間,使用戶能夠在任何時候對所繪制的圖形進行編輯。本系統的建立能夠簡化地鐵限界設計工作,提高限界設計的效率和質量,提高工程建設信息化管理的水平。

參考文獻
1 中華人民共和國國家標準.地鐵設計規范GB50157-2003.北京:中國計劃出版社,2003.14~20,198~225
2中華人民共和國行業標準.地鐵限界標準CJJ96-2003.北京:中國建筑工業出版社,2003.2~3,96~97
3 MicrosoftCorporation.VisualBasic6.0中文版程序員指南,北京:北京希望電腦公司,1999.706~725
4 王鈺.用VBA開發AutoCAD2000應用程序,北京:人民郵電出版社,1999.66~109
5 張帆,鄭立楷,王華杰.AutoCADVBA開發精彩實例教程.北京:清華大學出版社,2004.36~76



 
舉報收藏 0打賞 0評論 0
 
更多>同類論文
推薦圖文
推薦論文
點擊排行
?
網站首頁  |  隱私政策  |  版權隱私  |  使用協議  |  聯系方式  |  關于我們  |  網站地圖  |  排名推廣  |  廣告服務  |  網站留言  |  RSS訂閱  |  違規舉報

津ICP備20006083號-1

津公網安備 12010502100290號

 
主站蜘蛛池模板: 乐都县| 台前县| 屏南县| 河间市| 陆川县| 六安市| 大安市| 三穗县| 大冶市| 繁峙县| 富平县| 寿阳县| 巴中市| 松原市| 台江县| 阜南县| 正阳县| 高雄县| 西华县| 原阳县| 石首市| 武山县| 东乡| 晋州市| 宁武县| 关岭| 岳阳市| 洪泽县| 鸡东县| 临城县| 巴东县| 博客| 伊金霍洛旗| 凭祥市| 棋牌| 镇原县| 贵定县| 霸州市| 西宁市| 丹寨县| 阳谷县|