华 北 工 学 院 学 报
JOURNALOFNORTHCHINAINSTITUTEOFTECHNOLOGY.26 No.2 2005Vol
(SumNo.100)
文章编号:100625431(2005)0220135205
电气化铁路接触网平面布置图参数化设计系统
Ξ
朱 平,林 都
(中北大学自动控制系,山西太原030051)摘 要: 利用AutoCAD中的VisualLISP编辑器,以AutoCAD2002为开发平台,采用程序参数化设计原理,开发了电气化铁路接触网平面布置图(站场图和区间图)参数化绘图系统,从而实现了电气化铁路接触网平面布置图的参数化绘图.
关键词: 电气化铁路接触网;平面布置图;参数化;AutoCAD;VisualLISP中图分类号: TP391.1 文献标识码:A
OntheParameterizedDesigningSystemof
ElectronicRailwayConnectingNetPlaneArrangementChart
ZHUPing,LinDu
(Dept.ofAutomaticControl,NorthUniversityofChina,Taiyuan030051,China)
Abstract:ByadoptingVisualLISPeditingdeviceinAutoCAD,andtakingAutoCAD2002asdevelopingplatform,thesystem,usingprincipleofparameterizedprogram,developsparameterizeddrawingsystemofelectronicrailwayconnectingnetplanearrangementchartincludingstationandinterregioncharts,andthereforerealizesparameterizeddrawingofelectronicrailwayconnectingnetplanearrangementchart.
Keywords:electronicrailwayconnectingnetplane;arrangementchart;parameterization;AutoCAD;
VisualLISP
铁路是国民经济的大动脉,自改革开放以来,国家投以巨资,加大基础设施建设,铁路得到较快发展.特别是“九五”期间,国家铁路及中央与地方合资铁路建设完成新线5100km,现在有有线复线3200km,有线电化3900km,使全国的复线铁路里程达到21600km,电气化铁路里程达到15000km[1].现要求实行计算机管理,这就要把铁路的电气化技术图纸用CAD绘制.人工绘制工作量
势必很大,如果能对CAD进行二次开发后,只要输入一些参数,就能准确自动地绘出图形,必将大大降低劳动强度,提高效率,保证质量.基于以上原因,作者开发了铁路接触网平面布置图参数化绘图系统.它的研究和应用将大大提高目前铁路电网设计的效率,缩短铁路设计周期.
本文介绍基于AutoCAD2002平台,在VisualLISP环境下,采用面向对象的编程方法,设计开发了运行于WindowsXP的电气化铁路接触网平面布置图参数化绘图系统及其开发方法和技术.
1 开发环境概述[1]
VisualLISP是为了用户在AutoCAD平台上作二次开发而推出的集成开发环境,它采用与Au2.AutoLISP语言是一种嵌入在AutoCAD内部的LISP编程语言,它是LISP语toLISP语言兼容的模式
言与AutoCAD有机结合的产物.AutoLISP语言和AutoCAD绘图命令能结合起来,使设计和绘图完全
融为一体,还可以利用它实现对AutoCAD当前图形数据库的直接访问和修改,实现屏幕图形的实时修
Ξ收稿日期:2004204220
作者简介:朱平(1977-),女,助教,硕士.主要从事电子信息与技术研究.
136华北工学院学报2005年第2期
改,交互设计.图形数据库在AutoCAD的开发中处于中心位置,它保存着一幅图形所包含的所有实体和对象,而所有的实体和对象都可以使用VisualLISP技术,通过程序开发来实现参数化自动绘图,提高绘图效率.参数化设计就是指设计对象的结构比较定型,可以用一组参数来约束尺寸关系,参数与设计对象的控制尺寸有显式的对应,设计结果的修改可以通过尺寸驱动来实现.
2 铁路接触网平面布置图参数化绘图系统的总体构成
铁路接触网的设计分为标准部分的设计和非标准部分的设计.标准部分的绘图参数作为知识库存储在3.dat文件中,而非标准部分则是根据实际情况具体设计.
铁路接触网参数化绘图系统利用面向对象编程的思想和模块化编程的概念,根据布置图不同部分的绘制特点,在AutoCAD2002的内置菜单中加入屏幕菜单,即对菜单文件ACAD.mnu作修改,并在其环境下加载ACAD.mnu应用程序后,绘图系统的菜单就嵌入AutoCAD菜单栏,与AutoCAD2002溶为一体.绘图系统菜单的功能主要是定制接触网布置图系统的主菜单,建立对话框模式,并管理各个子模块的运行.由于接触网平面布置图分为站场和区间,所以各个子模块分别为图纸定制、区间参数输入、站场参数输入、明细表参数输入、区间绘制、站场绘制几个模块.在VisualLISP的编译环境下,获取AutoCAD2002运行实例是通过一系列defun3
3()函数的调用.参数化绘图系统的执行过程如图1所示.
3 铁路接触网平面布置图参数化绘图系统对话框界面的设计
从用户的观点来看,窗口操作环境是目前最先进最流行的一种人机交互界面,特别是对话框的设计,使人机交互更加方便、准确、直观.本系统中,使用DCL(DialogControlLanguage,对话框控制语言)将对话框的外观,有那些类型的选项,以及这些选项的摆放顺序定义在3.dcl文件中,功能则由AutolLISP函数控制.AutoCAD中的可编程对话框(PDB)功能模块已经预定义了基本控件类型,只要使用这些基本控件即可创建各种组合的控件.本系统为方便用户的操作,图形定制、参数的输入采用对话框的形式.
4 参数化绘图系统图形的绘制
电气化铁路接触网平面布置图分为两大类,它们分别是区间平面布置图和站场平面布置图.基于两种图的特点,本系统把它们分开设计.4.1 区间图的绘制
区间图绘图功能由程序c:qj.lsp来执行,它接受绘图所需的各个参数,即调用区间参数和明细表参数应用程序(qjcs.lsp以及明细表.lsp)来自动绘图.绘制区间平面布置图,先通过“图纸定制”菜单启动对话框,定制图纸,选择是复线或单线绘制,它的程序表达如下[1,2]:
;;double表示复线的关键字;;do;;do
draw12表示复线绘制函数名draw11表示单线绘制函数名
(defunc:qj(double)
...
(总第100期)电气化铁路接触网平面布置图参数化设计系统(朱 平等)137
(progn
(setqdouble(read(last(assoc\"double\"dat))));复线否 (if(=1double) (do (do
draw12)draw11)
);if );progn ...
);defun
程序运行结果如图2,图3所示;然后通过“明细表参数输入”菜单调用启动对话框,其运行结果如图4所示;最后通过“区间参数输入”菜单调用启动对话框,其运行结果如图5所示.输入支柱各个参数,以及选择图形块和输入图形标注.
图2 图纸定制对话框
Fig.2 Dialogboxforsettingthesizeofdrawing
图3 标注栏尺寸定义对话框
Fig.3 Definitiondialogboxfornotesboard
图4 明细表参数输入对话框
Fig.4 Parameterinputdialogboxforsubsidiaryform
图5 区间参数输入对话框
Fig.5 Inter2regionparameterinputdialogbox
区间图数据结构:①题头:SX(上线)XX(下线);②内容:杆号,跨距,安装图号1+安装图号2+…,S(杆在线上方)X(杆在线下方),与前一个杆相比Y向位移值(实际测量值,单位mm)(注:安装图号1+安装图号2+…,S(杆在线上方)X(杆在线下方),以上项目如与前一个杆的值相同,可用“=”代替),如为0,可不写;③选择各种要插入的图例(承力索硬锚、各种下锚、桥、信号机等).
“区间参数输入”和“明细表参数输入”对话框具有参数记忆功能,用户在绘图过程中可以调整、修改个别不合适的参数重新绘图,直至满足设计要求.它的设计思路是:每张图的区间(或站场)参数取一名称存入文件夹中,功能由自定义的区间参数存取函数c:qjcs.lsp实现.
;;qjcs.dcl 区间参数对话框程序 ;;check;;do
filefile n
检测文件函数和文件名查找所选文件函数
filen
138
;;do;;do;;do;;do;;do;;do;;do;;do;;do
next1 last1 edaddendsave
num do n do1
华北工学院学报
执行下页按钮动作函数和‘下页’关键字执行上页按钮动作函数和‘上页’关键字执行选择杆号按钮动作函数和‘选择杆号’关键字执行插入按钮参数动作函数和‘插入’关键字执行首页按钮动作函数和‘首页’关键字执行尾页按钮动作函数和‘尾页’关键字执行保存按钮参数动作函数和‘保存’关键字执行删除按钮参数动作函数和‘删除’关键字执行确定参数输入动作完成函数和‘确定’关键字‘取消’关键字
next last edaddendsave
num do n do
2005年第2期
first first
deldo1 accept
deldo1 accept ;;cancel (defunc:qjcs()
(setqdclid(loaddialog\"c:.dcl\"))ttqjcs
(if(not(newdialog\"qjcs\"dclid)) (exit)
);if(action(action(action(action(action(action(action(action(action(action(action(action(start(unload);defun
tile\"file\"(checkn\" file$value)\")
tile\"next\" \"(dotile\"last\" \"(dotile\"edtile\"endtile\"savetile\"filetile\"add
num\" \"(do
\"(do\"(do\"(do
n\" n\"
tile\"first\"
next1)\")last1)\")edend
num$value)\")n)\")first)\")savedo1)\")filen$value)\")add
do)\")deldo1)\")accept)\")dialog0)\")
do\" \"(dodo\" \"(do
\"(do
tile\"deldo\" \"(dotile\"accept\" tile\"cancel\" dialog)dialogdcl
id)
\"(done
明细表参数的存取功能程序与区间
(或站场)参数存取功能程序相似.区间图的绘制分为单线和复线两类,复线绘制另有程序.
区间图绘制中,重点为标准图形块和图形标注的设置及其站线和回流线的绘制.比如:中心锚结、负荷开关等标准图形作成块集,在输入支柱参数时,只需在某个支柱对话框中相对应的图形对话空格中写入标准图形块的方向(左或右)和标注内容,即能绘制在这个支柱下的标准图
图6 区间绘制图
Fig.6 Inter2regiondrawingpicture
形块和图形标注,其中标准图形块的旋转角度程序能自动计算.它同时适用于站场绘制.绘图结果见图6.4.2 站场图的绘制
绘制站场平面布置图,需先通过“图纸定制”菜单启动对话框,定制图纸,其运行结果见图2;然后通过“明细表参数输入”菜单调用启动对话框,其运行结果见图4;最后通过“站场参数输入”菜单调用启动对话框,其运行结果见图7.绘图功能由自定义函数c:zc.lsp来执行,它接受绘图所需的各个参数,即调用站
(总第100期)电气化铁路接触网平面布置图参数化设计系统(朱 平等)139
场参数和明细表参数.站场图数据结构:①题头:GG(单个支柱)RN(混凝土软横跨)RG(钢柱软横跨).当题头为GG时,数据结构与区间图相同.②当题头为RNRG时,数据结构如下:内容:杆号1+杆号2+...,跨距,软横跨长度1+软横跨长度2+...,软横跨节点1+软横跨节点2+...,安装图号1+安装图号2+...;与前一个杆相比Y向位移值(实际测量值,单位mm);软横跨角度:软横跨长度1+软横跨长度2+...,软横跨节点1+软横跨节点2+...,安装图号1+安装图号2+...,S(杆在线上方)X(杆在线下方);以上项目如与前一个杆的值相同,可用“=”代替.③对各种线型的选用即对电化的正线、电化的站线及段管线;非电化即有线路、回流线、引出线等的选用与绘制.④选择各种要插入的图例(承力索硬锚、各种下锚、桥、信号机等).
站场图的各种线型特别复杂,电化的
图7 站场参数输入对话框
Fig.7 Stationparameterinputdialogbox
正线规定为粗型,线宽为0.9mm;电化的站线及段管线等规定为中型,线宽为0.6mm,接触悬挂非工作支,供电线及分区亭引出线规定为细型,线宽为0.3mm.电化的正线有直线和弧型两类,线型为CONTINUOUS.电化的站线及段管线的线型为CONTINU2OUS,
非电化即有线路的线型为DASHED2.回流线的线型为TRACK.其它引出线的线型为CONTINUOUS.在设计时除了对标准图形块的插入采用区间绘制的方法,更重要的是对各种线的
设置和绘制.程序中使用pline命令来绘
图8 站场绘制图
制选中的线宽在0.6mm以上的线,其中
Fig.8 Stationdrawingpicture
的线宽在pline命令中设定,其余的线使
用line命令绘制,线宽在系统中设定.多种形式的线型和绘制使用设置图层方法,将具有相同线型的对象放在同一图层,将位于不同图层的对象用不同的颜色来表示.绘图结果见图8.
5 结束语
AutoCAD2002中的VisualLISP编辑器具有许多先进的特性和前所未有的强大功能,但它同时也
对系统开发人员提出了新的更高的要求.本系统的开发基于AutoCAD2002平台和面向对象的程序设计语言VisualLISP,成功地开发了运行于WindowsXP操作系统的铁路接触网平面布置图参数化绘图系统的应用程序,其功能达到了实际的应用水平,具有推广应用的价值.参考文献:
[1] 孙江宏.VisualLISPR14~2000编程与应用[M].北京:科学出版社,1999.102-130.[2] 康博.VisualLISP开发指南[M].北京:清华大学出版社,2001.345-390.[3] 蓝屹生.AutoLISP学习导引[M].北京:中国铁道出版社,2003.266-310.
[4] 李小雷,苏铁熊,崔志琴.发动机活塞CAD系统研究[J].华北工学院学报,2001,22(3):223-226.
LiXiaolei,SuTiexiong,CuiZhiqin.ResearchonaCADsystemfortheenginepiston[J].JournalofNorthChinaIn2stituteofTechnology,2001,22(3):223-226.
因篇幅问题不能全部显示,请点此查看更多更全内容