为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

AutoLISP语言在CAD图纸批量打印中的应用

2013-08-08 2页 pdf 148KB 161阅读

用户头像

is_534843

暂无简介

举报
AutoLISP语言在CAD图纸批量打印中的应用 2012年(第41卷)第3期 信 息 技 术 AutoL l SP语言在 OAD图纸批量打印中的应用 孙乾锋 (甘肃省交通规划勘察设计院有限责任公司,甘肃 兰州 730030) 摘 要:为提高 AutoCAD绘图人员大批量打印设计图纸的工作效率 ,本论述采用 AutoCAD软件提供的 AutoLISP二次开发 语言编写了批量打印程序。通过对 比常规打印命令与批量打印程序的使用效果可知,批量打印程序具有操作简便、自动化 程度高、输出图纸便捷等优点。为便于开发人员相互借鉴学习,笔者详细介绍了程序总体思路、结构及...
AutoLISP语言在CAD图纸批量打印中的应用
2012年(第41卷)第3期 信 息 技 术 AutoL l SP语言在 OAD图纸批量打印中的应用 孙乾锋 (甘肃省交通规划勘察设计院有限责任公司,甘肃 兰州 730030) 摘 要:为提高 AutoCAD绘图人员大批量打印设计图纸的工作效率 ,本论述采用 AutoCAD软件提供的 AutoLISP二次开发 语言编写了批量打印程序。通过对 比常规打印命令与批量打印程序的使用效果可知,批量打印程序具有操作简便、自动化 程度高、输出图纸便捷等优点。为便于开发人员相互借鉴学习,笔者详细介绍了程序总体思路、结构及关键的实现途径等。 关键词 :AutoLISP语言;二次开发;批量打印 1概述 AutoCAD是美 国 AutoDesk公司于 1982年 12月 推出的一种计算机辅助设计软件,目前已风靡全球工 程界,在中国更是得到了普遍应用。对 CAD绘图者来 说,打印图纸是一项非常重要的日常工作。近年来,随 着工程建设规模的逐渐扩大,图纸的打印数量也在增 加。如公路 、铁路行业中,一个项目仅路线纵断面或横 断面设计图就将近上百张。若绘图者采用 CAD提供的 常规方式打印,既费人费力、又极易出错。为解决此问 ,笔者采用 CAD提供的 AutoLISP语言编写了批量打 印程序。 2 AutoLISP语言 AutoCAD作为一种通用设计软件,已包含大多数 用于产生、编辑图形的命令,但仍有某些命令未被提 供。为便于开发人员进行个性化开发,CAD提供了二次 开发语言 ,如 AutoLISP、VisualLISP、VBA等。其 中, AutoLISP作为一种简便易学的解释性语言,备受用户 青睐。AutoLISP是一种嵌入 AutoCAD软件包的 Lisp编 程语言 ,它属于符号处理语言,又称函数型语言,每个 函数都是以表的形式书写的,既可以交互执行 ,也可写 成程序。 3程序总体思路及结构 图 1为批量打印程序(Vmp.Lsp)总体思路及结构 图。由图可知,Vmp.Lsp程序主要包括三部分:“交互式 输入绘图参数”、“打印参数 自动设置”和“循环打印操 作”。“交互式输入绘图参数”主要功能:采用交互式的 输入绘图参数;为提高打印速度,程序仅需点选打 印范围的左上角至右下角对角点。“打印参数 自动设 置”主要功能:为 PLOT命令的执行而自动设置打印参 数,包括 自动提取打印机默认名称、自动计算打印范围 与打印比例、自动设置图纸尺寸、打印样式表及打印偏 移等。“循环打印操作”主要功能:完成“赋初值”一“调 用 PLOT命令打印”一“再赋值”一“再调用PLOT命令 打印”等一系列工作,是实现批量打印的关键所在。 互式输入绘图参 打印参数自动设置 打印机名称 I I打印张数 I I打印比例 循环打印操作 打印窗选点 卜 打印操作PLOT卜一—-骺环参数i+l 批量打印结束 图 1批量打印程序(Vmp.Lsp)总体思路及结构图 4程序实现的关键 (1)重要的打印参数包括“打印机默认名称”、“打 印页数”及“打印比例”,打印参数均可通过交互方式输 入,但工作效率将大幅下降,故采用自动及计算进 行参数设置。 ① 自动提取“打印机默认名称” 通过(vl—registry—read)函数提取默认打印机在注 册表中的信息 ,采用(vl—string—search)及(substr)函数 进一步提取默认打印机的名称。实现语句如下: (setq Pstr(vl—registry—read(strcat”HKEY _ CUR— REN r_USER\\Soflware\\Microsofl\\⋯’Windows NT~\Cur— rentVersion\\WindOWs”)”Device”)) 21 信 息 技术 2012年(第4l卷)第3期 (setq Pstr (substr Pstr 1 (vl—string—search II.11 Pstr))) (setq Pname Pstr) ② 自动计算“打印页数” 由窗选点 Ptl、Pt2计算所选打印范围的总高度,将 其与(~x2 x1)及(/297 420)求商后 ,即可得打印页数 n 。实现语句:(setq y12(一yl y2))(setq n(/(/(一yl y2)(一x2 x1))(/297 420))) ③ 自动计算“打印比例” 由窗选点 Ptl、Pt2计算所选打印范围的宽度 ,将其 与(一x2 x1)及 420求商后,即可求得。实现语句:(setq Pbl(strcat”1:”(rtos(,(一x2 x1)420)2))) (2)LISP语言是通过 Command函数来调用 PLOT 命令实现打印功能。经过在 CAD命令行中反复摸索与 测试,得知 Plot命令基本结构依次为:”是否需要详细 打印配置”、”布局名或模型”、”输出设备名称”、”图纸尺 寸”、”图纸单位”、”图形方向”、”是否反向打印”、”打印 区域”、”打印比例”、”打印偏移”、”是否按样式打印”、” 打印样式表名称”、”是否打印线宽”、”着色打印设置”、” 是否打印到文件”、”是否保存对页面设置的修改”、”是 _甭继续打印”。 文现语句:(Command”一Plot””Y”””Pname Pcc” M””L””N””W ”Pt3 Pt4 Pbl”C””Y”Pys”Y””A””N” ⋯N⋯Y”)。其中:Pname为输出设备(打印机)名称、Pcc 为图纸尺寸、Pbl为打印比例、Pys为打印样式表名、” 为是 、” 为否。 (3)打印过程要实现批量处理的功能,可使用循环 函数(Repeat n)。循环过程中,循环次数取“打印页数” n ,循环变量取“窗选打印点”Pt5、Pt6,循环步长取 1.0。 具体思路 :先给“窗选打印点”赋初值 Pt3、Pt4,然后调 用 Plot命令打印,第一次打印结束;随后再给“窗选打 印点”赋下一个数值 、接着调用 Plot命令打印;如此循 环,直至打印结束。实现语句如下: (Repeat(一n 1)(setq x5 x3 y5(一vl( y34 i))) (上接 126页)的需要,而且环境污染严重。 7_2养护技工严重缺乏 兰 州 公 路 总 段 永 登 公 路 管 理 段 管 养 里 程 197.791km,而从事一线养护职工只有 40人左右,平均 每人养近 5km路程,养护技工严重缺乏,公路 日常养护 靠雇用大量民工来进行。一方面加大财务开支,造成段 上经费紧缺,另一方面对安全不利,民工为不固定人 群,安全意识淡薄,对管理带来一定难度;缺乏基本的 22 (setq x6 x4 y6(一y5 y34)) (setq pt5(1ist x5 y5)pt6(1ist x6 y6)) r command ”~Plot””Y”””Pname Pcc”M””L””N ”W”Pt5 Pt6 Pbl”C””Y”Pys”Y””A””N””N””Y”、 (setq x3 x5 y3 y5 x4 x6 y4 y6)(setq i(+i 1))) 5应用效果 采用 CAD软件自带的Plot命令打印时,每次均需 要设置相关打印参数,还需要点选打印范围及设置打 印比例,操作过程较为繁琐 ,当打印多张图纸时,更是 费时费力。采用编写的Vmp命令打印时,输人命令后, 仅需点选打印范围的左上角和右下角,程序便会 自动 分析、计算及提取打印参数,逐页进行 自动打印。 以打印 100页路基横断面设计图纸为例,采用 Plot 命令打印时,需要计算打印比例 1次 、点选打印窗口 100次,耗时约 25分钟左右;而采用 Vmp命令打印时, 仅需点选打印范围的两个对角点,其余打印设置均 自 动完成,耗时最多不超过 10秒钟。由此可见,Vmp命令 与Plot命令相比,具有操作简便 、自动化和智能化程度 高,输出图纸便捷等优点,可大幅度提供工作效率。 6结束语 工程设计人员在从事 日常工作时,可通过软件提 供的二次开发工具编写适合自己工作需要的程序,以 便提高工作效率。 参考文献 [1]吴永进 ,林美樱.AutoLISP&DCL基础篇[M].北京:中国铁道 出版社,2002. [2]郭秀娟,于全通,范小鸥,等.AutoLISP语言程序设计[M].北 京:化学工业出版社,2008. [3]程绪琦,等.AutoCAD2006中文版教程[M].北京:电子T 业出版社,2005. 养护知识及操作技能,不能按操作规程进行操作,所以 对养护质量不能很好地保证。 参考文献 : [1] JTGH10—2009[S].公路养护技术. [2] JTGH11-2004[s].公路桥涵养护规范. [3] JTGF40—2004[S].公路沥青路面施工技术规范
/
本文档为【AutoLISP语言在CAD图纸批量打印中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索