在油田施工中AutoCAD 批量绘图的实现

时间:2022-09-09 07:20:40

在油田施工中AutoCAD 批量绘图的实现

【摘要】测量业内人员都要涉及到绘图,尤其是三维施工,由于物理点过多,批量绘图尤其显得重要,我们可以有两种方法来实现对物理点的绘图,一是用脚本,也就是用autocad能够识别的由AutoCAD命令及参数组成的文本,此方法需要非常了解AutoCAD命令及参数的格式,不能够错一点,但对于大量的数据却不好组织。另一个方法就是用AutoCAD自带的VBA内置程序进行编程处理,这种方法的好处是程序一旦编制完成,数据的整理就变得很简单。

【关键词】AutoCAD 圆 线 多段线

1 前言

测量AutoCAD图的制作并不复杂,无非是数据量大一些,所绘制的对象不是很多。一般对三维来说,只要能够用程序绘制出圆、线和文本,就可以绘制测量所需要的任何图形。下面,我们将给出这三种图形绘制的子程序,然后,我们再讨论如何调用这些程序。

2 圆的绘制

2.1 程序代码

Sub Myself_AddCircle(x As Double,y As Double,h As Double,r As Double,ObjColor As Integer)

Dim circleObj As AcadCircle

Dim centerPoint(0 To 2) As Double Dim radius As Double

centerPoint(0) = x: centerPoint(1) = y: centerPoint(2) = h radius = r

Set circleObj = ThisDrawing. ModelSpace.AddCircle(centerPoint,radius)

circleObj.color = ObjColor

End Sub

2.2 程序说明

这个子程序需要5个变量,分别为x、y、h、r、objcolor,x、y、h是圆所需要的原点三维坐标,也就是东、北、高程。r为半径,objcolor是颜色,请注意数据类型都是双精度。

程序主体首先设置一个对象circleObj,其对象类型为AcadCircle。

然后定义三个数组变量centerPoint,其实指的就是原点三维坐标最后定义半径变量数据类型radius。

Set circleObj = ThisDrawing.ModelSpace. AddCircle(centerPoint,radius)这句就是告诉程序开始绘制圆,circleObj.color = ObjColor给出了绘制圆的颜色。

3 线line命令的运用

线的粗细由线宽控制,线的宽度不随着图形的大小变化,如果图形变得很小,整个图像将看不清楚。

Sub Myself_Line(x1 As Double,y1 As Double,h1 As Double,x2 As Double,y2 As Double,h2 As Double)

Dim aline As AcadLine

Dim startPoint(0 To 2) As Double

Dim endPoint(0 To 2) As Double

startPoint(0) = x1

startPoint(1) = y1

startPoint(2) = h1

endPoint(0) = x2

endPoint(1) = y2

endPoint(2) = h2

Set aline = ThisDrawing.ModelSpace. AddLine(startPoint,endPoint)

aline.Update

End Sub

这个子程序需要6个变量,分别为x1、y1、h1、x2、y2、h2,x1、y1、h1是直线一端所需要的原点三维坐标,也就是东、北、高程,x2、y2、h2是直线一端所需要的原点三维坐标,请注意数据类型都是双精度。

4 子程序的调用

下面我们给出具体调用的办法,假如我们绘制炮点需要用一个x来表示,我们就需要用两条相交45度的角的线段来绘制。首先我们已经知道x中点的坐标,这就要求我们求取四个顶点的坐标,其实另外四个点在同一个圆上,我们只要知道这个x图形的半径就可以求取另外四个点的坐标,下面我们给出具体程序。

x1 = Station_x + x的半径

y1 = Station_y + x的半径

h1 = Station_h

x2 = Station_x - x的半径

y2 = Station_y - x的半径

h2 = Station_h

Call Myself_PLine(x1,y1,h1,x2,y2,h2,r)

x1 = Station_x - x的半径

y1 = Station_y + x的半径

h1 = Station_h

x2 = Station_x + x的半径

y2 = Station_y - x的半径

h2 = Station_h

Call Myself_PLine(x1,y1,h1,x2,y2,h2,r)

以上程序中,所有带Station的都是x图形中心的坐标。Call 语句就是调用上面子程序的调用命令,括号内的参数变量一定要和上面子程序的变量类型一致。

5 结束语

以上我们给出了AutoCAD用程序绘制圆、线和文本的具体方法,有了这些子程序,我们绘制所有形状的物理点分布图基本都可以达到。再通过子程序调用,就可以成批的调用物理点坐标,也就可以很轻松地绘制物理点分布图。

参考文献

[1] 胡建平,虞祖培.测绘通报,2008,(5):65-67

[2] 张帆.AutoCAD VBA二次开发教程[M].北京:清华大学出版社,2006

上一篇:后锚固植筋技术在维修改造工程中的应用 下一篇:基岩的水力喷射压裂技术研究与应用