蘆葦
(中鐵第五勘察設(shè)計(jì)院集團(tuán)有限公司,北京102600)
基于面向?qū)ο蠹夹g(shù)CAD自動(dòng)繪制鐵路長(zhǎng)途干纜設(shè)計(jì)圖的研究
蘆葦
(中鐵第五勘察設(shè)計(jì)院集團(tuán)有限公司,北京102600)
現(xiàn)階段,我國(guó)鐵路長(zhǎng)途的運(yùn)輸使用在逐年上升,對(duì)鐵路通信干纜的要求也越來(lái)越高?;诿嫦?qū)ο蠹夹g(shù)CAD自動(dòng)繪制鐵路長(zhǎng)途干纜設(shè)計(jì)圖的研究,分為3部分來(lái)介紹,對(duì)于促進(jìn)鐵路通信干線光纜、區(qū)間短段光、電纜線路工程和區(qū)間視頻監(jiān)控系統(tǒng)前端設(shè)備設(shè)計(jì)向高層次的集成化、智能化和標(biāo)準(zhǔn)化方向發(fā)展具有重要的理論意義和現(xiàn)實(shí)意義。
算法分析;面向?qū)ο笤O(shè)計(jì);光纜引入、引出計(jì)算;沿線設(shè)備
【DOI】10.13616/j.cnki.gcjsysj.2016.09.074
1.1 對(duì)象唯一性
每個(gè)圖元對(duì)象都有自身唯一的標(biāo)識(shí),通過(guò)這種標(biāo)識(shí)可計(jì)算相應(yīng)的坐標(biāo)點(diǎn)。在對(duì)象的整個(gè)生命期中,它的標(biāo)識(shí)不能改變,具有唯一性,并且不同的對(duì)象不能有相同屬性的標(biāo)識(shí)。
1.2 多態(tài)性
相同的方法或函數(shù)、過(guò)程可作用在多種類型的圖元對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性,每個(gè)圖元對(duì)象以適合自身的方式去響應(yīng)共同的消息以到達(dá)線路兩側(cè)建筑物模型的創(chuàng)建。
1.3 對(duì)象繼承關(guān)系
CAD二次開(kāi)發(fā)中C#常用對(duì)象繼承關(guān)系如圖1所示。
1.4 訪問(wèn)CAD的DXF數(shù)據(jù)交換接口
AutoCAD是由美國(guó)Autodesk公司開(kāi)發(fā)的單線程圖形編輯系統(tǒng),維持著一個(gè)十分緊湊的圖形數(shù)據(jù)庫(kù)(包含圖形的幾何和拓?fù)湫畔?,以DWG數(shù)據(jù)格式存儲(chǔ),開(kāi)發(fā)者很難直接讀取其數(shù)據(jù)并加以利用,我們可以利用其DXF(Drawing eXchangeFormat)數(shù)據(jù)交換接口把高級(jí)語(yǔ)言嵌入在CAD內(nèi)部進(jìn)行計(jì)算和繪制圖元,它是一種順序結(jié)構(gòu)文件,在一定組碼符號(hào)規(guī)定下包括了實(shí)體命令和幾何數(shù)據(jù)信息文件。
圖1 對(duì)象繼承關(guān)系
圖2 圖元表示
圖3 基礎(chǔ)模塊調(diào)用關(guān)系
1.5 簡(jiǎn)單圖元繪制
簡(jiǎn)單圖元繪制示例如圖2所示。
2.1 軟件結(jié)構(gòu)設(shè)計(jì)及模塊劃分
此次開(kāi)發(fā)的自動(dòng)繪制干纜程序以功能化、實(shí)用化為目標(biāo),采用面向?qū)ο笤O(shè)計(jì)思想,有利于根據(jù)鐵路通信業(yè)務(wù)需求對(duì)業(yè)務(wù)邏輯進(jìn)行修改和擴(kuò)展。(1)將設(shè)計(jì)目標(biāo)的功能細(xì)化,通過(guò)學(xué)習(xí)設(shè)計(jì)標(biāo)準(zhǔn)和設(shè)計(jì)原則尋求設(shè)計(jì)目標(biāo)的精確性;(2)采用組件函數(shù)設(shè)計(jì)實(shí)現(xiàn)復(fù)雜化向通用化轉(zhuǎn)變,將設(shè)計(jì)目標(biāo)按功能和內(nèi)容劃分為各級(jí)子模塊,降低耦合度,提高模塊間內(nèi)聚,若鐵路通信設(shè)計(jì)標(biāo)準(zhǔn)有所變化,只需要修改相應(yīng)模塊,如圖3所示。
2.2 區(qū)間建筑、設(shè)備、圖框設(shè)計(jì)模塊
區(qū)間建筑房屋、設(shè)備點(diǎn)設(shè)計(jì)過(guò)程中的一個(gè)重要思想就是分段處理,在平面圖繪制中,必須要以包含區(qū)間布點(diǎn)里程信息、線路上橋隧信息、基站設(shè)置情況(各專業(yè)提供的Excel表格),外部數(shù)據(jù)文件作為繪制條件寫入數(shù)組[1],通信機(jī)械室(站房)、隔離開(kāi)關(guān)、光纜分歧頭及橋隧的所有里程,先對(duì)所有數(shù)據(jù)∑ak=a1+a2+…+an求和,式中,k為整數(shù)集合的長(zhǎng)度或總量,定義小于n且和n互質(zhì)的數(shù)構(gòu)成的集合為Array<z>,稱呼這個(gè)集合為n的完全余數(shù)集合,對(duì)于互質(zhì)的整數(shù)a和n,有a^φ(n) mod n=1,讓數(shù)組中每n個(gè)元素中最后一個(gè)作為本組的結(jié)點(diǎn),再對(duì)總數(shù)量分組求和后下一個(gè)元素插入點(diǎn)的X軸向后劃定間距,整數(shù)集合存在n= kp+r,式中,n為最大因子,k為系數(shù),p為正整數(shù),r為余數(shù),根據(jù)余數(shù)變換坐標(biāo)點(diǎn)期間捕捉一個(gè)設(shè)備的插入點(diǎn)的X軸作為坐標(biāo)轉(zhuǎn)換原點(diǎn),然后遍歷整個(gè)數(shù)組再根據(jù)數(shù)組下標(biāo)來(lái)動(dòng)態(tài)計(jì)算其他圖元的X軸和Y軸坐標(biāo),將這些數(shù)據(jù)總數(shù)量求模取余計(jì)算后分段存儲(chǔ)在集合中并封裝成函數(shù),通過(guò)調(diào)用所需函數(shù)即可分段繪制出所需區(qū)間設(shè)備組平面圖框架,此時(shí)圖框也可根據(jù)余數(shù)來(lái)確定個(gè)數(shù),通過(guò)個(gè)數(shù)進(jìn)行矩形坐標(biāo)點(diǎn)變換即可按分組繪制標(biāo)準(zhǔn)圖框,同時(shí)解決了美觀問(wèn)題。但是針對(duì)光纜分歧盒設(shè)計(jì)是按千米盤長(zhǎng)決定的,與其他設(shè)備點(diǎn)里程對(duì)應(yīng)關(guān)系有差別,這也是程序設(shè)計(jì)中的難點(diǎn)。另一個(gè)難點(diǎn)就是連續(xù)橋分段處理,即同一架橋體現(xiàn)在兩段圖框平面中的坐標(biāo)變換。程序中要注意的地方很多,對(duì)于一個(gè)鏈表結(jié)構(gòu)的集合,需要考慮加入斷鏈表后,斷鏈表中里程的實(shí)際里程如何轉(zhuǎn)換為在平面圖中的實(shí)際位置,這也是按圖紙圖面進(jìn)行節(jié)約長(zhǎng)度的處理。
2.3 區(qū)間光電纜引入、引出路徑設(shè)計(jì)模塊
除上、下行主干線外,難點(diǎn)在于區(qū)間光電纜路徑的建立,程序中首要考慮的是每個(gè)房屋、每個(gè)設(shè)備有無(wú)光電纜引入、引出,如果存在,就構(gòu)建結(jié)構(gòu)體函數(shù),
例如,通信機(jī)械室有引出光纜到隔離開(kāi)關(guān)1,也引出到救援通道1,上一個(gè)鄰接組中的基站也有到通信機(jī)械室的光纜引入,還有回路情況,此時(shí)應(yīng)按照多對(duì)多的數(shù)據(jù)結(jié)構(gòu)關(guān)系進(jìn)行程序設(shè)計(jì)。多對(duì)多的數(shù)據(jù)關(guān)系意為多個(gè)集合之間的數(shù)據(jù)關(guān)系,該關(guān)系中第一個(gè)集合中的一個(gè)行可以與第二個(gè)集合中的一個(gè)或多個(gè)行相關(guān)聯(lián)。第二個(gè)集合中的一個(gè)行也可以與第一個(gè)集合中的一個(gè)或多個(gè)行相關(guān)連。在沒(méi)有借助數(shù)據(jù)庫(kù)系統(tǒng)的情況下,只能通過(guò)圖結(jié)構(gòu)、樹型結(jié)構(gòu)來(lái)構(gòu)建結(jié)構(gòu)體模擬數(shù)據(jù)庫(kù)查詢功能,通過(guò)讀寫Excel文件來(lái)對(duì)數(shù)據(jù)結(jié)構(gòu)重組完成集合數(shù)據(jù)對(duì)應(yīng)關(guān)系,為了節(jié)省內(nèi)存開(kāi)銷我們選用嵌套遍歷后折半查找算法,求出擁有引出線纜的房屋結(jié)果集。
下面提供一段集合中折半查找實(shí)現(xiàn)的偽代碼:
BinarySearch(max,min,des)
mid-<(max+min)/2
while(min<=max)
mid=(min+max)/2
if mid=des then
return mid
elseif mid>des then
max=mid-1
else
min=mid+1
return max
將第一個(gè)集合中的n個(gè)元素分成大致相等的兩部分,用第二個(gè)集合中存在的引入設(shè)備的結(jié)果集X跟其做比較,取a[n/2]與X做比較,如果X=a[n/2],則找到X,算法中止;如果X<a[n/2],則只要在數(shù)組a的左半部分繼續(xù)搜索X,如果X>a[n/ 2],則只要在數(shù)組a的右半部分搜索X,時(shí)間復(fù)雜度無(wú)非就是雙層遍歷的次數(shù)。時(shí)間復(fù)雜度可以表示為O()=O(logn)。這樣做是因?yàn)镃AD軟件是個(gè)單線程的程序,避免了出現(xiàn)笛卡爾積的情況。此外,程序還需考慮區(qū)間干線的走向及過(guò)軌位置;線纜的單側(cè)敷設(shè)還是雙側(cè)敷設(shè);在單線橋的地方,還要根據(jù)橋上是否有設(shè)備以及根據(jù)通信機(jī)械室或基站的位置來(lái)確定線纜是否分開(kāi)繞行;還應(yīng)根據(jù)設(shè)計(jì)規(guī)范考慮在上設(shè)備桿時(shí)和上橋時(shí)線纜的彎曲系數(shù);程序就是按照以上設(shè)計(jì)原則布置各設(shè)備干線及區(qū)間支線光電纜的走行情況[2]。
2.4 基礎(chǔ)數(shù)據(jù)的讀寫
該程序?yàn)閱尉€程執(zhí)行,所有后臺(tái)數(shù)據(jù)都是按格式讀寫Excel表格,包括自行編制的平面數(shù)據(jù)及配置文件,通過(guò)引用微軟的COM組件并將其轉(zhuǎn)換成.NET組件才可以在程序中正常調(diào)用??紤]到每位用戶Excel存放位置不同,我們將提供對(duì)話框選取形式獲取Excel文件,避免移植到其不同用戶機(jī)上的路徑問(wèn)題。
此次研發(fā)的鐵路長(zhǎng)途通信干纜自動(dòng)繪制軟件基于AutoCAD2015平臺(tái),在.NET2013開(kāi)發(fā)環(huán)境下利用C#語(yǔ)言進(jìn)行鐵路通信施工圖的設(shè)計(jì)與開(kāi)發(fā),在設(shè)計(jì)周期短的形勢(shì)下,快速準(zhǔn)確、保質(zhì)保量地完成了設(shè)計(jì)任務(wù),為各站按時(shí)開(kāi)通奠定了基礎(chǔ)。
目前該設(shè)計(jì)軟件只應(yīng)用于客專線路,針對(duì)普速線路的情況,今后還需做進(jìn)一步的擴(kuò)展和完善工作,期望滿足各種線路及區(qū)間設(shè)計(jì)要求。
【1】羅法水.鐵路站場(chǎng)平面一體化應(yīng)用的研究及開(kāi)發(fā)[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2005(6):12-13.
【2】易思蓉,莊海珍.一種大型帶狀數(shù)字地形模型數(shù)據(jù)結(jié)構(gòu)[J].鐵道勘察,2004(5):34-36.
Study on Long-distance Railway Trunk Cable Designs by CAD Automatic Plotting Based on Object-oriented Technology
LU Wei
(China Railway Fifth Survey and Design Institute GroupCo.Ltd.,Beijing 102600,China)
Nowadays,long-distance railway transport is increasing year by year,asking for more from the railway trunk cable.As the study on long-distance railway trunk cable designs by CAD automatic plotting based on object-oriented technology,this paper makes an introduction in three parts.It has important theoretical and practical significance to promote the designs of trunk cable,short section light and cable line engineering and front end equipment of interval video monitoring system to a higher level of integration,intelligence and standardization.
algorithm analysis;object-oriented design;optical cable inlet and outlet calculation;line-side equipment
TP391.72
A
1007-9467(2016)09-0178-03
2016-08-20
蘆葦(1983~),男,河南鄭州人,工程師,從事通信設(shè)計(jì)、軟件工程研究。