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

鐵路站場平面輔助設計系統的設計與開發

2014-06-07 05:57:38王煥棟李海鷹苗建瑞從景帥
鐵道標準設計 2014年12期
關鍵詞:鐵路用戶系統

王煥棟,李海鷹,苗建瑞,從景帥

(1.北京交通大學軌道交通控制與安全國家重點實驗室,北京 100044;2.北京交通大學交通運輸學院,北京 100044)

鐵路站場平面輔助設計系統的設計與開發

王煥棟1,2,李海鷹1,苗建瑞1,從景帥1,2

(1.北京交通大學軌道交通控制與安全國家重點實驗室,北京 100044;2.北京交通大學交通運輸學院,北京 100044)

針對現有的鐵路站場平面輔助設計系統存在的道岔與線路、道岔與道岔間配列操作復雜等問題以及相關計算、統計和輸出等需要,使用Visual Studio 2008(C++)、ObjectARX 2010和Access 2010組合,開發鐵路站場平面輔助設計系統。系統充分利用AutoCAD現有的命令和交互方式,實現了線路、各類道岔自動配列連接,警沖標、信號機的自動插入,設備坐標、線路有效長的計算、統計、輸出,圖幅、標題欄的自動生成,主要實體屬性右鍵菜單更改等功能。介紹系統的功能模塊組織,分析鐵路站場平面基本設備圖元以及實體抽象,詳細闡述系統關鍵功能的設計。系統已經在《鐵路站場及樞紐》課程的車站設計綜合實驗中得以應用。

鐵路站場;平面設計;自動配列;AutoCAD;ObjectARX

AutoCAD在鐵路站場設計方面已得到廣泛普及和應用,是縮短設計周期、實現站場設計標準化的重要手段[1],但是因其功能具有普適性不能很好地滿足用戶的特定需求,這就需要對AutoCAD進行二次開發[2,3]。

目前已有許多針對鐵路站場、線路的輔助設計系統,在線路[4,5]、中間站[6]、區段站設計,站場路基橫縱斷面設計[7]等方面分擔了站場圖繪制的大部分工作量,提高了設計效率。鐵三院的RSD系統立足于站場專業設計人員自行開發,一體化方面的功能考慮較為全面,實現了計算機繪圖和自動計算統計的功能[8];鐵四院的CASD系統為站場設計人員提供了站場平面、縱斷面、工程數量計算、橫斷面設計、站場設計規范等方面的支持[9]。已有的系統大多面向專業的設計人員,在線路與道岔、道岔與道岔間配列的自動連接上考慮較少,即便采用交互的設計方式,操作也比較繁瑣[10-12]。基于此需求,開發了鐵路站場平面計算機輔助設計系統,實現了各類線路、道岔的自動配列連接,警沖標、信號機自動計算相對位置后插入,坐標和線路有效長的計算輸出,設備統計輸出等功能。選用ObjectARX 2010作為開發工具,它能與AutoCAD共享地址空間,可直接訪問AutoCAD數據庫的核心數據結構。本文分析了系統的功能模塊組織,抽象了鐵路站場平面設計中的基本設備圖元,闡述了系統主要功能的設計思路,并以咽喉區設計實例驗證了系統的適用性。

1 功能模塊組織

系統以兩類功能模塊來組織:DB(實體對象工程)和UI(實體參數獲取工程)。DB包含所有實體的繪圖函數組,實現圖形的繪制、顯示、整體編輯和存儲的功能;UI包含用戶界面,供用戶輸入關鍵點和控制點坐標,并且還包含數據庫輸入函數,用于存儲設計信息;命令組實現界面調用、關鍵點和控制點坐標傳輸的功能;設備信息通過數據庫函數記錄到文件數據庫中;UI通過函數調用DB中不同的實體對象,把圖形添加到數據庫中,從而在繪圖空間中顯示。功能模塊組織如圖1所示。

圖1 功能模塊組織

2 站場平面設計設備圖元和實體抽象

劃分系統功能模塊后,要進行實體抽象。以鐵路區段站為例,站場平面設計包含的主要設備圖元如下。

(1)線路。含直線線路和曲線線路,按照線路用途和歸屬可分為:正線、站線、段管線、岔線和特別用途線。

(2)線路連接。線路連接主要包括道岔、線路終端連接。道岔主要包括普通單開道岔、對稱道岔、三開道岔、交分道岔、單渡線和交叉渡線。線路終端連接主要包括普通式曲線連接和縮短式曲線連接。

(3)信號機和警沖標。

(4)標注。主要包括進路、曲線、坐標標注,線路、道岔編號等。

以站場設計中的主要設備圖元為參考,抽象出系統要定義的基本實體。渡線和交叉渡線等中都包含單開道岔,所以把單開道岔作為一個實體,交分道岔構成與單開道岔不同,作為一個實體;線路作為一個實體,保證主要站線的繪制、道岔以及其他設備的連接;信號機、警沖標、駝峰、貨場、牽出線和車檔都有固定構成,分別作為一個實體;曲線標注可以隨曲線直接生成,為便于整體修改也單獨設置一個實體。實體的設置要保證內部構成的合理性、實體間連接的方便性,保證實體能夠涵蓋所有站場設備;有些設備圖元是由多個基本實體構成,編輯的是整體卻需要識別其基本實體構成,例如單渡線和交叉渡線,系統把這類設備定義為塊;為了體現不同站場設備的固有性質,系統給實體賦予其特定的屬性,實體根據其屬性和編輯過程的不同進行分層管理,方便用戶查看和編輯。表1列出了幾個主要實體的屬性,表2是系統設計的圖層及其包含的主要設備。

表1 主要實體屬性

表2 圖層及其所包含的主要設備

3 主要設計思路

3.1 道岔及其配列方式

系統實現了線路與道岔配列的自動連接。以單開道岔為基礎,通過交互的方式配置道岔間、道岔與線路間連接關系和道岔參數來完成道岔的自動配列連接。如圖2所示,分為以下幾步來進行。

圖2 道岔配列形式的繪制

(1)確定要關聯的道岔和道岔基線。選擇已有的道岔switch1基線上的一點或者側線的一點作為參考;系統根據用戶點選的位置確定道岔配列的基線。主要應用的ObjectARX類庫函數如下:

acedEntSel(str,ent,firpt);//提供給用戶交互界面來選擇對象

acdbGetObjectId(switchid,ent);//得到用戶選擇的實體

acdbOpenObject(pEnt,switchid,AcDb:: kForRead);//讀取用戶選擇的實體對象

if(pEnt->isKindOf(CDBSwitch::desc()))//判斷用戶選擇的實體是否是道岔

(2)確定道岔開口方向。選擇第二點Ptsec,那么系統根據這兩個點的位置自動判斷道岔的開向為switch2的形式。

(3)確定道岔配列關聯位置。選擇道岔配列的連接位置Ptb,則switch2是在switch1的右側位置連接。

(4)確定配列道岔參數。完成前三步后,系統彈出對話框,用戶輸入相關道岔的轍叉號碼以及道岔間短軌長度,點擊確定后,把生成的道岔加入到數據庫中(pBlockTableRecord->appendAcDbEntity(entId, pEnt)),完成道岔配列。

3.2 塊的創建和識別

把多個實體創建為塊可以方便用戶對整體進行編輯,防止改變單一實體屬性造成配列的混亂。系統設計的塊主要有單渡線、交叉渡線以及交分道岔和單開道岔構成的復雜渡線。系統在直接創建塊的基礎上提供了間接的方式,把既有的單開道岔編輯為塊。以創建交叉渡線為例,通過點選既有的單開道岔和一條跟所選道岔基線平行的線路就可以完成交叉渡線參數的獲取,完成交叉渡線塊的創建后系統自動從數據庫中刪除已選的道岔。

為了道岔配列過程中對塊中單個實體的選擇,便于設備統計、坐標計算,系統在設計過程中增加了對塊中單個實體的識別。以交叉渡線為例(圖3),如果用戶要選擇交叉渡線中的某個道岔,用戶只需在交叉渡線塊中點擊想要選擇的道岔所在的位置(圖3所示switch1),系統利用acedEntSel函數識別到交叉渡線塊,通過創建遍歷器遍歷塊中的每一個道岔實體,再利用道岔實體的指針得到所選道岔的4個關鍵點,分別計算用戶選擇的點到各個道岔關鍵點的位置,選擇距離最小的點,將其所在道岔作為用戶所選的道岔。

圖3 交叉渡線塊的識別示意

關鍵代碼如下:

if(pentity->isKindOf(AcDbBlockReference::desc ()))//判斷選擇的實體是否是塊對象

{AcDbBlockReference*pbrer= (AcDbBlockReference*)pentity;//轉化為塊實體指針

AcDbObjectId entityid=pbrer->blockTableRecord ();//得到塊的ID

AcDbBlockTableRecord*pbtrecord;

acdbOpenObject(pbtrecord,entityid, kForRead);//以只讀的方式打開該塊

AcDbBlockTableRecordIterator*pblockiter;

pbtrecord->newIterator(pblockiter);//創建遍歷器

pbtrecord->close();//關閉塊表記錄

pbrer->close();//關閉塊指針

pentity->close();//關閉實體指針

for(;!pblockiter->done();pblockiter->step ())//遍歷塊中的每一個實體

{AcDbEntity*pzientity=NULL;

pblockiter->getEntity(pzientity,AcDb::kFor-Read);

if(pzientity->isKindOf(CDBSwitch::desc()))

{pzientity->close();}//關閉實體指針}}

3.3 對AutoCAD固有命令的封裝

AutoCAD固有命令有很好的交互界面,在鐵路站場平面設計中,自定義實體如線路、終端連接等操作涉及到屬性的添加,這些命令不能直接使用。為了能夠更好地利用AutoCAD本身的交互界面,本系統提出了另外一種解決方案:封裝AutoCAD既有的命令,保留命令外部傳遞實體、點和字符串等參數的接口,這樣只需傳遞參數就可以實現特定功能,減少開發工作量的同時還可保證命令的高效可靠。

以線路終端連接為例,系統采用封裝fillet命令的方法實現。如圖4所示,首先,利用交互函數acedEntSel提示用戶選擇連接對象一,完成選擇后繼續提示用戶選擇對象二,如果用戶選擇的是道岔對象,系統會根據用戶所選的位置判斷道岔的基線或者側線連接并生成一條輔助直線,根據直線對象的指針得到其名稱;然后,提示用戶輸入連接曲線的半徑,成功輸入后把曲線半徑、兩直線對象的名稱和兩直線對象上的任意兩點傳遞給調用fillet命令的acedCommand函數,fillet命令會自動延伸兩條直線并生成曲線,這時改變原有輔助直線的端點,作為連接直線既可以完成終端連接的繪制并保證沒有多余直線產生。調用fillet的關鍵代碼如下。

acedCommand(RTSTR,_T("FILLET"),RTSTR,_ T("R"),RTREAL,cur1.banjing,0);//第一步首先把半徑傳遞給fillet

acedCommand(RTSTR,_T("FILLET"),RTLB, RTENAME,first,RTPOINT,p1,RTLE,RTLB, RTENAME,last,RTPOINT,p2,RTLE,0);//第二步傳遞兩直線對象以及兩直線對象上的任意兩點

圖4 終端連接操作過程

3.4 線路有效長的計算和導出

系統采用用戶點選有效長參考元素的方式自動計算線路有效長。首先,用戶繪制一條直線與所有要計算有效長的線路相交,然后會彈出對話框界面,提示用戶輸入線路標準有效長;然后,到第二個對話框界面(圖5),逐個到設計圖中選取該線路有效長控制點參考設備,同一條線路的上下行全部選擇完畢后,系統自動轉到下一條線路繼續選擇控制點坐標,選擇的坐標會顯示在listctrl控件中;選擇完畢后,點擊計算有效長,在界面中可看到各條線路的有效長計算結果,可以在自動導出的數據庫表中查看有效長的計算結果。

圖5 有效長計算界面

完成有效長計算后,系統可將計算結果以表格的形式導出,然后系統可以自動移動設備以滿足線路標準有效長的要求,關鍵代碼如下。

AcGeMatrix3d mat;

mat.setToTranslation(AcGeVector3d vec);//構建變換矩陣

acdbOpenObject(AcDbEntity pEnt,AcDbObjectId entId

AcDb::kForWrite);//打開要移動的實體

pEnt->transformBy(mat);//進行實體移動

3.5 實體屬性的交互更改

對于道岔線路等實體,系統提供了屬性更改的功能,采取在右鍵菜單中添加更改選項的方式。用戶首先選擇要更改其屬性的實體,系統獲取用戶點選的實體參數;然后用戶點擊右鍵選擇“實體屬性更改”菜單項,實體屬性通過對話框的方式顯示并可編輯,用戶通過更改屬性可以對已經添加的到數據庫中的實體進行屬性的更改并覆蓋既有的實體。以單開道岔為例,屬性修改的關鍵代碼如下。

acdbOpenAcDbEntity(AcDbEntitypEnt, AcDbObjectId entid,AcDb::kForWrite);//打開要修改屬性的實體

CDBSwitch*pSwich1=(CDBSwitch*)pEnt;//把實體轉化為道岔類型

pSwich1->assertWriteEnabled();//使道岔對象可寫

pSwich1->m_db_size=dlg.m_size;//修改道岔型號

pSwich1->close();//關閉道岔對象

4 系統操作流程和效果圖

系統實現了線路、各類道岔自動配列連接,警沖標、信號機的自動插入,坐標、線路有效長的計算,設備統計,圖幅、標題欄的自動生成,表格、圖形輸出,線路、道岔屬性的右鍵菜單更改等主要功能。操作流程如圖6所示。

圖6 系統運行流程

系統編程實現后繪制的區段站比例尺圖如圖7所示,該圖只截取了右端咽喉的部分。

圖7 區段站咽喉比例尺

5 結語

針對鐵路站場平面設計的需求,基于ObjectARX開發了鐵路站場平面計算機輔助設計系統。系統操作簡單易于上手,經過試用后效果明顯,能夠很好地滿足需求,減少了用戶計算的工作量。系統的應用范圍較為廣泛,既適用于鐵路區段站、編組站等復雜車站,也適用于中間站等簡單車站。但是,由于站場圖形的復雜性以及用戶操作水平的多層次性導致系統的自動化繪制實現難度較大,后續的研究可以從設備之間的連接關系入手,豐富實體的屬性和關聯關系,為自動化設計的實現提供可能;另外系統可以針對縱斷面的設計進行深層次的開發以滿足多樣化的需求。

[1] 張曉露,陳永生,郭玉臣.基于ObjectARX和ADO.NE的列車線路圖計算機輔助設計[J].計算機應用,2009(29):149-151.

[2] 董玉德,趙韓.CAD二次開發理論與技術[M].合肥:合肥工業大學出版社,2009.

[3] 何亮.基于ObjectARX的CAD系統開發若干關鍵技術的研究[D].合肥:合肥工業大學,2008.

[4] 王玉澤.新建鐵路線路計算機輔助設計研究與開發[J].鐵道工程學報,2008(7):14-16.

[5] 徐斐.基于VC++和ObjectARX的選線系統的設計與開發[J].蘭州交通大學學報,2010,29(4):53-57.

[6] 黃偉敏,張金蒼.鐵路中間站平面輔助設計系統研究[J].鐵道標準設計,2013(2):19-21.

[7] 劉小龍,程耀東.基于ObjectARX的鐵路縱斷面自動出圖系統的研究[J].鐵路計算機應用,2009,18(1):9-11.

[8] 王立強.鐵路站場設計集成系統的開發研究[J].鐵道運輸與經濟,2004,27(4):60-62.

[9] 黃登.鐵路站場計算機輔助設計系統CASD[J].科技創業月刊, 2006,19(8):180-181.

[10]李雪婷.鐵路站場計算機輔助設計系統的研究[D].成都:西南交通大學,2004.

[11]任南杰.鐵路站場平面圖計算機輔助設計系統的研究與開發[D].成都:西南交通大學,2011.

[12]羅法水.鐵路站場平面一體化應用的研究及開發[J].鐵道標準設計,2005(6):18-21.

Design and Development of Aided Plane Design System for Railway Station

WANG Huan-dong1,2,LI Hai-ying1,MIAO Jian-rui1,CONG Jing-shuai1,2
(1.State Key Laboratory of Rail Traffic Control and Safety,Beijing Jiaotong University,Beijing 100044,China; 2.School of Traffic and Transportation,Beijing Jiaotong University,Beijing 100044,China)

In view of such problems as the complexity of operation in the connection of switch with track, switch with switch designed by the current aided plane design system for railway station,and the need for relative calculation,statistics and outputting,a new aided plane system is developed for railway station with the combination of Visual Studio 2008(C++),Object ARX 2010 and Access 2010.The system makes full use of the existing commands and interactive modes of the existing AutoCAD and fulfills the functions of automatic connection of switches and tracks,automatic inserting of fouling post and signal, calculation,statistics and outputting of device coordinate and effective track length,automatic creation of the sheet and title bar,attribution changing of the main entities,and so on.This paper addresses the function module organization of the system,analyses railway station plane device pixel and entity abstraction and elaborates on the design of key system functions.The system has been put into use in the station design assigned in the teaching course of Railway Stations and Terminals.

Railway station;Plane design;Automatic connection;AutoCAD;ObjectARX

U291.1

A

10.13238/j.issn.1004-2954.2014.12.013

1004-2954(2014)12-0051-05

2014-08-27;

2014-09-04

軌道交通控制與安全國家重點實驗室自主課題(編號: RCS2012ZZ002)

王煥棟(1990—),男,碩士研究生,E-mail:sandiago2008@ 163.com。

猜你喜歡
鐵路用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
沿著中老鐵路一路向南
云南畫報(2021年12期)2021-03-08 00:50:54
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
鐵路通信線路維護體制改革探索與實踐
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無人機在鐵路工程建設中的應用與思考
主站蜘蛛池模板: 天天操精品| 免费一级全黄少妇性色生活片| 狠狠干综合| 天天综合网色中文字幕| 国产精品亚洲精品爽爽| 97se亚洲综合在线天天| 成人在线综合| 97在线视频免费观看| 伊人久久大香线蕉综合影视| 波多野结衣无码AV在线| 免费观看男人免费桶女人视频| 19国产精品麻豆免费观看| 全裸无码专区| 国产在线麻豆波多野结衣| 亚洲AV无码久久精品色欲| 国产成人AV大片大片在线播放 | 任我操在线视频| 亚洲不卡影院| 国产在线97| 国产美女叼嘿视频免费看| 久久久噜噜噜久久中文字幕色伊伊 | 中文字幕亚洲精品2页| 黄色网在线| 99精品这里只有精品高清视频| 亚洲swag精品自拍一区| 亚洲激情99| 亚洲人成色77777在线观看| 国产福利不卡视频| 就去色综合| 午夜久久影院| 在线一级毛片| 野花国产精品入口| 亚洲永久免费网站| a毛片免费在线观看| 国产熟睡乱子伦视频网站| 久久人妻系列无码一区| a级毛片一区二区免费视频| 亚洲区一区| 免费人成在线观看成人片 | 国产免费羞羞视频| 一区二区三区高清视频国产女人| 国产午夜看片| 狠狠色丁香婷婷| 天天做天天爱夜夜爽毛片毛片| 无码'专区第一页| 四虎影视无码永久免费观看| 国产精鲁鲁网在线视频| 2048国产精品原创综合在线| 久久9966精品国产免费| 在线高清亚洲精品二区| 亚洲h视频在线| 91成人精品视频| 色综合手机在线| 欧美a在线| 狠狠综合久久| 国产成人无码Av在线播放无广告| 欧美国产在线看| 国产在线视频导航| 国产亚洲一区二区三区在线| 26uuu国产精品视频| 日本一本正道综合久久dvd| 日韩视频福利| 久久黄色一级片| 久久综合久久鬼| 就去色综合| 狠狠亚洲婷婷综合色香| 亚洲AV色香蕉一区二区| 91最新精品视频发布页| 亚洲成A人V欧美综合| 91色爱欧美精品www| 毛片视频网| 青青国产成人免费精品视频| 亚洲无限乱码| 欧美一区中文字幕| 91福利国产成人精品导航| 国产一区二区三区精品久久呦| 免费啪啪网址| 亚洲成A人V欧美综合天堂| 黄色网在线免费观看| 国产欧美日韩在线在线不卡视频| 日本五区在线不卡精品| 一边摸一边做爽的视频17国产|