利用二次开发进行CAD批量打印探究
丛日立 冀帅 安博
摘要:当前,随着社会经济的发展,人们对于测绘的需求越来越多。虽然AutoCAD软件的功能强大,但是在图纸打印上,仍要花费大量的人力和时间。如何实现cAD批量打印,成为目前亟需解决的问题。文章分析7CAD批量打印的需求,并探讨了利用二次开发进行CAD批量打印的方法。
关键词:CAD;批量打印;二次开发
AutoCAD是一种计算机辅助设计软件,是风靡全球工程界的一种应用。1982年,其由美国Autodesk推出,主要用于文档设计、三维设计和绘图等等,不仅拥有清晰的界面和良好交互体验,其简单方便的设计环境,让非专业人士也能够在较短的时间内掌握CAD的基本使用方法。CAD的便捷实用,让它成为土木建筑、工程制图、服装加工甚至家庭装潢必不可少的工具。而随着时代的进步,人们使用CAD的领域越来越广泛,对于CAD能够实现的功能要求也越来越丰富。在这种情况下,就需要对CAD的功能进行补充开发,以满足实际工作中的需求,提升工作效率。
1.CAD批量打印的需求
图形绘制是一项相对“浩大”的工作,尤其是一些建筑类的图纸,需要对建筑的不同楼层绘制面积实测图,加上当前建筑的样式、功能多种多样,导致建筑面积实测图的数量越来越多,甚至能达到几百张的地步。这么多的图纸,如果手动打印,需要很久。这对于分秒必争的设计人员来说,一种能够缩短时间的批量打印功能能够带来极大的影响。据统计,如果利用手工选择来发送打印方案,1 000张的打印数量,打印3份需要花费2个多小时的排序时间和6个多小时的发送打印时间。
长时间枯燥无味的重复打印,让打印人员精神无法高度集中,极其容易在打印过程中出现问题,导致打印的时间进一步拉长。此外,一些图纸还涉及具體的施工流程和方法,如果在排序中出现错误,轻则对施工人员造成困扰,工序安排出错或施工结果不符合业主单位的要求,影响施工进度;重则会在施工过程中留下安全隐患,引发一些安全事故,危害人们的生命财产安全。
在这个方面,批量打印不仅能够占用较少的内存,保证计算机系统运行得流畅,更能够智能、快速地进行图纸排序、打印工作,无需人工的干预,大大减少因人为因素导致的错误,保证图纸打印的时效性和准确性。
2.CAD二次开发的现状
AutoCAD自身提供了编程接口,CAD二次开发就是利用这些编程接口,通过二次开发工具实现一些AutoCAD实现不了的功能。VBA,AutoLISP,ADS等等都是二次开发工具,利用这些二次开发工具,能够为广大AutoCAD使用者的工作效率提升提供极大的帮助。而当前,CAD二次开发的方向主要集中在标准化和智能化上。
2.1CAD二次开发的方向
2.1.1标准化
对于一些通用化、系列化的产品而言,参数设计具有一定的标准,尤其是机械行业CAD设计中,绝大多数产品设计不需要设计人员亲自去工厂查找产品的信息,只需要调用一些图集来完成参数化设计。标准化不仅能够减少CAD设计中出现错误的概率,也会大大提高产品设计的效率。
2.1.2智能化
人工智能是近些年相当火热的话题,在一般的认知中,人工智能主要存在于机器人、工厂、数据收集和分析等等领域,CAD与人工智能的关系并不大。但实际上,随着时代的发展,CAD二次开发与人工智能相结合已经成为未来CAD二次开发的一个重要方向。例如,在参数优化方面,可以引入人工智能,调整产品结构,分析产品的经济性,甚至是对产品的性能参数进行优化,并且可以结合标准化的相关成果,对设计结果进行全方位的分析,检测其是否符合标准化的需求。此外,在设计过程中,对于一些零件的设计,可以通过人工智能来进行设计、校核、计算、自动绘图等工作,减少设计人员在零件设计中花费的时间,提升设计质量。
2.2CAD二次开发的问题
虽然,标准化和智能化是未来CAD二次开发的主要方向,但在实际的应用过程中,仍存在着诸多的问题:一方面,CAD二次开发的流程并不专业。较少有规模较大的企业参与到CAD二次开发这个领域,大多依靠个人甚至CAD设计人员自己进行CAD二次开发,不仅缺乏足够的专业知识,对于不同工具的不同优点也没有清晰的认知。一般都会随便采用一种二次开发工具,而忽略这种工具是否与自己想要实现的功能相互契合,最终造成事倍功半的结果;另一方面,CAD二次开发还必须面对AutoCAD版本问题。一些程序在一些版本上可以很好地运行,但使用到其他版本时,就会出现各种各样的问题。例如,使用ARX来进行程序的编写,在CAD2002上可以完美运行,但是无法被CAD2004加载,ARX针对各个特定的版本都需要完全重新编译。考虑到AutoCAD的版本众多,加上每个设计人员的使用习惯不同,使用的版本也无法做到统一,在CAD二次开发时就必须解决版本冲突的问题,对CAD下的开发环境、ARX程序、版本的匹配情况必须有明确而清晰的认识。
3.利用二次开发进行CAD批量打印
3.1利用二次开发进行CAD批量打印的进展
利用二次开发进行CAD批量打印,主要原因是在原工具的框架内,一些功能由于工具原因无法实现或效果不理想。举例来说,在建筑面积测绘中,为了整齐和美观,一般会采用统一的出图尺寸。由于建筑样式、大小和功能不一样,所以一般实测图的比例尺会不同。但是装订要求按照建筑物楼栋号的数字顺序进行装订,在批量打印时,也需要按照这样的顺序进行打印。但是,AutoCAD默认顺序是按制作的先后顺序,这样出图的结果与需要的不同。为了满足按照建筑物楼栋号的数字顺序出图的功能,就需要对AutoCAD软件进行二次开发。
而作为一款风靡全球的软件,其重要特色
就是提供了宽裕的二次开发空间,VBA,AutoLISP,ObiectARx等等都是二次开发工具。而在国内,中望CAD、浩辰CAD等等也为每一位CAD设计人员提供了许多便捷的功能。
3.2利用二次开发进行CAD批量打印的优点
3.2.1难度低
相对于c++语言,二次开发使用到的VBA,AutoLISP,ObiectARX都相对简单,CAD设计人员只需要使用较短的时间,就可以掌握这些语言的基本使用方法。甚至根据一些教程,可以独立完成应用程序的开发。这对于可能随时要求功能添加或变更的设计人员来说,可以大大节约寻找相关软件的时间和成本。
3.2.2速度快
利用二次开发的方式,主要是与AutoCADl直接通讯,几乎相当于内部“传输”,速度较之于外部程序而言,肯定会要快一些。这种“快一些”反映到具体的使用过程中,能够节约一部分批量打印的等待时间。
3.2.3更稳定
利用二次开发进行CAD批量打印更稳定,主要体现在两个方面:一方面,程序更新和功能上的稳定。在需要使用新功能时,CAD设计人员可以自行修改应用程序,或将应用程序推倒重做。根据一些教程和案例,就可以轻松地对程序进行修改,或请一些程序员进行完善,不需要过多的专业知识和工作经验,对于CAD设计人员十分现实和方便。在一些企业内部,设计人员和计算机技术人员建立合作关系,随时根据需求进行应用程序的修改,能够大大提升设计人员的工作效率;另一方面,二次开发的应用程序,即使进程失去响应,也不会影响AutoCAD的工作。而且占用电脑内存的比例相对较低,不会引起电脑宕机,从而造成不必要的损失。
4.利用二次开发进行CAD批量打印的思路
4.1VBA技术
VBA技术主要是利用AutoCAD能够支持ActiveX对象应用访问的优点,建立一个标准通信协议,通过VBA语言执行编制好的CAD批量打印程序代码,从而实现批量打印的目的。相对于AutoLIsP技术,二次开发的应用程序使用上更为便捷。例如,使用AutoLISP命令进行打印时,需要计算比例,然后根据打印的数量点选打印窗口,耗时较长。而使用VBA命令只需要点选打印范围,之后的操作基本上都可以自动完成,智能化和自动化的程度相对较高。
一般而言,利用VBA技术进行CAD批量打印的思路是:首先要生成一个空白窗体,在“插入”下选择用户窗体,然后通过相关控件来实现整体框架、范围框架、选择打印图框、退出打印程序等功能,例如,可以通过fraPlotCopies来定义批量打印的份数,用cmdPlotPreview来定义批量打印的预览。在此基础之上,实现布满打印和智能比例、自动识别图形方向等,从而真正意义上实现CAD批量打印。
4.2AutoLISP技术
相对于VBA技术而言,AutoLISP技术的优点在于语言更加简便易学,让CAD设计人员更容易上手。AutoLISP技术一般通过赋值、调用PLOT命令、重新赋值、重新调用PLOT命令的循环工作流程,来实现CAD的批量打印。
一般而言,利用AutoLISP技术二次开发进行CAD批量打印的总体流程是:从输入绘图参数到自动设置打印参数,到选择打印机名称、打印比例、打印张数,选择循环打印,在循环打印中设置打印操作PLOT和参数,在完成这些操作和参数之后批量打印结束。在CAD设ttA员的方面,表现为对出图配置进行设置,如打印设备、图纸方向、出图原点、出图比例、出图份数等等,有的还需要借助预览功能,从而能够保证在批量打印中不会出现错误。
5.结语
利用二次開发进行CAD批量打印,具有便捷、快速、易操作的特点。在日常的工作过程中,CAD设计人员可以根据需要,自主编写适合自己的应用程序,从而节约图纸打印的时间,提升工作效率。