基于ObjectARX开发的AutoCAD图纸批量处理程序论文_黄伟

身份证号码:45012219840903xxxx 深圳市华阳国际工程设计股份有限公司 518000

摘要:本文介绍一款利用ObjectARX二次开发技术实现的图纸批量处理程序,程序实现了对批量图纸进行图框信息填写、检查、生成图纸目录、拆分图纸、自动命名文件、批量打印等功能,可以极大的提高设计人员的工作效率。

关键词:ObjectARX;二次开发;批量处理

1 前 言

图纸的整理、归档、打印是完成工程设计的最后一个环节,同时也是一个工作量较大、繁琐、容易出现错漏的环节。通常要花费设计人员大量的时间去填写图框信息,编写图纸目录,核对图框信息,拆分图纸,归档命名等,图纸的打印也需要耗费设计人员大量的时间去对每个文件选择页面、打印设定,通过手工一张张向打印机发送打印请求,时常还会出现遗漏打印某几张图纸等人为失误。

如何减轻繁琐的图纸归档打印工作,同时减少出图过程中人为因素造成的图纸缺失、图框信息错漏、文件命名不规范等问题,是设计人员非常渴望解决的一个难题。

2 程序开发概述

2.1 开发环境

本程序运用ObjectARX技术对AutoCAD进行二次开发。

ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD的API函数直接进行调用。所以,使用ARX编程的函数的执行速度得以大大提高。

2.2 ARX应用程序的装载和运行

ARX应用程序在运行之前必须先打开AutoCAD,然后加载ARX应用程序。一般可通过AutoCAD的工具菜单下选择加载应用程序,选择加载指定ARX应用程序。也可将指定的ARX应用程序添加到加载启动组应用程序列表中,这样即可实现AutoCAD启动时自动加载。以上操作在程序安装时会自动初始化相关参数。

3 程序功能详解

程序功能主要分为三大块:图框信息和目录、批量打印、批量拆分归档。

这三部分主要功能的一个基础功能是对批量Dwg文件自动提取识别图框,以及定位信息栏上各部分的信息内容。程序能对Dwg文件中A0~A3的标准图框和加长图框进行有效的识别,图框可以是一条闭合的多段线或者一个完整的图块。程序目前可以识别与坐标系正交的图框,但只能识别旋转角度为0和90度图框的图框信息。

对图框信息的识别需要依赖各部分图框信息所在矩形区域左下角点和右上角点相对于标准图框左下角的坐标值,由于各设计院的图框信息栏格式均有差异,此部分坐标值需要根据各设计院的标准图框信息栏进行预先设定。有了这些预先设定好的坐标值,程序便能在搜索到图纸中每个图框时,定位到图框对应的各部分图框信息信息。

3.1图框信息和目录

本部分的程序功能主要是对批量图纸(同一项目或同一项目的子项)进行图号编排,图框工程信息和人员信息填写,生成图纸目录,生成图框信息检查列表等。

程序根据用户选择,载入需要处理的Dwg文件。用户选择提取图框信息,程序按列表顺序依次打开每个Dwg文件对图面进行搜索,根据预先设定的坐标值,自动提取图签信息。对于尚未进行图号编排的Dwg文件,图框信息只需填写图名即可,图号和图框信息栏的其他内容可以为空。

信息提取完毕,程序会将提取到的图框信息内容显示在对话框界面内,图纸若有图号,图纸按图号顺序排列,若没有图号,则图纸顺序是乱序。接下来用户可根据需要通过拖动,调整图纸列表中图纸的顺序,然后选择需要编排图号的图纸,点击按当前顺序更改图号,然后输入起始的图号,程序修改列表中的图号。注意此时修改好的图号并未返回各Dwg文件的图框信息栏中。

一般来说因为工程信息和专负以上的人员信息对同一项目(子项)是一样的,因此可以统一设置。程序总是将提取到的最后一个有效的工程信息和人员信息显示到对话框界面中,若是新项目,可以只填写其中一个图框信息栏的工程信息和人员信息,程序会将这个图框信息栏的信息提取到对话框界面中。人员信息的每一栏均支持双签的识别,双签人员姓名之间需有空格分隔。在图纸目录列表中可以单独设置设计师和绘图员,对于未单独设置设计师和绘图员的图纸,程序将自动根据下方的人员信息中确定的设计和绘图姓名进行填写。

在编好图号,确定工程信息和人员信息后,点击选择更新信息到文件,程序会按顺序依次打开Dwg文件,将对话框中确定的信息更改至Dwg文件中的图框信息栏中。

点击选择生成目录,程序会根据对话框中的图纸目录列表,在当前打开的Dwg文件中自动生成图纸目录,并根据图纸数量自动增加页数,由于各设计院的图纸目录格式有差异,此部分功能也需根据各种图纸目录格式进行预先设定。

对于已经编排过图号,填写过图框信息栏信息的图纸。如果后续设计对图纸有修改,在图纸出图或归档之前,我们希望对信息栏的信息做最后一次检查,可以载入需要检查的Dwg文件,点击选择生成图框信息检查表,程序将在前打开的Dwg文件中生成一个图框信息检查表。检查表按图号顺序排列,对于同一项目(子项)中内容一般来说相同的工程信息和人员信息,若各图纸之间前后有差异,程序会以不同颜色显示,方便快速检查。

3.2批量打印

本部分的程序功能是对批量Dwg图纸进行打印。

打印机列表只会显示已经预先设定打印参数的打印机,打印机的设定参数保存在hwgpsdata.mdb数据库文件中,可以通过调用命令hwsetplotterparam对打印机参数进行设置。在打印过程中,程序会先识别当前打印图纸的图幅,然后自动匹配数据库中相应图幅对应的打印参数。如果匹配不到对应的打印参数,程序会跳过本张图纸的打印,因此所有打印机在打印之前均需对打印参数进行设置。程序默认内置一个PDF打印机,相应的参数也已经在数据库中保存,可以直接使用。

图框搜索方式可以选择自动识别图框和指定图框线两种模式。自动识别图框模式如前面所述,可以全图搜索识别闭合多段线或图块形式的图框。对于已经打散的图框,既不是图块,也没有闭合多段线,可以先调用hwAddDrawFrame命令手动为每张图纸添加一条指定打印图层的闭合多段线。

打印的范围分为模型空间和布局空间两个选项,可以选择其中一个或全部选择。打印的方式分为直接打印、打印PDF和打印PLT文件。选择打印PDF和PLT时,需要选择打印文件的保存路径,同时程序会根据从图框信息栏提取到的图号+图名对打印文件进行命名,若是提取不到信息,打印文件将会以“原始文件名+模型(或布局)名称+编号”的格式命名。

3.3 批量拆分归档

本部分的程序功能是批量Dwg文件进行拆分归档。

对图框搜索的方式跟上一节批量打印所述一致。对拆分文件的命名,程序会根据从图框信息栏提取到的图号+图名对拆分文件进行命名,若是提取不到信息,拆分文件将会以“原始文件名+模型(或布局)名称+编号”的格式命名。对于拆分文件,程序会将文件的视口缩放至对应的图框,以便于后续打开查看。

4结束语

虽然该程序是在本设计院图框格式和打印机配置基础上进行编程和设置的,但是程序编制之初也考虑了使其具有足够的通用性,其他用户只需对图框格式信息、打印机配置进行适当的设定,该程序工具便可同样适用于其他设计院的图框格式和打印机配置。由于篇幅有限,程序其他功能在这里就不一一赘述,如果读者感兴趣,可以共同探讨研究。

参考文献:

[1]梁雪松.AutoCAD2002二次开发技术指南.北京:清华大学出版社,2001

论文作者:黄伟

论文发表刊物:《基层建设》2017年第8期

论文发表时间:2017/7/13

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于ObjectARX开发的AutoCAD图纸批量处理程序论文_黄伟
下载Doc文档

猜你喜欢