APP下载

基于AutoCAD(.NET)二次开发的塔基地形图自动绘制

2016-02-15梁经勇中国能源建设集团湖南省电力设计院有限公司湖南长沙410007

低碳世界 2016年36期
关键词:塔基二次开发绘制

梁经勇(中国能源建设集团湖南省电力设计院有限公司,湖南长沙410007)

基于AutoCAD(.NET)二次开发的塔基地形图自动绘制

梁经勇(中国能源建设集团湖南省电力设计院有限公司,湖南长沙410007)

首先介绍了基于AutoCAD(.NET)二次开发的塔基地形图自动绘制程序的总体设计,紧接着阐述了塔基地形图自动绘制程序的主要实现过程,最后介绍了程序在实际输电线路工程中的应用。

AutoCAD;.NET;塔基地形图

1 引言

输电线路工程测量中,需野外测量电力铁塔设计位置的地形并绘制塔基地形图,传统的AutoCAD塔基地形图的绘制通常由一系列繁锁的步骤来完成,尤其是在路径很长的线路工程中,塔基地形图多达几百张,完成这些图纸的绘制需要耗费大量的时间和精力,效率低下且易出错。本文讨论了在.NET环境下,采用C#语言对AutoCAD 2010进行二次开发,实现了塔基地形图的自动绘制,并在实际工程中得到应用,提高了生产效率。

2 基于.NET的AutoCAD二次开发概述

众所周知,对AutoCAD进行二次开发用到的主要工具有ObjectARX、VBA和Lisp,但它们的优缺点是显而易见的:ObjectARX功能强大,编程效率高,但它的缺点是编程者必须掌握VC++,而这门语言非常难学;VBA和Lisp虽然简单易上手,但它们对于开发大型的程序好像无能为力。而.NET结合了VC++功能强大与VBA易用的特点,可以非常快速地开发出功能强大的AutoCAD程序。

从AutoCAD 2006开始,Autodesk为其开发增加了.NET API。.NET API提供了一系列托管的外包类,使开发人员可在Microsoft.NET Framework下,使用任何支持.NET的语言,如VB.NET、C#等对AutoCAD进行二次开发。本文采用的是C#语言进行AutoCAD二次开发。

3 塔基地形图自动绘制程序的总体设计

塔基地形图自动绘制程序主要由3个模块组成,分别为数据输入模块、数据处理模块和图形绘制模块(如图1)。

数据输入模块:主要为程序的界面设计,界面设计为程序的入口,数据的输入通过程序界面的操作来实现。

数据处理模块:主要为等高线生成算法的实现、图框及注记点位置的计算。等高线生成采用递归算法实现,图框及注记点位置依据塔位中心及图框尺寸进行计算。

图形绘制模块:将经过数据处理模块处理后的数据,自动绘图输出成塔基地形图。其过程主要分为图层设计和创建AutoCAD实体对象两部分。

4 主要功能实现

4.1 程序界面设计

塔基地形图自动绘制程序的主界面如图2,此对话框通过AutoCAD命令调出显示。使用CommandMethod属性添加能在AutoCAD中调用的命令,并将此命令与菜单项绑定添加到AutoCAD菜单中,从而实现在AutoCAD中添加塔基地形图自动绘制的功能。其关键代码如下:

}(见图2)

4.2 创建AutoCAD图层

图2 主程序界面

塔基地形图包括的实体对象很多:等高线、高程注记、塔位图根点、图框、图廓注记等,为了便于图形的绘制和管理,必须对不同的实体对象进行分层绘制。创建图层的主要代码如下:

4.3 创建图形实体对象

塔基地形图中包含的图形实体对象较多,有点、直线、多段线、样条曲线、文字等。在AutoCAD中,添加1个图形实体对象的主要步骤有:

(1)获得创建图形对象的数据库;

(2)定义一个指向当前数据库的事务处理;

(3)打开图形数据库的块表;

(4)打开一个存储实体的块表记录,所有模型空间的实体都存储在块表记录中;

(5)在内存中创建实体类的一个对象;

(6)将该对象添加到块表记录中;

(7)把对象添加到事务处理中;

(8)提交事务处理。

在AutoCAD中,创建图形实体对象的主要代码如下:

//获取当前活动图形数据库

5 工程应用实例

程序在新宁~扶夷220kV线路工程中得到应用,整条线路总共240基铁塔,需绘制塔基地形图240张。首先在程序主界面对话框中进行参数设置(如图2),所有参数设置完成后,点击“绘图”按钮,导入预处理后的CASS(.dat)格式数据进行自动绘图,全部240张塔基地形图在2min内自动绘制完成(如图3)。

图3 应用实例

6 结语

本文采用AutoCAD.NET API(C#语言)进行二次开发,实现了电力线路工程中塔基地形图的自动绘制,并在实际工程中得到了应用,大大提高了电力线路测量数据处理及绘图的效率和质量,减少了大量繁琐的操作,缩短了工期,取得了良好的经济效益。同时也为塔基地形图的自动绘制提供了一种行之有效的方法。

[1]曾洪飞,卢择临,张 帆.AutoCAD VBA&VB.NET开发基础与实例教程[M].北京:中国电力出版社,2013,5.

[2]李冠亿.深入浅出AutoCAD.NET二次开发[M].北京:中国建筑工业出版社,2012,2.

[3]余甚洋,谢元礼,徐光岩.AutoCAD平台下坐标文件图形化模块C#实现[J].西北大学学报:自然科学网络版,2008,6(5):2~4.

TM75

A

2095-2066(2016)36-0055-02

2016-12-12

梁经勇(1982-),男,工程师,硕士,主要从事电力勘测设计工作。

猜你喜欢

塔基二次开发绘制
输电线路塔基防洪问题探讨
浅谈基于Revit平台的二次开发
超萌小鹿课程表
浅谈Mastercam后处理器的二次开发
不下沉式塔基在建筑施工中的应用
放学后
西门子Easy Screen对倒棱机床界面二次开发
输电线路塔基断面自动成图方法研究
魔盗激情
在转变中绘制新蓝图