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
主站蜘蛛池模板: 色噜噜中文网| 亚洲视频在线网| 丁香婷婷在线视频| 在线另类稀缺国产呦| 亚洲第一精品福利| 欧美中文字幕在线视频| 天堂在线www网亚洲| 亚洲综合色婷婷中文字幕| 亚洲性视频网站| 久久精品国产精品国产一区| 免费人欧美成又黄又爽的视频| 久久久久久高潮白浆| 欧美视频免费一区二区三区| 97久久精品人人| 国产成人亚洲毛片| 亚洲精品视频免费观看| 综合色天天| 国产精品亚洲va在线观看| 久久婷婷色综合老司机| 精品国产自在在线在线观看| 亚洲中文字幕在线一区播放| 中国成人在线视频| 成人av手机在线观看| 91精品伊人久久大香线蕉| 强奷白丝美女在线观看| 欧美亚洲第一页| 成人精品免费视频| 激情无码视频在线看| 亚洲制服中文字幕一区二区| 99精品免费欧美成人小视频 | 欧美日韩久久综合| 中文字幕首页系列人妻| 久久精品91麻豆| 国产欧美视频综合二区 | 成年网址网站在线观看| 欧美a在线看| 亚洲乱码视频| 毛片视频网址| 欧美成人午夜视频免看| 国产v精品成人免费视频71pao| 青青久视频| 国产91精品久久| www中文字幕在线观看| 国产91特黄特色A级毛片| 99尹人香蕉国产免费天天拍| 国产成人一区| 国产性爱网站| 国产精品区视频中文字幕| 国产成人乱码一区二区三区在线| 无码'专区第一页| 成年A级毛片| 无码一区二区三区视频在线播放| 国产一级在线观看www色| 久久精品中文字幕少妇| 韩国自拍偷自拍亚洲精品| 国产爽妇精品| 四虎亚洲国产成人久久精品| 91久久偷偷做嫩草影院免费看| 亚洲国产亚洲综合在线尤物| 久久窝窝国产精品午夜看片| 青草视频在线观看国产| 国产精品太粉嫩高中在线观看| 91系列在线观看| 国产精品成人观看视频国产 | 91视频首页| 日本草草视频在线观看| 免费看美女自慰的网站| 欧美激情成人网| 色窝窝免费一区二区三区| 亚洲国产日韩在线成人蜜芽| 婷婷激情亚洲| 中文字幕免费视频| 国产九九精品视频| 中文精品久久久久国产网址 | 亚洲福利一区二区三区| 日本国产在线| 成人一级黄色毛片| 欧美五月婷婷| 午夜激情婷婷| 免费看a级毛片| 欧洲熟妇精品视频| 亚洲第一视频区|