APP下载

高速铁路综合图自动生成关键技术研究

2015-11-24程耀东潘永健朱奕蓓

铁道标准设计 2015年10期
关键词:绘图高速铁路绘制

程耀东,潘永健,朱奕蓓,杨 军

(1.兰州交通大学甘肃省道路桥梁与地下工程重点实验室,兰州 730070;2.兰州铁路局武威工务段,甘肃武威 733099;3.兰州交通大学电子与信息工程学院,兰州 730070)

高速铁路综合图自动生成关键技术研究

程耀东1,潘永健2,朱奕蓓1,杨 军3

(1.兰州交通大学甘肃省道路桥梁与地下工程重点实验室,兰州 730070;2.兰州铁路局武威工务段,甘肃武威 733099;3.兰州交通大学电子与信息工程学院,兰州 730070)

在AutoCAD开发环境下,以Visual LISP为开发工具,研究数据处理、图形绘制、图形裁剪及打印等技术,开发快速高效的自动化绘图软件,实现数据自动导入、自动绘图、图形自动分幅和批量打印等功能,提高绘图效率,为铁路工务管理部门提供自动化绘图平台。

高速铁路; 线路制图; 综合图; Visual LISP; AutoCAD

铁路综合图是依据施工单位的竣工资料而编制的,它以铁路运营里程为基准,集中绘制并标注铁路线路平面示意图、坡度、正线允许速度、线桥设备及里程等信息,方便铁路工务人员查询并指导铁路线路养护维修。

文献[1]结合京津城际铁路建设实际,提出系统集成接口管理的基本方法、接口管理程序和系统集成接口总图等管理工具,形成一整套管理程序和技术规范。文献[2]对路基曲线地段无砟轨道采用不同超高设置方式后的力学特性进行了对比研究,为无砟轨道超高设置方式的合理应用提供依据。文献[3]对铁路工程技术标准的体系及管理进行了研究,提出建设性的意见。文献[4]针对现有的铁路站场平面辅助设计系统存在的问题,使用高级语言和开发工具,对铁路站场平面辅助设计系统的开发技术进行了研究。文献[5-10]对铁路选线平台、线路纵断面生成方法及轨道交通标准化设计数据库开发技术等方面进行了研究。

随着高速铁路的快速发展,原有的“铁路工务管理信息系统(PWMIS)”已不能满足高速铁路综合图的绘制要求。为此,在AutoCAD环境下,运用Visual LISP为开发工具,开发高效、准确地绘制高速铁路综合图的软件,为铁路工务人员在高速铁路线路养护维修中,提供完整、准确并实时更新的技术资料势在必行。

1 高铁综合图自动绘制软件总体设计及开发环境

铁路工务部门要求高速铁路综合图自动绘制软件,以提供的Excel信息数据为依据,在AutoCAD环境下,由程序自动读取线路的曲线资料、隧道表、大中桥、涵洞、车站、正线允许速度及里程等数据,实现自动绘图、裁图及批量打印等功能,软件功能结构如图1所示。

图1 软件功能结构

由于Visual LISP是继AutoLISP、ADS、ObjectARX、VBA等AutoCAD开发工具之后,Autodesk公司提供给用户的又一强大的开发工具,且在该集成环境下可以高效、便捷地开发用户程序,可以经过编译得到代码紧凑、运行效率高、源代码受到保护的应用程序,为此,选择Visual LISP语言对AutoCAD进行二次开发。

2 高铁信息数据处理技术

高速铁路综合图自动绘制所需要的数据较多,包括线路曲线、桥隧涵、行车速度及里程等数据,绘图时,需选择Excel表中相关绘图数据工作表,所以,程序自动导入并读取和处理Excel数据是关键。导入的Excel数据文件、数据工作表名称和单元格范围的设定,均通过一个对话框来完成。

2.1 数据选择对话框设计

高铁综合图信息数据存储在Excel文件中,使用对话框界面能够简单、直观地进行文件的选择和工作表中数据范围的设置。对话框是采用DCL语言定义, 用Visual LISP实现加载、初始化、激活和卸载等操作,数据导入对话框的源文件是随着对话框的调用而动态加载和卸载的。在绘图前,先指定Excel数据文件的位置,设定绘图所需的工作表名和数据范围,如图2所示。

图2 铁路综合图绘图数据选择对话框

2.2 Excel数据导入方法

Excel数据文件的导入、数据工作表名称和单元格范围的设定,是通过在Auto LISP中使用ActiveX对象与Microsoft Excel对象的转换来实现的。值得注意的是,在Visual LISP中使用ActiveX函数之前,必须先调用vl-load-com函数来初始化ActiveX环境[11]。数据导入自定义函数包括三个参数:excelFile(Excel文件名)、sheetName(工作表名称)和rangeStr(单元格范围)。在绘图程序可多次调用该函数,获取Excel文件中指定的工作表及其单元格范围的绘图和标注数据。数据导入函数定义为:

(defun GetCellValueAsList(excelFile sheetName rangeStr / xl wbs wb shs sh rg vvv ttt)。

2.3 数据处理

在定义数据导入函数后,可调用该函数读取Excel数据,方法如下:

(setq retV (GetCellValueAsList excelFile sheetName rangeStr))

此表返回一个工作表中的所有数据,并以表的形式存储在变量retV中。此表中的每一个元素为一行数据,同样也是一个表。在每一行数据的表中,每一个元素对应一个数据,其数据类型是变体(variant)类型。变体类型的数据并不能被绘图程序直接使用,绘图时,x,y坐标为浮点型,而文字标注的内容为字符串,需要先根据要求转换为程序所需要的类型。

3 高铁综合图自动绘制技术

高速铁路综合图信息量大、图形范围长,若在AutoCAD环境下,采用手工交互式绘图和图形更新,则工作量巨大,且易出错。由于高速铁路综合图为长条形,沿里程方向标注行车速度、线桥设备、线路名称、平面示意图、轨顶高程、坡度及里程等,因此,根据铁路综合图的特点,可编程实现自动绘图和图形更新。

3.1 建立图层与设置文字样式

在绘制高速铁路综合图时,根据各类图形元素的不同,设置图层、颜色、线型、线宽及文字样式等,便于图形管理,满足制图国标及相关规范的要求。

(1)建立图层

建立图层,设置颜色、线型及线宽的方法[12]如下:

(command "layer" "Make" "biankuang" "Color" 2 "biankuang" "Ltype" "continuous" "biankuang" "LWeight" 0.5 "biankuang" "")

(2)建立文字样式选择与设置

AutoCAD软件版本不同,书写汉字的字库有所不同。如果程序在不同版本上运行,找不到所调用的字库,生成的文字就会出现乱码,即不可识别的字符,为此,需判断AutoCAD版本,设置文字对应的字库,方法如下:

(defun c∶wenzi() ;定义设置文字样式子程序函数,函数调用名为“wenzi”

(if (/= (ver) "Visual LISP 2012 (sc)");自动识别AutoCAD版本,以兼容AutoCAD2012

(progn

(command "style" "shu" "gbenor,gbcbig" "0.0" "1.0" "" "" "" "");新建数字标注样式

(command "style" "han" "仿宋" "0.0" "0.7" "" "" "" "") ;新建汉字标注样式)

(progn ;AutoCAD2012版文字样式设置

(command "style" "shu" "gbenor,gbcbig" "0.0" "1.0" "" "" "" "") ;新建数字标注样式

(command "style" "han" "仿宋_GB2312" "0.0" "0.7" "" "" "" "") ;新建汉字标注样式)))

3.2 绘制综合图

高速铁路综合图的自动绘制,主要方法和步骤如下所述。

(1)由图2对话框选择Excel文件,设置各工作表的数据范围。

(2)以Excel文件中的每一个工作表为单位设计对应的数据导入和绘图子程序。在主程序中调用这些自定义函数,实现高速铁路综合图的自动绘制。

(3)因为一个工作表中存放着一类数据,所以在读取数据和绘图时,采用循环结构实现每一类数据的绘图。工作表中的每一行数据为一个循环周期[13]。

(4)编程时,在循环中读取、转换数据,图形的绘制以运营里程为基准,自动合理布置各类图形元素的相互位置。注意,绘图过程中使用的坐标均为绝对坐标,以运营里程作为图形中各点的横坐标,图形绘制完成后可对个别图线与文字重叠的地方进行人工修改。

3.3 考虑两种运营模式的综合图绘制

由于高速铁路开通运营后会分为客运专线和客货共线两种运营模式,这两种运营模式的高速铁路在绘制综合图时稍有不同,主要体现在图形的布局上。所以,考虑到软件的通用性,综合图的绘制部分可以满足两种模式的铁路的综合图的绘制。两种模式下大部分的子绘图函数可以参数化共用,而只将区别较大的绘图子函数分别设计并分别调用。

3.4 下拉菜单定义及自动加载

为方便软件各个功能模块的调用,需建立用户菜单,由菜单定义语法建立菜单文件(.mnu),通过局部菜单加载命令“menuload”实现自定义菜单文件的加载,再从菜单中调用软件各种功能[14]。

采用“.mnl”类型的菜单文件的自动加载机制,将AutoLISP程序文件更名为与自定义下拉菜单同名的“.mnl”文件,每当自定义菜单文件加载时,同名的“.mnl”文件就会被自动加载。加载后的自定义菜单如图3所示。

图3 加载后的自定义下拉菜单

4 图形分幅及打印

4.1 综合图分幅技术

铁路综合图一般为数百公里甚至上千公里的长条图形,为携带和查阅,通常将图纸打印在标准A4图纸上,成册装订。综合图的分幅方法和步骤如下。

(1)为方便裁图时图形的选择,先关闭总图的图框和表头,等图形分幅完成后再打开,可保留原图框并且不干扰图形分幅。注意,在图形分幅之前,应对图形中个别标注不合适的地方进行人工修改(如涵洞标注重叠,文字与图线重叠等)。

(2)设定分段长度,将比设定的长度范围稍大的局部图形复制到与原图对应的上方位置,以便保留原来的长条形总图。

(3)对复制后的图形两侧进行修剪,并删除两侧多余的图形。注意,在进行图形选择和裁剪时,将该部分图形用窗口放大,否则,因为图形分辨率的问题,图形可能多选或少选。页码信息则通过图形分幅时的计数器来决定。

(4)为分幅图添加表头、边框、铁路信息、工务部门信息和页码。

(5)将上一步处理后的图形(包括边框、表头等)移动到与原图竖直对齐位置的固定高度上。将单数页放在原图上方,双数页置于原图下方,方便与原图对照检查。

另外,还要考虑图纸能够按工务段的管辖范围分册出图。在分幅前,先人工将不需要的图形删除(应提前备份总图),只留下需要出图的工务段的管辖范围的图形,程序会自动判断图形分割的起始和终止位置,自动从头开始编排页码。图形分幅程序运行时会提示用户直接输入或通过输入备选项的方式指定工务段名称,也可输入其他信息,这些信息将被标在每页图纸页眉位置。

4.2 批量打印技术

图形分幅后的图纸有几十页到上百页,都需要按顺序打印出图,然后装订成册。然而,AutoCAD并没有提供用于批量打印的功能,为此,在图形分幅后,需开发批量打印模块,实现图纸自动批量打印。

由于总体综合图和分幅图边框的Y坐标都是固定的,所以,在打印时只需指定最左侧分幅图的左边框位置,程序自动提取该点的X坐标,作为起始打印。打印的终止位置则完全由程序自动判断,判断依据是打印图框范围内选择集为空。

图纸打印分为批量发送到打印机或批量打印到PDF文件两种方式。批量打印到PDF文件时,采用AutoCAD提供的虚拟打印机“DWG To PDF.pc3”。

打印机出图时分为黑白和彩色两种方式打印,黑白打印采用“monochrome.ctb”的打印样式,彩色打印使用“Autodesk-Color.stb”的打印样式。

4.3 综合图绘制应用实例

在AutoCAD环境下,运用Visual LISP为语言开发的高铁综合图的软件,可运行在AutoCAD 2008以上版本的各版本中。在AutoCAD 2012环境下,通过700 km长的某高速铁路的Excel数据运行验证,结果表明:软件能够快速、准确地绘制高速铁路综合图,并按要求进行综合图的分幅和批量打印输出等工作,从数据处理、综合图绘制到图形分幅,最后批量打印输出,处理时间约5 min,大大地提高了绘图速度和效率,如图4为分幅后一幅综合图。

5 结语

高铁综合图信息量大、数据种类较多,若在AutoCAD平台上采用交互绘图,工作量巨大,且信息数据变更后也不便于修改,为此,对Excel数据导入和数据转换、图形生成及分幅、出图打印等技术进行了研究,运用Visual LISP语言对AutoCAD进行二次开发,研制了铁路综合图自动生成及相关图形处理软件,为工务部门提供自动化绘图平台,极大地提高了绘图效率和信息化水平。本文基于Visual LISP的开发技术可供相关CAD开发人员参考。

[1] 侯卫星,王祖峰,姚建伟,等.高速铁路系统集成接口管理方法研究及工程实践[J].中国铁路,2009(7):7-13.

[2] 乔神路.无砟轨道路基地段曲线超高设置方式的研究[J].铁道标准设计,2015(2):36-39.

[3] 孙树礼.铁路工程技术标准的体系及管理[J].铁道标准设计,2004,(7):54-58.

[4] 王焕栋,李海鹰,苗建瑞,等.铁路站场平面辅助设计系统的设计与开发[J].铁道标准设计,2014,58(12):51-55.

[5] 柳世辉.“铁路各设计阶段数字选线平台”的应用[J].铁道工程学报,2013(4):14-17.

[6] 程耀东,姚德新,徐军.既有轨道纵断面CAD软件开发研究[J].兰州交通大学学报,2005(1):14-17.

[7] 郭良浩,刘成龙,宋韬等.铁路既有线平面和竖面线形精确分段方法研究[J].铁道工程学报,2014(7):48-52.

[8] 朱德荣.箱梁三维实体自动建模方法研究[J].铁道标准设计,2014, 58(3):54-58.

[9] 刘小龙,程耀东.基于Object ARX的铁路纵断面自动出图系统的研究[J].铁路计算机应用,2009(1):9-11.

[10]杨毅秋,曾国保,李说.轨道交通标准化设计数据库开发及研究[J].铁道工程学报,2013(6):88-91.

[11]李学志,方戈亮,孙力红.Visual LISP程序设计[M].北京:清华大学出版社,2010:114-143.

[12]程耀东,张丽萍,韩进,等.计算机绘图与二次开发方法[M].兰州:甘肃科学技术出版社,2009:453-500.

[13]吴永进,林美樱.AutoCAD完全应用指南-AutoLISP+DCL+Visual LISP程序设计篇[M].北京:清华大学出版社,2011:517-542.

[14]周乐来,马婧.AutoCAD 2008 Visual LISP二次开发入门到精通[M].北京:机械工业出版社,2008:195-238.

The Key Technology of High Speed Railway Automatic Comprehensive Mapping

CHENG Yao-dong1, PAN Yong-jian2, ZHU Yi-bei1, YANG Jun3

(1.Key Laboratory of Road Bridge and Underground Engineering in Gansu Province, Lanzhou Jiaotong University,Lanzhou 730070, China; 2.Wuwei track Maintenance Division, Lanzhou Railway Administration, Wuwei 733099, China;3.School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)

With Visual Lisp as development tool in AutoCAD environment, this paper studies data processing, graphics rendering, graph cutting and printing, and develops a fast and highly effective automatic drawing software to fulfill data importing, graphics rendering, graphic framing and batch printing in order that the efficiency of drawing is improved and a graphic platform is provided for railway track maintenance department.

High-speed railway; Railway line drawing; Comprehensive map; Visual LISP; Auto CAD

2015-01-28

国家自然科学基金(61462059);甘肃省教学团队基金(101004)

程耀东(1963—),男,教授,主要研究方向为工程CAD及可视化,E-mail:zydzcx@163.com。

1004-2954(2015)10-0042-04

U238; U212.4

A

10.13238/j.issn.1004-2954.2015.10.010

猜你喜欢

绘图高速铁路绘制
来自河流的你
“禾下乘凉图”绘图人
《高速铁路技术》征稿启事
《高速铁路技术》征稿启事
预制胶拼架桥法在高速铁路工程中的实践
基于Excel VBA和AutoCAD的滚动轴承参数化比例图绘制方法
超萌小鹿课程表
垂涎三尺
放学后
在转变中绘制新蓝图