1 我国隧道CAD 绘图的现状与评价
CAD 技术及其应用水平已成为衡量一个国家工业生产技术现代化水平的重要标志。在九五期间, 铁道部将隧道智能CAD 技术”列为重点科技攻关项目。据有关资料刊载, 铁道部专业设计院、铁道部第一、二、四勘测设计院、西南交通大学、兰州铁道学院、沈阳铁路局吉林勘测设计院等单位分别针对铁路及公路隧道进行了CAD 系统的研究与开发, 并取得了可喜的成果。
这其中, 以由铁道部专业设计院主持, 铁道部第一、二、四勘测设计院参加的部级科研项目《一般隧道工程计算机辅助设计系统》和西南交通大学地岩系与铁道部第二勘测设计院联合研制开发的《一般隧道CAD 系统》为代表, 形成了以套标准设计图为主的开发思路(以下简称为套标准图法) 。套标准图法将洞门、衬砌等标准设计图输入计算机形成标准图库, 人工设计时需要计算、推理的部分写入程序, 用户输入必需的参数, 然后运行程序将标准图块插入到设计图中。《一般隧道工程计算机辅助设计系统》基于CV 机, 使用CVMAC 语言编写。《一般隧道CAD 系统》以AutoCAD R1210 为平台, 利用保护模式的模块化程序设计语言— Watcom C 编写, 由系统程序、标准图库、数据库和规范条文说明文件组成。套标准图法的开发思路主要参照了传统的铁路隧道的设计思想及设计习惯, 能实现一般隧道(一般隧道系 指技术条件不复杂、不设置通风和辅助坑道, 能直接套标准设计图的隧道) 的设计任务。
随着国家路网建设的不断展开, 套标准图法已不能满足现代隧道建设的需要, 显示出其固有的内在缺陷, 主要表现如下:
(1) 适用范围窄 隧道断面形状多样化, 洞门型式也不断推陈出新, 出现了诸如连拱隧道, 大断面隧道及削竹式、连拱式、扩大喇叭式等新型洞门型式, 套标准图法不能绘制上述新增型式的设计图。
(2) 设计精度低 标准图库给出的是各变量的示意, 而没有给出设计图的精确绘制。同时, 标准图库的建立也是一项相当繁重的工作。套标准图法通常是采用每张标准图只考虑0 加宽和40 加宽, 对不同轨道类型及其它加宽值给予忽略(认为人眼分辨率不敏感于其带来的偏差) 的作法。这样将导致绘图精度较低, 尤其是据此计算的工程数量存在较大的误差。
(3) 升级能力差 升级能力差的主要原因, 缘于图库的扩充工作是一种事倍功半的做法。可以想像, 要标准图库囊括所有可能的情况基本上是不可能的。
参数化绘图方法适用性较强, 在其他领域应用甚广, 能很好地解决上述矛盾。但由于隧道断面型式多样, 围岩情况复杂, 给人一种不具有参数化绘图条件的感觉, 作者至今尚未发现公开发表的参数化绘图方法系统地应用于隧道CAD 系统开发的文献。
2 参数化绘图方法及其在隧道CAD 系统中应用的研究
参数化绘图主要适用于图形结构形式基本固定而结构尺寸参数变化的图形。参数化绘图方法主要包括程序参数化绘图、参数交互式绘图及尺寸驱动式绘图3 种, 现简介如下:
(1) 程序参数化绘图
程序参数化绘图的实质,就是将图形信息记录在程序中。图形的描述通常可分为:图形的拓扑关系、图形的几何参数以及这些几何参数与图形结构参数之间的联系。通常用一组变量记录图形的几何参数,用一系列的赋值语句表达几何参数与结构参数之间的关系,然后用一系列的调用语句来描述图形的拓扑关系。
(2) 参数交互式绘图
参数交互式绘图的实质是对图元的操作。任何一个图形, 都可以看作是由若干基本图元构成。首先将图形结构分解为参数化的基本图元并建立图素库, 然后交互式地将图素组合形成各种图形结构, 同时允许对图元进行修改。
(3) 尺寸驱动式绘图
参数交互式输入图形, 必须严格依照构成几何形体的图素的准确值和它们之间的相对位置关系来绘制。如果无须对图素准确定位, 可以以草图形式快速生成图形, 然后通过运行程序产生准确图形, 这就是尺寸驱动式绘图的基本思想。
通过对参数化绘图的3 种方法的分析、比较, 可以得出:
1. (1) 尺寸驱动式绘图虽然在绘图过程中不必要非常精确, 从而可以使绘图速度增加, 但是用户依然不得不从头到尾绘制每一个细节, 对于隧道设计图来说, 尺寸驱动式依然没有使设计人员摆脱繁琐复杂的绘图, 尺寸驱动式几乎不适合用作隧道CAD 系统开发的指导思想。
(2) 对于参数交互式绘图, 公路隧道设计图有别于电路设计图(电路设计图通常是由各种电子元件构成的, 如三级管、电阻等), 隧道设计图不是由某些较小的相对独立的图元构成(图元依然是基本的点与线), 而是联系紧密的有机整体, 尤其是三视图, 任一视图的变化都要引起其它视图的相应改变。因此, 基于非实体建模技术的隧道CAD 系统的开发也不应采用参数交互式绘图。
(3) 隧道设计图虽然复杂繁琐, 给一种不适合采用程序参数化绘图的感觉, 但是, 研究后发现, 将隧道CAD 进行模块化及必要的再细化处理后, 大部分模块图形结构形式基本固定只是结构尺寸参数变化, 是符合参数化绘图要求的, 如建筑限界的绘制、洞门图的绘制等; 其余部分模块虽然不符合参数化绘图的要求, 但是适合于编程, 如地质纵断面设计模块中地面线的绘制、地质填充等。程序参数化绘图能够应用于隧道CAD 系统的开发。
面向对象方法吸取了程序设计语言和数据建模技术等有益的成果, 经过近30 年的演变发展, 逐渐形成了自己的范型, 为人们提供了较强的问题求解能力。新一代程序开发工具Visual C + + , 不仅继承了面向对象方法的特性, 同时具备可视化程序语言及程序产生器的概念。ObjectARX 是AutoCAD R14 以后推出的一种新的编程环境, 提供了以C + + 为基础的面向对象的开发特性及程序接口, 能真正快速地访问AutoCAD 图形数据库, 能明显提高软件开发和维护的效率。
经深入研究, 并考虑到开发、维护及完善的要求, 采用面向对象的程序设计方法, 使用Visual C + + 在AutoCAD 上用ObjectARX 技术进行二次开发, 能够较好地实现隧道CAD 参数化绘图。
3 隧道CAD 参数化绘图的实现
311 公路隧道CAD 系统的总体构思
隧道CAD 系统以程序参数化绘图为指导思想后, 有着较丰富的约束集, 成为了智能性较高的专家系统。笔者主研并开发的公路隧道CAD 系统(以下简称HWT CAD 软件) 首先将程序分成几大模块, 每化处理, 然后采用面向对象方法进行程序编制。图1 一模块完成一定的功能, 对有些模块进行必要的再细给出了隧道CAD 系统划分的7 大功能模块。
HWT CAD 软件, 考虑用户的要求, 分为参数输入程序和绘图程序两部分。参数输入程序是标准的Windows 程序, 绘图部分是基于ObjectARX 技术编制的ARX 文件。两部分之间的数据传送是通过数据文件及注册表来实现的。
软件在建立或打开工程文件后, 进行必要的参数输入, 然后在绘图环境下进行图形的自动绘制。用户一次可以完成所有的设计, 也可以只进行某一专项的设计(如地质纵断面设计、洞门设计等) 。篇幅所限, 本文以洞门设计部分为例阐述参数化绘图方法的实现。
312 洞门设计参数化绘图的实现
洞门设计主要是根据隧道建筑限界、洞口段衬砌参数及洞外地形参数来选择必要的洞门类型并给出洞门设计的三视图、工程数量表及图表注释等。
洞门型式主要根据洞外地形、受力特点及必要的美学考虑等来确定。目前国内普遍采用的洞门型式主要有端墙式、柱式、翼墙式、台阶式、单侧挡墙式、削竹式、连拱式及扩大喇叭式等。其特点及适用范围参见隧道规范及相关资料。
为了能够实现洞门参数化设计, 程序首先按照上述洞门型式进行必要的模块再细化处理, 对每一种型式的洞门进行参数提取, 拓朴关系分析, 分析各洞门类型参数间的关系等, 然后进行必要的模块编制。下面给出端式洞门设计参数化的实现(其它型式洞门类似) 。
端式洞门设计参数较多, 为有一个良好的用户界面, 程序采用属性表技术, 将数据分类集结在洞门整体信息属性页、衬砌基本信息属性页、隧道端墙参数属性页、洞外路基参数属性页、纵横向地面线参数属性页和工程信息属性页中, 大部分端式洞门参数作为属性页和属性表的成员存在。通过属性表完成存储及属性页中成员数据的互访, 同时, 各属性页本身的成员函数用来完成诸如差错检查、预演、设计及计算功能。图2 给出了洞门整体信息属性页的参数输入界面; 图3 给出了隧道端墙参数属性页的参数输入界面。
运行AutoCAD , 系统自动装载绘图程序(ARX 文件), 用户在打开工程文件后, 点击洞门设计菜单或工具条按钮, 从对话框中选择所要绘制的洞门类型(根据前面的输入数据自动列出可绘制的进出口及洞门类型), 便自动完成洞门设计, 并以工程文件名略加修改为文件名的DWG 文件加以存储。
4 结束语
采用参数化绘图没有基于套标准图法的固有缺陷。将隧道CAD 进行必要的模块细化, 对于图形结构形式基本固定只是结构尺寸参数变化的采用程序参数化绘图, 而对于其余部分进行必要的编程处理。采用面向对象的程序设计, 使用Visual C + + 语言及ObjectARX 技术对Auto2 CAD 进行二次开发, 能够很好地实现隧道CAD 参数化绘图。事实表明, 该方法有着适用性强, 可靠性高, 易维护及易扩充的特点。