常世超+王爱军
摘 要:在道路桥梁施工过程中,测量工作是保证其精确定位以及工程质量不可或缺的一环,而测量内业工作又是外业工作的保障,尽管内业绘图软件越来越多,AutoCAD依旧是工程技术人员特别喜爱的一款软件,但测量仪器导出的数据经常不能用CAD直接打开,处理这个问题的方法有好多种,常规方法可以利用Excel进行编辑而后导入CAD中,本文通过 Visual Basic 编程结合AutoCAD的文件DXF解决了这个问题。
关键词:Visual Basic DXF;数据转换
一、VB和DXF介绍
Visual Basic是一种由微软公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言,其在测绘领域广泛应用。
DXF-Drawing Exchange File是Autodesk公司开发的用于AutoCAD与其它软件进行CAD数据交换的CAD数据文件格式。DXF文件可以是ASCII格式,也可以是二进制格式,ASCII具有可读性好的特点,但占有空间比较大,二进制格式则占有空间小,读取速度快。在这里,我主要讨论ASCII DXF文件格式。
DXF文件完整的结构包括HEADER段、CLASSES段、TABLES段、BLOCKS段、ENTITIES段、OBJECTS段、THUMBNAILIMAGE段,但有时候并不是每个段都是我们必须的,甚至在某个段中也有我们不需要的组码。图元组码在该文件格式中占有非常重要的地位,它包含了图形中的图形对象,具体来说,我们在AutoCAD里绘制的点、线、矩形、圆等图形对象的核心部分就在此段,由此,我们有必要对此段做详细了解。
二、点组码
组码 说明
100 子类标记 (AcDbPoint)
10 点位置(在 WCS 中)
DXF:X 值;APP:三维点
20, 30 DXF:点位置的 Y 值和 Z 值(在 WCS 中)
39 厚度(可选;默认值 = 0)
210 拉伸方向(可选;默认值 = 0, 0, 1)
DXF:X 值;APP:三维矢量
220, 230 DXF:拉伸方向的 Y 值和 Z 值(可选)
50 绘制点时所使用的 UCS 的 X 轴的角度(可选;默认值 = 0);当 PDMODE 非零时使用
三、文字组码
组码 说明
100 子类标记 (AcDbText)
39 厚度(可选;默认值 = 0)
10 第一对齐点(在 OCS 中)
DXF:X 值;APP:三维点
20, 30 DXF:第一对齐点的 Y 值和 Z 值(在 OCS 中)
40 文字高度
1 默认值(字符串本身)
50 文字旋转角度(可选;默认值 = 0)
41 相对 X 比例因子 — 宽度(可选;默认值 = 1)
使用拟合类型的文字时,该值也将进行调整。
51 倾斜角(可选;默认值 = 0)
7 文字样式名(可选;默认值 = 标准)
71 文字生成标志(可选;默认值 = 0):
2 = 文字反向(在 X 轴方向镜像)
4 = 文字倒置(在 Y 軸方向镜像)
21, 31 DXF:第二对齐点的 Y 值和 Z 值(在 OCS 中)(可选)
210 拉伸方向(可选;默认值 = 0, 0, 1)
DXF:X 值;APP:三维矢量
220, 230 DXF:拉伸方向的 Y 值和 Z 值(可选)
下面的任务就是把常见的点数据格式转换成DXF数据格式。在这里,我以南方CASS数据格式说明一下。这些数据传输到电脑上为一行行的行记录,其基本格式为:
点号,编码,Y坐标,X坐标,Z坐标;
如果没有用到编码可以省略,但逗号不能省。上面介绍了一下DXF数据格式,但我们在应用过程中可以省略一些不必要的部分,如在本例中,我们转换的对象为点数据,用到了其中的ENTITIES段,在该段中用了点组码(POINT),文字组码(TEXT),关于这些组码的说明在上面均以说到。
四、用VB实现流程
创建TEXT控件,编写Connand-Click将待转换的点数据文件读取到该控件当中,导入到电脑上的数据文件为txt文件格式,利用VB的文件处理函数打开和读取目标转换文件,将之写到TEXT控件中,该步骤主要功能在于把目标文件数据进行分流和保存,为下一步做准备;编写Command-Click将读取的点数据文件转换为DXF格式的点数据文件,这是整个过程的核心,该步骤用VB的文件写入函数将上个步骤储存好的数据按照DXF特有的数据格式写入到另一个txt文件中;把新生成的文件名的后缀名改为dxf,用AutoCAD打开即可。
五、结论
AutoCAD应用领域非常广泛,一个很重要的有原因就是其强大的二次开发能力,虽然很多公司在CAD基础上开发出了很多功能齐全的软件,但是作为路桥测量人员,我们仍有必要开发自己的一些测量程序以提高工作效率,毕竟只有自己知道自己最需要什么,再者,我们在工程上总会遇到新的难题,这时候我们的优势便会凸显出来,虽然上述程序还有很多不足之处,但这为我们打开了通往AutoCAD更深应用的一扇大门,以期今后更好的利用,提升自己的水平。
参考文献:
[1]胡利达.计算机辅助制图在测量工程中的应用[J]海河水利,2003,(01):56.