第08章AutoLISP与Visual_LISP清华.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第08章AutoLISP与Visual_LISP清华

第8章 编程实例;8.1设置作图环境 编程作图和交互作图一样,也需要设置作图的环境,例如图纸的范围、绘图的单位、目标捕捉的类型、图层、颜色、线型、线宽、字样等,如果缺少对作图环境的设置,只能是利用加载程序时AutoCAD提供的默认环境。 设置一个合适的作图环境不仅可以提高作图的精度和效率,有时还会影响到所绘制的图纸是否符合企业的规范和满足生产的需要。 用程序实现设置作图环境的功能可以通过command函数调用相关的命令,或者通过setvar函数改变相应系统变量的当前值或当前状态。有些功能只能通过上述一种途径实现,有些功能可以通过上述两种途径实现。 ;1. 设置图纸的范围 例如设置A3图纸的作图范围 (1)通过command函数设置 图纸的范围 (command limits 0,0 420,297)或者 (command limits (0 0) (420 297)) 或者 (command limits (list 0 0) (list 420 297)) 这时p1、p2分别是作图范围的左下和右上角点,上式可改写为: (command limits p1 p2);(2)通过setvar函数设置图纸的范围 系统变量limmin和limmax分别对应于图纸的左下和右上角点,只需用setvar函数设置它们以新的值即可。 (setvar limmin (0 0)) 或者 (setvar limmin (list 0 0)) 或者 (setvar limmin 0,0) 或者 (setvar limmin p1) 设置图纸的右上角点的表达式如下: (setvar limmax (420 297)) 或者 (setvar limmax (list 420 297)) 或者 (setvar limmax 420,297) 或者 (setvar limmax p2);2. 设置绘图的长度和角度单位 例如将绘图的长度单位设置为十进制、3位小数,角度单位设置为十进制的度(?)十进制、2位小数、X轴正方向为0?、逆时针方向为正。 (1)通过command函数设置绘图的长度和角度单位 (command units 2 3 1 2 0 N) command的参数说明如下: units:AutoCAD设置绘图单位的命令; 2:长度单位为十进制; 3:3位小数; 1:角度单位为十进制的度; 2:2位小数; 0:X轴正方向为0?; N:非顺时针,即逆时针为正。;(2)通过setvar函数设置设置绘图的长度和角度单位 (setvar lunits 2) ;长度单位为十进制 (setvar luprec 3) ;长度单位3位小数 (setvar aunits 1) ;???度单位为十进制的度 (setvar auprec 2) ;角度单位为长2位小数 (setvar angbase 0.0) ;X轴正方向为0? (setvar angdir 0) ;逆时针方向为正;3. 设置目标捕捉的类型 交互操作时,目标捕捉类型的选项是字符串,它以编码的形式记录在系统变量osmode内,代码的具体含义是: 0 :NONe (不标捕捉任何类型的对象) 1: ENDpoint (线段和圆弧的端点) 2: MIDpoint (线段和圆弧的中点) 4 :CENter (圆、椭圆和圆弧的中心点);8: NODe (结点,用point命令生成的点) 16 :QUAdrant (圆和圆弧的象限点) 32: INTersection (线段和圆弧的交点);256:TANgent (切点) 512: NEArest (对象上的最近点) 1024:QUIck (快速捕捉) 2048:APParent Intersection (在观察方向上相交的点) 4096:EXTension (延长线上的点) 8192:PARallel(与所选对象平行的点);(1)通过command函数设置设置目标捕捉的类型 (command osnap endpoint,midpoint,center);捕捉端点、中点和中心 (command osnap none);不捕捉任何类型 (2)通过setvar函数设置目标捕捉的类型 (setvar osmode 7);7是捕捉端点、中点和中心的代码之和 (setvar osmode 0);不捕捉任何类型 将osmode设置为0(不捕捉任何类型)是通常的设置。假定osmode的当前值为1,将捕捉直线或圆弧的端点。在这种情况下,如果指定的是p点,而p点处刚好有一条直线,那么实际获取的是该直线距p点较近的那个端点,而不是p点本身。所以应该用setv

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档