欢迎来到天天文库
浏览记录
ID:26621219
大小:3.00 MB
页数:95页
时间:2018-11-28
《visual lisp程序设计(第2版)第8章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章编程实例8.1设置作图环境编程作图和交互作图一样,也需要设置作图的环境,例如图纸的范围、绘图的单位、目标捕捉的类型、图层、颜色、线型、线宽、字样等,如果缺少对作图环境的设置,只能是利用加载程序时AutoCAD提供的默认环境。设置一个合适的作图环境不仅可以提高作图的精度和效率,有时还会影响到所绘制的图纸是否符合企业的规范和满足生产的需要。用程序实现设置作图环境的功能可以通过command函数调用相关的命令,或者通过setvar函数改变相应系统变量的当前值或当前状态。有些功能只能通过上述一种途径实现,有些功能可以通过上述两种途径实现。1.设置图纸的范围例如,
2、设置A3图纸的作图范围。(1)通过command函数设置图纸的范围用下列表达式之一均可设置:(command"limits""0,0""420,297")(command"limits"'(00)'(420297))(command"limits"(list00)(list420297))如果p1、p2分别是作图范围的左下和右上角点,上式可改写为:(command"limits"p1p2)(2)通过setvar函数设置图纸的范围用setvar函数设置图纸的范围时,需要分别设置图纸的左下角点和右上角点,它们分别对应系统变量limmin和limmax。用下列表达式
3、之一均可设置图纸的左下角点:(setvar"limmin"'(00))(setvar"limmin"(list00))(setvar"limmin""0,0")(setvar"limmin"p1)用下列表达式之一均可设置图纸的右上角点:(setvar"limmax"'(420297))(setvar"limmax"(list420297))(setvar"limmax""420,297")(setvar"limmax"p2)2.设置绘图的长度和角度单位例如将绘图的长度单位设置为十进制、3位小数,角度单位设置为十进制的度()、2位小数、X轴正方向为0、逆时针
4、方向为正。(1)通过command函数设置绘图的长度和角度单位(command"units"23120"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);角
5、度单位为2位小数(setvar"angbase"0.0);X轴正方向为0(setvar"angdir"0);逆时针方向为正3.设置目标捕捉的类型交互操作时,目标捕捉类型的选项是字符串,它以编码的形式记录在系统变量osmode内。代码的具体含义如下:0:不捕捉任何类型的对象1:线段和圆弧的端点2:线段和圆弧的中点4:圆、圆弧或椭圆的中心8:用point命令生成的点16:圆、圆弧或椭圆的象限点32:线段和圆弧的交点64:图或字符串的插入点128:垂足256:切点512:对象上距光标的最近点1024:快速捕捉2048:在观察方向上相交,实际不一定相交的点4096:
6、延长线上的点8192:与所选对象平行(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点处刚好有一条直线,那么实际获
7、取的是该直线上距p点较近的那个端点,而不是p点本身。所以用程序绘图时应该osmode设置为0。4.抑制AutoCAD普通命令的提示在运行程序的过程中,可能会显示AutoCAD普通命令的提示。例如command函数在调用line命令绘制直线时,在命令提示区会出现指定第一点:、指定下一点或[放弃(U)]:等提示。如果不关心这些信息,应该将其关闭,可以提高程序的运行速度。通过setvar函数可以抑制AutoCAD普通命令的提示,表达式如下:(setvar"cmdecho"0)cmdecho是控制普通命令提示是否显示的系统变量,当其为1时,照常显示AutoCAD普通命
8、令的提示,将其设置为0,将抑制这样的一
此文档下载收益归作者所有