投稿指南
来稿应自觉遵守国家有关著作权法律法规,不得侵犯他人版权或其他权利,如果出现问题作者文责自负,而且本刊将依法追究侵权行为给本刊造成的损失责任。本刊对录用稿有修改、删节权。经本刊通知进行修改的稿件或被采用的稿件,作者必须保证本刊的独立发表权。 一、投稿方式: 1、 请从 我刊官网 直接投稿 。 2、 请 从我编辑部编辑的推广链接进入我刊投审稿系统进行投稿。 二、稿件著作权: 1、 投稿人保证其向我刊所投之作品是其本人或与他人合作创作之成果,或对所投作品拥有合法的著作权,无第三人对其作品提出可成立之权利主张。 2、 投稿人保证向我刊所投之稿件,尚未在任何媒体上发表。 3、 投稿人保证其作品不含有违反宪法、法律及损害社会公共利益之内容。 4、 投稿人向我刊所投之作品不得同时向第三方投送,即不允许一稿多投。 5、 投稿人授予我刊享有作品专有使用权的方式包括但不限于:通过网络向公众传播、复制、摘编、表演、播放、展览、发行、摄制电影、电视、录像制品、录制录音制品、制作数字化制品、改编、翻译、注释、编辑,以及出版、许可其他媒体、网站及单位转载、摘编、播放、录制、翻译、注释、编辑、改编、摄制。 6、 第5条所述之网络是指通过我刊官网。 7、 投稿人委托我刊声明,未经我方许可,任何网站、媒体、组织不得转载、摘编其作品。

基于VB二次开发AUTOCAD批量打印程序

来源:北京印刷学院学报 【在线投稿】 栏目:期刊导读 时间:2021-01-18
作者:网站采编
关键词:
摘要:AutoCAD是道路与桥梁工程设计过程中最常用的工具之一,我们在设计工作中,经常需要打印大量的图纸,用AutoCAD自身的打印功能打印一份新的图纸,需要设置打印机、图纸尺寸、打印范

AutoCAD是道路与桥梁工程设计过程中最常用的工具之一,我们在设计工作中,经常需要打印大量的图纸,用AutoCAD自身的打印功能打印一份新的图纸,需要设置打印机、图纸尺寸、打印范围、打印偏移、打印比例、打印样式表、图形方向等选项,费时费力,AutoCAD自带布局的方法也没有方便的解决这个问题。因此,需要对AutoCAD进行二次开发,自动完成打印选项的设定,提高批量打印效率。本文主要介绍了基于VB二次开发AutoCAD批量打印程序编制过程中的主要技术。

1 程序的主要功能

根据道路与桥梁工程设计过程中的实际情况,我们开发了AutoCAD批量打印程序,如图1所示,主要具有以下功能:

1)批量打印多个文件,每个文件中可以包含多个图形;

2)自动识别图框,图框类型可以为多段线、块或外部参照;

3)自动设置打印比例。

2 利用VB基于AutoCAD二次开发

2.1 开发原理

ActiveX Automation是微软公司基于组件对象模型体系结构开发的一项技术,AuotoCAD自R14版本起加入了ActiveX Automation编程接口,通过ActiveX Automation,AutoCAD提供了由对象模型表述的可编程对象,这些对象可由其他程序来创建、操纵和编辑。

Visual Basic(以下简称VB)是微软公司推出的面向对象可视化编程工具,VB作为我们常用的支持ActiveX技术的编程开发工具,使AutoCAD与其他运用程序的数据共享变得更加方便。

图1 CAD批量打印程序

2.2 AutoCAD对象模型

AutoCAD对象是采用分层方式来操作的,每一个对象就代表AutoCAD的一个元素。顶层对象为应用程序对象Applica?tion,下面是文档Document对象、参数选择Preferences对象、主菜单栏MenuBar对象及菜单工具MenuGroups对象。文档Docu?ment对象就是 AutoCAD 图形,包含 ModelSpace、PaperSpace、Blocks、Layers、Plot与Utility等对象,它提供访问所有图形对象(线、圆、弧等)及大部分非图形对象(打印、图层、线型、字型等)。在参数选择(Preferences)对象下边为对象集,每个对象集均对应选项对话框的一个选项卡,它们共同提供访问所有的注册设置。AutoCAD对象模型如图2所示。

图2 AutoCAD对象模型

2.3 VB与AutoCAD的连接

VB与AutoCAD连接的源代码如下所示:

2.4 VB对AutoCAD的操作

通过VB面向对象的编程环境,可以对使用属性、方法等对AutoCAD的各种对象进行操作。下面是利用VB6开发的用户程序实例,其功能是在模型空间中绘制多段线,然后获取并显示多段线坐标,并对多段线的端点坐标、颜色进行修改。

3 批量打印程序的实现

3.1 多个文件选择

为实现在图纸打印过程中,能依次选择多个文件进行打印,达到无人值守的目的,程序采用ListBox控件对文件存放路径及名称进行存取。使用AddItem或者RemoveItem方法可以添加或者删除项目,使用List、ListCount和ListIndex属性可以访问项目。

3.2 获取打印机、样式表及图纸尺寸

Layout对象包含模型空间、图纸空间的打印设置。用Lay?获取所有可用的打印设备名称,获取指定打印设备的所有图纸尺寸,取得全部可用的打印样式表名称,添加到相应的ComboBox控件中用于选择。调用上述方法前必须先调用RefreshPlotDeviceInfo方法,更新打印机、图纸尺寸和打印样式表信息,以反映当前系统状态。

’获取Layout对象

3.3 设置打印机、样式表及图纸尺寸

ActiveX中的布局表现形式与AutoCAD用户界面中的表现形式略有不同。在ActiveX中,标准AutoCAD布局可以分成两个独立的对象:Layout和Block。对象Layout为AutoCAD用户界面上的打印和布局显示配置。Block对象包含布局的几何图形。在ActiveX中,除了图纸空间布局外,模型空间也被看作是一个布局。使用ActiveLayout属性获取文档的活动布局,Con?figName属性设置打印机配置名,CanonicalMediaName属性设置图纸尺寸,StyleSheet设置打印样式表。

3.4 获取图框并设置打印区域

为设置打印区域,需从图形中过滤出符合特征的图框,程序采用Select方法选择对象,FiherType和FilterData作为过滤参数,将选择的对象添加到选择集中。FilterType为指定使用的过滤器类型的DXF组码,FilterData为过滤器的值。遍历选择集中的每个对象,可采用GetBoundingBox方法获得每个图框的的左下角点和右上角点坐标,即为图纸的打印范围。通过Se?tWindowToPlot方法设置打印区域。一个AutoCAD文件中如存在多个图形的情况,还需对获取的图框坐标进行排序,以适应给定的打印顺序进行打印,如“先下后上,先左后右”、“先上后下,先左后右”等。

文章来源:《北京印刷学院学报》 网址: http://www.bjysxyxb.cn/qikandaodu/2021/0118/561.html



上一篇:诺丁汉大学开发出可提高燃油效率的3D打印汽车
下一篇:首款3D打印汽车走上街头

北京印刷学院学报投稿 | 北京印刷学院学报编辑部| 北京印刷学院学报版面费 | 北京印刷学院学报论文发表 | 北京印刷学院学报最新目录
Copyright © 2018 《北京印刷学院学报》杂志社 版权所有
投稿电话: 投稿邮箱: