亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于單元的鐵路線路平面設(shè)計及其數(shù)據(jù)管理方法

        2010-08-07 08:42:04蔣紅斐孫曉麗
        鐵路計算機應(yīng)用 2010年9期
        關(guān)鍵詞:鏈表應(yīng)用程序直線

        石 星,蔣紅斐,孫曉麗

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

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

        1 基于單元的鐵路線路平面設(shè)計方法

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

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

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

        2 數(shù)據(jù)管理方法

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

        3 實現(xiàn)方法

        3.1 使用自定義對象進行數(shù)據(jù)存取

        從AcDbObject派生自己的自定義對象。該自定義對象中含有一個鏈表,鏈表用于存儲線路中線各線路單元(自定義實體)的ID,其存儲ID的順序與線路中線中各線路單元的順序一致。該自定義對象類重定義其dwgOut()、dwgIn()、dxfOut()和dxfIn()函數(shù)使其能夠按正確順序?qū)懭雽懗鲦湵砣萜髦兴鎯Φ膶ο驣D。并定義各種接口函數(shù),用于對鏈表容器進行相應(yīng)的操作。應(yīng)用程序利用自定義對象中所存儲的線路單元的ID來讀取相應(yīng)線路單元的數(shù)據(jù)進行其他操作。該自定義對象的實例存儲在命名對象字典中,每當新建或打開一個圖形時,應(yīng)用程序自動檢查其命名對象字典,如果沒有該自定義對象實例,則自動添加一個。

        3.2 單元的數(shù)據(jù)結(jié)構(gòu)

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

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

        3.3 合理使用反應(yīng)器

        從圖形中擦除一個線路單元時,該單元的數(shù)據(jù)成員Flag2被置為擦除狀態(tài)?;謴?fù)一個線路單元時,F(xiàn)lag2被置為未刪除狀態(tài)?;蛘弋斝薷囊粋€線路單元時,相鄰的單元能夠?qū)@次修改自動作出反應(yīng),以生成一段新的線路中線。可以通過數(shù)據(jù)庫臨時反應(yīng)器來實現(xiàn)上述功能。當打開或新建一個圖形時,應(yīng)用程序自動添加一個數(shù)據(jù)庫反應(yīng)器。關(guān)閉一個圖形時,應(yīng)用程序自動將反應(yīng)器移除。通過重定義相應(yīng)的通知函數(shù)來對不同的通知作出反應(yīng)。

        3.4 數(shù)據(jù)處理具體流程

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

        4 結(jié)束語

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

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

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

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

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

        猜你喜歡
        鏈表應(yīng)用程序直線
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        基于二進制鏈表的粗糙集屬性約簡
        跟麥咭學(xué)編程
        畫直線
        基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
        兩條直線 變變變
        畫直線
        鏈表方式集中器抄表的設(shè)計
        電測與儀表(2014年1期)2014-04-04 12:00:22
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設(shè)應(yīng)用程序下載商店
        欧美成人免费高清视频| 青青草精品视频在线播放| 精品无人码麻豆乱码1区2区| 成人片黄网站色大片免费观看cn| 97色偷偷色噜噜狠狠爱网站| 越南女子杂交内射bbwbbw| 中文字幕avdvd| 亚洲乱色视频在线观看| 国产人妖伦理视频在线观看| 国产精品成熟老女人| 97无码免费人妻超级碰碰夜夜| 99这里只有精品| 人妖熟女少妇人妖少妇| 日本黄色3级一区二区| 超碰cao已满18进入离开官网| 亚洲AV无码一区二区三区日日强 | 欧美三级不卡视频| 国产亚洲午夜高清国产拍精品不卡| 内谢少妇xxxxx8老少交| 蜜臀久久99精品久久久久久| 天堂av在线美女免费| 亚洲av无码成人精品区狼人影院| 女邻居的大乳中文字幕| 亚洲国产精品无码久久98| 亚洲中文久久精品无码ww16| 久久天天躁夜夜躁狠狠躁2022| 亚洲人成无码网站十八禁| 亚洲无人区乱码中文字幕| 校园春色综合久久精品中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 无码精品色午夜| 扒开女性毛茸茸的视频| 国产亚洲精品成人aa片新蒲金| 娇妻玩4p被三个男人伺候电影| 无码国产一区二区色欲| 男女av免费视频网站| 亚洲av无码国产精品色软件下戴| 欧美日韩精品一区二区在线视频| 国产精品一区二区AV不卡| 成人久久久精品乱码一区二区三区| 无人高清电视剧在线观看|