ObjectARX技术在输电线路杆塔基础参数化绘图中的应用

2011-03-28 06:20侯晓燕崔强鲁先龙张琰
电力建设 2011年3期
关键词:施工图绘图杆塔

侯晓燕,崔强,鲁先龙,张琰

(中国电力科学研究院,北京市,102401)

0 引言

目前输电线路杆塔基础设计过程中,由于基础类型众多、数据复杂,工程图不可避免地需要经过多次反复修改,进行形状和尺寸的综合协调、优化,这样就增加了设计人员工作反复性,降低了工作效率,而通过交互式界面上的人机对话,修正图形参数的量值,即参数化绘图则可以解决这一问题。参数化绘图是指设计对象的结构形式比较定性,可以用1组参数来约定尺寸关系,即将图形的尺寸看成是某些变量的参数。

AutoCAD作为工程中最常用的绘图设计软件之一,得到设计人员的广泛使用。Object ARX是面向对象的C++开发工具,允许用户利用Visual C++及其MFC类库开发AutoCAD应用程序(实为动态链接库DLL),扩充AutoCAD的类和协议,创建新的AutoCAD命令。ARX应用程序共享AutoCAD的地址空间,并可直接访问图形数据库,使用AutoCAD的内核结构和数据。因而Object ARX比其他的二次开发技术运行速度要快,功能更强[1-4]。

1 软件架构与实现流程

1.1 软件架构

图1显示了实现绘图的软件架构。涉及到的软件有VB、AutoCAD、ObjectARX和VC。软件系统中的计算模块选用VB6.0作为开发语言,绘图模块选用VC和ObjectARX作为开发语言。VC和ObjectARX编译生成ARX。计算模块与绘图模块之间的传值过程如下:首先,通过计算模块得到基础各尺寸参数值,通过VB中的Shell函数,将各参数值传递给ARX,ARX读取并记录参数;然后,通过VB命令激活AutoCAD窗口;最后,AutoCAD执行ARX中的绘图命令,自动完成施工图绘图操作。整个过程中计算模块与绘图模块通过Shell函数建立两者之间的关联。

图1 软件架构Fig.1 Software configuration

1.2 主要文件

绘图功能实现过程中涉及到的主要文件有6种,这些文件在软件运行过程中起着传递参数、记录信息等重要作用。

(1)acad.rx,记录了AutoCAD打开时执行的ARX文件,AutoCAD每次打开时都会读取acad.rx文件,执行绘图命令。

(2)fpCAD.lnk,是打开AutoCAD的快捷方式,指定了起始位置和目标可执行文件,起始位置为当前程序的安装路径,目标可执行文件为用户指定的AutoCAD可执行文件。使用快捷方式的优点是,可以从当前路径下打开AutoCAD,这样AutoCAD打开时就会读取当前路径下的acad.rx文件和执行ARX文件。所以快捷方式是绘图模块实现自动打开AutoCAD,并且自动绘图的必不可少的文件。

(3)工程绘图信息汇总.log,是工程目录下的绘图信息汇总文件。文件包括每个设计完成的杆塔名称、基础名称和绘图参数文件的绝对路径。每个杆塔名称都不相同,用户不能随便改变此文件格式和文件名称。

(4)杆塔名称.txt,是绘图参数文件。里面包括绘制施工图时需要的所有参数取值。对于不同的基础,绘图参数文件格式不同。1个工程有多个绘图参数文件,每个绘图参数文件以杆塔名称为文件名,用户不能随便改变此文件格式、文件名称和文件路径,因为每个绘图参数文件在绘图信息汇总文件中都有记录。

(5)fpCAD.arx文件,是封装了绘图命令的ARX文件。

(6)data.ini文件,是AutoCAD与VB程序的接口文件,记录了绘图参数文件的保存路径和基础类型,ARX绘图命令每次都会读取data.ini文件获得所需信息。

1.3 基本流程图

图2显示了软件实现绘图功能的基本流程。

软件在安装即将结束时,会弹出“选择AutoCAD路径和版本”对话框。用户选择AutoCAD路径和版本,点击了“确定”之后,软件会重写acad.rx文件和生成fpCAD.lnk文件。用户进行完AutoCAD路径和版本设置之后,安装过程结束。

图2 基本流程图Fig.2 Basic flow chart

用户在进行基础优化设计时,点击生成“施工图”按钮后,软件会让用户选择点击“生成参数文件”按钮或“生成施工图”按钮。若用户点击“生成参数文件”按钮,程序会生成绘图参数文件,保存在当前工程路径下面,并且会更新此工程中的绘图信息汇总文件;若用户点击“生成施工图”按钮,程序首先生成绘图参数文件,然后将各参数值读写到各图形文件中,并且在AutoCAD软件上显示出所绘制的施工图。在这个过程中,软件会生成data.ini文件。用VB程序打开AutoCAD软件是通过调用shellExecute函数打开fpCAD.lnk来实现的。

打开AutoCAD之后,AutoCAD首先会读取acad. rx,然后执行acad.rx所记录的封装了绘图命令ARX文件。ARX文件会首先读取data.ini文件,获得绘图参数文件的路径和基础类型,然后找到并且读取绘图参数文件,并且依据不同的基础选型做不同的操作,最后生成施工图。

2 关键技术与方法

2.1 绘图方法

常用的绘图方法包括2种:第1种是根据输入的各参数值,直接绘制工程设计图,即“命令”控制“画笔”的绘图方法;第2种是打开并根据所提供的参数修改预先设定的模板。其中第2种更适合绘制内容比较复杂且格式相对固定的图纸。本软件开发过程中选用第2种绘图方法。实践证明该方法运行效率高,可扩展性好。

2.2 绘图框架定制

软件允许用户对施工图中的设计单位、工程名称、批准人员、校核人员、审核人员、设计人员、出图日期、比例、图号等绘图框架信息进行自定义设置,满足设计人员的需要。需要给用户提供接口,输入必要参数;在绘图模板上,将绘图框架中的上述信息内容处添加不同文字标示,例如“工程名称”等;将上述信息内容写入绘图参数文件中;最后读取参数文件,修改模板上的相应文字标示。

2.3 绘图比例

软件有默认的绘图比例,并且可以根据提供的绘图参数,计算出最佳绘图比例。然后将所有实体的尺寸根据比例进行调整,这样设计出来的施工图尺寸是比较合适的。

2.4 修改实体

对模板上的实体(包括线条和圆等)进行尺寸修改、删除是绘图过程的重要工作。

首先,为了修改起来方便,在制作模板过程中,将所有线条都设定为多段线;其次,给需要修改的每个实体都增加扩展数据,作为每个实体的编号;最后,通过读取扩展数据来进行区分实体,进而可以做不同的操作,包括修改实体的大小、位置,进行删除等。

在给每个实体追加扩展数据时,需要添加3个命令:AddXData、DelXData和ViewXData,分别为添加实体数据、删除实体数据和查看实体数据。通过在AutoCAD加载并执行上述3个命令,就可以轻松地实现为实体添加、删除、查看扩展数据。

2.5 插入与分解块

在绘图过程中,可以将零散的轮廓线条和尺寸标注内容封装成块,以块的形式插入到所需的位置。这种方法适合绘制一些内容固定但位置会根据所提供的绘图参数发生变化的图形,比如地面线由许多实体组成且实体位置和大小不发生变化,但是插入点会发生变化。插入与分解块是绘图常用方法,需要如下步骤:在绘图模版中添加块,给块命名并设置插入点,同时将块的记录添加到块表中;在ARX程序中计算插入点的位置,插入块;根据需要对块进行缩放、旋转等;分解块,这样用户可以对块内的每个实体根据需要进行修改。

2.6 以工程为单位进行设计结果输出

本软件既可以实现单个基础设计结束后即时出图,又可以实现基础优化设计完成之后,选择性地出图。设计计算与参数化绘图既关联又独立是本软件的一大特色,也是符合设计人员操作的习惯。设计结果输出中的绘图功能实现流程如图3所示。

图3 设计结果输出中的绘图功能实现流程图Fig.3 Flow diagram for drawing function in design results output

用户打开工程文件之后,软件会自动将工程名称、已经设计好的杆塔名称、基础类型和绘图参数文件路径显示给用户。需要用户选择绘图类型(单个基础、拉压基础和多个基础)及其杆塔名称进行绘图信息设置,然后点击“确定”,系统会自动将施工图显示在AutoCAD软件中。单个基础,是1张设计图中输出1个基础,拉压基础是1张设计图中输出拉压2个基础,多个基础是1张设计图中输出2~8个基础的信息。这3种绘图类型涵盖各种地形条件、荷载条件下杆塔基础的所有型式,符合实际施工需要。图4显示了以工程为单位进行设计结果输出界面。

2.7 需要在多种环境中编译

图4 设计结果输出界面Fig.4 Output interface for design results

为了支持不同的AutoCAD版本,程序需要在多种环境下编译。AutoCAD2002执行的ARX需要在VC6.0和 ObjectARX2002环 境 编 译 生 成 。 AutoCAD2004/2005/2006执行的ARX需要在VC. Net 2002和ObjectARX2004/2005/2006环境编译生成。AutoCAD2007/2008执行的ARX需要在VC.Net 2005和ObjectARX2007/2008环境编译生成。

3 软件功能

3.1 绘图功能简介

软件系统主要包括地基库模块、杆塔基础选型模块、杆塔基础优化设计模块、参数化绘图模块四部分。其中参数化绘图模块是所有设计成果最终的表现。用户通过地基库、基础选型、杆塔基础优化设计获得基础外形、内部构造、连接件等各种表征杆塔基础基本特征的参数值。绘图模块通过接口函数对上述参数读取、修改、组织,并最终形成完整的施工图。参数化绘图模块实现如下绘图功能:(1)在VB中可以直接打开AutoCAD生成所需的施工图。(2)用户在安装软件的过程中可以对AutoCAD的可执行文件路径和版本进行自定义设置。(3)软件会根据用户选择的AutoCAD的不同版本调用不同的ARX文件进行施工图的绘制,方便了用户的使用。(4)可以选择工程中已经设计好的杆塔基础和绘图类型进行选择性地出图。

3.2 运行实例简介

以全掏挖基础为例说明系统实现的过程。在“全掏挖基础设计”主界面上进行设计完成之后,点击“施工图”按钮之后,会弹出“全掏挖基础施工图定制”对话框,如图5所示。

图5 全掏挖基础施工图订制Fig.5 Custom drawing of digged foundation

点击“生成参数文件”按钮,系统会在后台生成绘图参数文件,保存在当前工程路径下,并及时更新工程的绘图信息汇总文件;点击“生成施工图”按钮,系统会生成并且调用绘图参数文件,并进入AutoCAD环境,自动生成施工图。图6显示了施工图的一部分。

图6 全掏挖基础施工图中的配筋图Fig.6 Reinforcement drawing of digged foundation

4 结语

绘图模块作为输电线路杆塔基础设计软件的最终设计结果输出模块,实现了多种杆塔基础的参数化和自动化绘图,实用且灵活,并且在下面几个方面有所创新:(1)用户可随机定制AutoCAD2002—2008任一版本作为绘图环境。(2)用户可根据个人需求对绘图内容进行定制。(3)设计计算和参数化绘图既关联又独立,可对各种地形条件、荷载条件下的杆塔基础进行参数化绘图,满足电力工程建设需要。

[1]马万杰,夏国栋,姜坤,等.基于ObjectARX的AutoCAD塑料模标准件系统的研究与实现[J].模具技术,2009(2):37-39.

[2]冯艳.输电铁塔独立基础优化设计CAD[D].成都市:西南交通大学,2004.

[3]王卫东,詹振炎.ObjectARX技术在道路路基横断面图形存储中的应用[J].计算机工程,2002,28(3):251-252.

[4]肖粲俊,郑忠俊,俞海明,等.基于ObjectARX的塑料注塑模大型模架参数化设计[J].模具技术,2006(4):56-57.

猜你喜欢
施工图绘图杆塔
来自河流的你
“禾下乘凉图”绘图人
基于北斗的高压输电杆塔智能实时监测技术与应用
大题小做,施工图是一个建筑项目的缩影
探讨输变电工程施工图预算管理与控制
探讨输变电工程施工图预算管理与控制
基于ZigBee与GPRS的输电杆塔倾斜监测预警系统
垂涎三尺
基于粗糙模糊集的输电杆塔塔材实际强度精确计算
Surfer和ArcView结合在气象绘图中的应用