999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單元的鐵路線路平面設計及其數據管理方法

2010-08-07 08:42:04蔣紅斐孫曉麗
鐵路計算機應用 2010年9期
關鍵詞:數據庫

石 星,蔣紅斐,孫曉麗

(中南大學土木建筑學院, 長沙410075)

在傳統的鐵路平面計算機輔助設計中大多采用交點法,交點法雖然簡單,但存在一定的局限性。例如線路要連續繞過兩個地形不利地段,這時線位應該由曲線控制,如果使用交點法來定線,實施起來相當的困難。如果能先把兩段曲線的位置固定下來,然后再在兩曲線間插入直線,便可輕松實現。考慮到在曲線毗連地段交點法帶來的不便,一種新的基于單元的鐵路線路平面設計方法,將整條線路中線看成是由一系列線路單元按順序連接而成,稱之為單元法。單元法使布線更加的靈活,在一定程度上提高工作效率。程序采用ObjectARX作為開發工具。

1 基于單元的鐵路線路平面設計方法

在單元法中將整條線路中線看成是由一系列線路單元按順序連接而成。即線路單元是線路最基本的構成元素。由于鐵路線路的線形比較簡單,系統將線路單元區分為曲線單元和直線單元。曲線單元由中間的一段圓弧和兩端的對稱緩和曲線組成。可以把直線單元看成特殊的曲線單元。應用程序采用了2種線路定位方式:(1)在兩端用直線單元定位,中間再插入曲線單元如圖1。(2)在兩端用曲線單元定位,中間再插入直線單元如圖2。在插入單元后,只需對3條線路單元的位置(兩端的線路單元定位用)進行重新計算,然后連接3條連續的線路單元,一段線路中線便形成了。

圖1 兩直線單元間插入曲線單元

圖2 兩曲線單元間插入直線單元

2 數據管理方法

如何才能輕松便捷地實現上述功能?這就涉及到數據處理的問題了。以在兩曲線單元間插入直線單元為例。首先要知道第1個曲線單元的位置,然后在它的后面插入新生成的直線單元。然后還要獲取這連續的3個單元的具體數據,如圓弧半徑,偏轉方向等。有了這些數據才能來計算出新位置參數,然后更新數據。如何快速便捷的實現這些數據的處理,這時數據管理方法的選取顯得尤為重要。在傳統的鐵路選線CAD系統中,大多采用基于外部文件或外部數據庫來進行數據的存取。而這種方式存在許多的不足。由于要頻繁的對線路進行改動,而線路中所有圖形的數據均存儲于外部文件或數據庫中。一旦改動圖形,就必須保證外部數據庫得到實時更新即數據與圖形的同步。一旦外部數據庫出錯或丟失,圖形文件也就沒有用了。而且采用外部文件或數據庫管理數據時,由于文件多而雜,對這些數據文件的管理與維護也是一個麻煩的問題,容易出錯。而CAD的圖形文件本來就是一個數據庫,如果能夠直接在其圖形數據庫中讀取與存儲數據,以上的問題便迎刃而解。利用自定義對象來讀取與存儲數據便可以輕松解決這一問題。

3 實現方法

3.1 使用自定義對象進行數據存取

從AcDbObject派生自己的自定義對象。該自定義對象中含有一個鏈表,鏈表用于存儲線路中線各線路單元(自定義實體)的ID,其存儲ID的順序與線路中線中各線路單元的順序一致。該自定義對象類重定義其dwgOut()、dwgIn()、dxfOut()和dxfIn()函數使其能夠按正確順序寫入寫出鏈表容器中所存儲的對象ID。并定義各種接口函數,用于對鏈表容器進行相應的操作。應用程序利用自定義對象中所存儲的線路單元的ID來讀取相應線路單元的數據進行其他操作。該自定義對象的實例存儲在命名對象字典中,每當新建或打開一個圖形時,應用程序自動檢查其命名對象字典,如果沒有該自定義對象實例,則自動添加一個。

3.2 單元的數據結構

線路中線中,不論是曲線單元(兩端為對稱緩和曲線中間為一段圓?。?,還是直線單元,都用同一個自定義實體類來表示。該自定義實體共有3個構造函數:(1)默認構造函數,由于初始化所有的數據成員,默認構造該單元為直線;(2)直線單元的構造函數,通過指定直線的起點和終點來構造直線單元;(3)曲線單元的構造函數,通過指定圓弧的起點,終點,圓弧的半徑,曲線偏轉方向以及緩和曲線長來構造曲線單元。

除去表示曲線和直線所必須的數據成員之外,還額外定義了兩個數據成員Flag1和Flag2。Flag1用來標識該單元是直線單元還是曲線單元,Flag2用來標識該單元是否已經從數據庫中擦除。當從塊表的模型空間刪除一個單元時,應用程序并不從上述自定義對象的鏈表中刪除該單元對應的ID,而是通過改變該單元的數據成員Flag2的值來表示該單元已被刪除的狀態。直到該圖形保存或關閉時,才從鏈表中真正刪除已經被擦除的單元對應的ID。

3.3 合理使用反應器

從圖形中擦除一個線路單元時,該單元的數據成員Flag2被置為擦除狀態?;謴鸵粋€線路單元時,Flag2被置為未刪除狀態?;蛘弋斝薷囊粋€線路單元時,相鄰的單元能夠對這次修改自動作出反應,以生成一段新的線路中線??梢酝ㄟ^數據庫臨時反應器來實現上述功能。當打開或新建一個圖形時,應用程序自動添加一個數據庫反應器。關閉一個圖形時,應用程序自動將反應器移除。通過重定義相應的通知函數來對不同的通知作出反應。

3.4 數據處理具體流程

以在兩曲線單元間插入直線單元為例。首先,創建一個直線單元,并把它添加到快表的模型空間中。然后要求用戶指定該新建單元的前部單元,得到其ID。從命名對象字典中找到自定義對象,打開它,遍歷鏈表尋找上述ID。找到之后,便在鏈表中該元素的后面插入新建單元的ID。這樣新建單元的數據便完整的保存到圖形數據庫中了,接下來要連接3個單元。找到該新建單元的ID之后,依次向前和向后遍歷鏈表。從模型空間中打開它們,返回所需的數據進行計算,利用計算后的新數據來更新線路單元實體,然后分別從屏幕刷新它們,連接單元的工作便完成了。

4 結束語

使用單元法來進行鐵路線路的平面設計,較之傳統的交點法布線手段更加靈活,修改方便,適應性更強,可以提高的工作效率。而通過利用自定義對象,直接將數據存儲于圖形文件中的方法,使應用程序不必訪問外部數據庫便能輕松實現數據的存取,讓操作更加直接、方便和快捷。由于所有數據均存儲于單一的圖形文件中,對數據的維護和管理也更加的輕松簡單并且更不易出錯。

[1] 邵俊昌,李旭東.AutoCAD ObjectARX 2000 開發技術指南[M] . 北京:電子工業出版社,1999.

[2] 李世國,潘建忠,平雪良. AutoCAD 2000 ObjectARX 編程指南[M] . 北京:機械工業出版社,2000.

[3] 詹振炎. 鐵路選線設計方法的現代理論和方法[M] . 北京:中國鐵道出版社,2001.

[4] 郝瀛. 鐵道工程[M] . 北京:中國鐵道出版社,2007.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲日本中文字幕乱码中文| 久久久久夜色精品波多野结衣| 日本妇乱子伦视频| 欧美精品另类| 欧美在线观看不卡| 在线观看国产一区二区三区99| 国模私拍一区二区三区| 91精品免费高清在线| 激情成人综合网| 亚洲水蜜桃久久综合网站| 国产日韩欧美视频| 久久国产免费观看| a在线亚洲男人的天堂试看| 亚洲丝袜中文字幕| 国产成人精品综合| 99热这里只有成人精品国产| 欧类av怡春院| 色婷婷成人| 日韩视频福利| 亚洲欧美一区二区三区蜜芽| 亚洲乱亚洲乱妇24p| 麻豆国产在线不卡一区二区| 久久亚洲国产一区二区| 国产区福利小视频在线观看尤物| 在线国产资源| 国产v精品成人免费视频71pao | 伊人丁香五月天久久综合| 国产一区亚洲一区| 日韩精品亚洲一区中文字幕| 性激烈欧美三级在线播放| 91在线激情在线观看| 精品一区国产精品| 国产精品成人一区二区| 亚洲首页国产精品丝袜| 亚洲女人在线| 国国产a国产片免费麻豆| 国产一级裸网站| 在线观看免费国产| 欧美激情伊人| 99热这里只有精品免费| 亚洲国产综合第一精品小说| 中日无码在线观看| 欧美精品亚洲精品日韩专区va| 呦视频在线一区二区三区| 国产综合亚洲欧洲区精品无码| 在线看片中文字幕| 99视频全部免费| 91精品亚洲| 国产十八禁在线观看免费| 国产成人高清在线精品| 欧美色伊人| 免费99精品国产自在现线| 午夜精品一区二区蜜桃| 亚洲av日韩综合一区尤物| 久久99精品久久久久久不卡| 亚洲成a人片7777| 69视频国产| 亚洲国产成人无码AV在线影院L| 精品一区二区三区水蜜桃| 一级毛片在线免费看| 精品国产免费人成在线观看| 欧美中文字幕在线二区| 中文毛片无遮挡播放免费| 真实国产精品vr专区| 97超碰精品成人国产| 亚洲αv毛片| 久久人人爽人人爽人人片aV东京热| 久久精品免费国产大片| 日韩国产无码一区| 99re这里只有国产中文精品国产精品| 欧美一级高清片欧美国产欧美| 91九色视频网| 91免费国产高清观看| 国产91九色在线播放| 青青操国产视频| 婷婷色婷婷| 一级一毛片a级毛片| 欧美午夜视频| 国产97视频在线观看| 精品无码专区亚洲| 国产美女免费| 一本大道香蕉高清久久|