收藏 分享(赏)

AutoLISP Visual LISP教程《第8章》.ppt

上传人:精品资料 文档编号:10473062 上传时间:2019-11-21 格式:PPT 页数:105 大小:4.05MB
下载 相关 举报
AutoLISP Visual LISP教程《第8章》.ppt_第1页
第1页 / 共105页
AutoLISP Visual LISP教程《第8章》.ppt_第2页
第2页 / 共105页
AutoLISP Visual LISP教程《第8章》.ppt_第3页
第3页 / 共105页
AutoLISP Visual LISP教程《第8章》.ppt_第4页
第4页 / 共105页
AutoLISP Visual LISP教程《第8章》.ppt_第5页
第5页 / 共105页
点击查看更多>>
资源描述

1、第8章 编程实例,8.1设置作图环境编程作图和交互作图一样,也需要设置作图的环境,例如图纸的范围、绘图的单位、目标捕捉的类型、图层、颜色、线型、线宽、字样等,如果缺少对作图环境的设置,只能是利用加载程序时AutoCAD提供的默认环境。设置一个合适的作图环境不仅可以提高作图的精度和效率,有时还会影响到所绘制的图纸是否符合企业的规范和满足生产的需要。用程序实现设置作图环境的功能可以通过command函数调用相关的命令,或者通过setvar函数改变相应系统变量的当前值或当前状态。有些功能只能通过上述一种途径实现,有些功能可以通过上述两种途径实现。,1. 设置图纸的范围例如设置A3图纸的作图范围(1)

2、通过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),0,0,420,297,(2)通过setvar函数设置图纸的范围系统变量limmin和limmax分别对应于图纸的左下和右上角点,只需用setvar函数设置它们以新的值即可。(setvar “limmin“ (0 0)

3、或者(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函数设

4、置绘图的长度和角度单位(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位小数 (setv

5、ar “angbase“ 0.0) ;X轴正方向为0 (setvar “angdir“ 0) ;逆时针方向为正,3. 设置目标捕捉的类型交互操作时,目标捕捉类型的选项是字符串,它以编码的形式记录在系统变量osmode内,代码的具体含义是: 0 :NONe (不标捕捉任何类型的对象) 1: ENDpoint (线段和圆弧的端点) 2: MIDpoint (线段和圆弧的中点) 4 :CENter (圆、椭圆和圆弧的中心点),ENDpoint MIDpoint CENter,8: NODe (结点,用point命令生成的点) 16 :QUAdrant (圆和圆弧的象限点) 32: INTersect

6、ion (线段和圆弧的交点),NODe QUAdrant INTersection,64 :INSertion (图块或字符串的插入点) 128 : PERpendicular (垂足),INSertion PERpendicular,256:TANgent (切点) 512: NEArest (对象上的最近点) 1024:QUIck (快速捕捉) 2048:APParent Intersection (在观察方向上相交的点) 4096:EXTension (延长线上的点) 8192:PARallel(与所选对象平行的点),TANgent APParent Intersection EXTen

7、sion 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点处刚好有一条直线,那么实

8、际获取的是该直线距p点较近的那个端点,而不是p点本身。所以应该用setvar函数将osmode设置为0。,4. 抑制AutoCAD普通命令的提示在运行程序的过程中,可能会显示AutoCAD普通命令的提示。例如command函数在调用line命令绘制直线时,在命令提示区会出现下图的提示。如果不关心这些信息,应该将其关闭,可以提高程序的运行速度。通过setvar函数抑制AutoCAD普通命令的提示,表达式如下: (setvar “cmdecho“ 0)cmdecho是控制普通命令提示是否显示的系统变量,当其为1时,照常显示AutoCAD普通命令的提示,将其设置为0,将抑制这样的一些提示,但仍然显示

9、某些AutoLISP函数的提示信息。通常应将cmdecho设置为0。,8.2 设置图层、颜色、线型和线宽1. 创建一个当前图层假定图层的名字是“zhongxin”、颜色为红色、线型为center、线宽为0.2,通过command函数创建一个当前图层表达式如下: (command “layer“ “Make“ “zhongxin“ “Color“ 1 “zhongxin“ “Ltype“ “Center“ “zhongxin“ “LWeight“ 0.2 “zhongxin“ “)因为在命令行操作时,layer命令需要空回车响应“?/Make/Set/New/ON /OFF/Color/Ltyp

10、e/LWeight/Plot/Freeze/Thaw/LOck/Unlock/state”提示才能结束该命令,所以在右括号前增加一对引号(注意,引号内没有空格)。因为Make、Color、Ltype、LWeight等选项可以简写为M、C、L、LW,所以上式可改为: (command “layer“ “M“ “zhongxin“ “C“ 1 “zhongxin“ “L“ “Center“ “zhongxin“ “LW“ 0.2 “zhongxin“ “),又因为当前图层的名字是Color、Ltype等选项默认的图层名,所以上式可改为: (command “layer“ “M“ “zhongxin

11、“ “C“ 1 “ “L“ “Center“ “ “LW“ 0.2 “ “)如果当前图层的颜色、线型、线宽等为默认的选择,表达式如下: (command “layer“ “M“ “cuxian“ “)图层cuxian是当前图层、颜色号为7(白/黑)、线型为continuous、线宽为当前图形对象的默认线宽。如果某图层已经存在,只是将其改变为当前状态,其表达式如下: (command “layer“ “M“ “cuxian“ “)或者 (command “layer“ “S“ “cuxian“ “),2. 设置新图形对象的颜色 (1)通过command函数设置新图形对象的颜色 (command

12、“color“ 3) 或者 (command “color“ “green“);设置新图形对象的颜色为绿色 (2)通过setvar函数设置新图形对象的颜色 (setvar “cecolor“ “2“)或者 (setvar “cecolor” “yellow”);设置新图形对象的颜色为黄色,3. 设置新图形对象的线型 (1)通过command函数设置新图形对象的线型 (command “linetype“ “s“ “centerset“ “) ;设置新图形对象的线型为中心线 (2)通过setvar函数设置新图形对象的线型 (setvar “celtype“ “dashed“);设置新图形对象的线

13、型为虚线,4. 设置线型比例因子的大小除了实线(continuous)之外,每种线型都是由不同长度的短划线、空白段或点组成的。在不同的显示比例下,这些短划线和空白段的视觉效果可能过大或过小。改变线型比例因子的大小并不改变整条线段的长度,只改变短划线和空白段的大小。 例如,将线型的短划线和空白段缩小一半。 (1)通过command函数设置线型比例因子的大小(command “ltscale“ 0.5) (2)通过setvar函数设置设置线型比例因子的大小(setvar “ltscale“ 0.5),5. 设置新图形对象的线宽 (1)通过command函数设置新图形对象的线宽(command “l

14、weight“ 0.5);设置新图形对象的线宽为0.5 (2)通过setvar函数设置新图形对象的线宽系统变量celweight记录着新图形对象的线宽,它的值是整型的,以1为单位。例如设置新图形对象的线宽为0.5的表达式如下: (setvar “celweight“ 50),【例8-1】 定义绘制图8-1的平键外形轮廓线和中心线的命令,插入点p、键宽b、键长L、旋转角alf是交互输入的参数,要求粗实线所在图层的名字为cuxian、蓝色;中心线所在图层的名字为zhongxin,红色,线型为center(中心线)。,1. 定义绘制平键轮廓线命令的源程序 (defun c:pingjian(/ p

15、b l alf r l1 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10)(setvar “osmode“ 0) ;关闭目标捕捉状态(setvar “cmdecho“ 0) ;抑制普通命令的提示(command“layer“ “make“ “cuxian“ “c“ 5 “cuxian“ “);生成粗实线所在的图层,状态为当前层,名字为cuxian,颜色为蓝(setq p(getpoint “输入平键的定位点:“);以交互方式得到平键的定位点p(setq b(getdist p “输入平键的宽度:“);以交互方式得到平键的宽度b(setq l(getdist p “输入平键的长度:

16、“);以交互方式得到平键的长度l,(setq alf(getangle p “输入平键的旋转角:“);以交互方式得到平键的旋转角alf(setq r (* 0.5 b) l1(- l b);r和l1分别是平键宽度b和平键长度l的一半(setq p1 (polar p (+ alf (* 0.5 pi) r);p1-p4是多义线的4个顶点(setq p2 (polar p1 alf l1)(setq p3 (polar p2 (+ alf (* 1.5 pi) b)(setq p4 (polar p1 (+ alf (* 1.5 pi) b)(command “pline“ p1 “width“

17、 0.6 0.6 p2 “arc“ p3 “line“ p4 “arc“ “close“);绘制平键的外形轮廓线 (command “layer“ “m“ “zhongxin“ “c“ 1 “ “l“ “center“ “ “);生成中心线所在的图层,状态为当前层,名字为zhongxinxian,颜色为红,线型为中心线(点划线),(setvar “ltscale“ 0.5)(setq p5 (polar p1 (+ alf (* 0.5 pi) 5)(setq p6 (polar p2 (+ alf (* 0.5 pi) 5)(setq p7 (polar p3 (+ alf (* 1.5 p

18、i) 5)(setq p8 (polar p4 (+ alf (* 1.5 pi) 5)(setq p9 (polar p (+ alf pi) (+ r 8)(setq p10 (polar p alf (+ (- l r) 8)(command “line“ p5 p8 “);绘制中心线(command “line“ p6 p7 “)(command “line“ p9 p10 “) ),2. 程序说明(1)定义AutoCAD命令与定义函数一样,都是通过defun函数,不同之处是命令名前必须加“C:”。(2)AutoCAD命令的变元表内不能有变元,除号之后的p、b、l等是这个函数的局部变量

19、声明,即使没有局部变量的声明,也不能缺少变元表的一对括号。(3)第3行通过setvar函数和系统变量cmdecho抑制普通命令的提示,但并不抑制get函数的提示。(4)第5行getpoint函数的功能是在交互状态下获取一个点,既可以用鼠标在屏幕上指定一个点,也可以通过键盘键入一个点的坐标,如键入100,50,响应“输入平键的定位点:“的提示。(5)第6行getdist函数的功能是在交互状态下获取一个长度值,既可以通过键盘键入具体的数值,也可以用鼠标在屏幕上指定两个点,两点的长度即为输入的长度值,由于本例提供了参照点p,只需用鼠标在屏幕上指定一个点,该点与p的距离即为输入的长度值。,(6)第8行

20、getangle函数的功能是在交互状态下获取一个角度值,既可以通过键盘键入具体的数值,也可以用鼠标在屏幕上指定两个点,两点连线与X轴的正向夹角即为输入的角度值,由于本例提供了参照点p,只需用鼠标在屏幕上指定一个点,该点与p的连线与X轴的正向夹角即为输入的角度值。注意:尽管键入的角度以度为单位(例如180),但获取的角度以弧度为单位(例如3.14159)。 (7)第14行调用的是command函数,“pline“是被调用的AutoCAD具体命令;该表达式可简化为如下代码: (command “pline“ p1 “w“ 0.6 0.6 p2 “a“ p3 “l“ p4 “a“ “cl“)其中“w

21、“、“a“、“l“和“cl“分别是pline命令的选项“width“、“arc“、“line“和“close“。(8)第15行和第4行的功能都是生成当前图层。该表达式也可以改写为一个函数,其功能是生成一个当前层,并设置该层的颜色和线型。源代码如下:,(defun tuceng(name color ltyle)(command “layer“ “m“ name “c“ color name “l“ ltype “)各变元的数据类型和含义如下:name:字符串,图层的名字。color:0-255的一个整数,图层的颜色号。ltype:字符串,AutoCAD提供的线型名,如dashed、center

22、。将第4行改为调用该函数,表达式如下:(tuceng “cuxian“ 3 “)将第15行改为调用该函数,表达式如下:(tuceng “zhongxin“ 1 “center“)(9)切换到AutoCAD窗口,在Command提示下,键入pingjian,按照程序的提示,输入相应的数据,即可得到上图所示的图形。,8.3 定义字样Style命令以AutoCAD提供的.shx类型的形文件或windows等提供的.ttf类型的字体文件为原型定义字样。新图开始时,只有一种字样,名字为standard,是以AutoCAD提供的形文件txt.shx为原型定义的。如果不满意standard字样或者需要书写汉

23、字,就必须自己定义字样。以下是通过command函数调用Style命令定义字样的表达式。 1以AutoCAD提供的形文件为原型定义字样 (command “style“ “ ziyang1“ “ complex“ “0.0“ “1.0“ “0.0“ “N“ “N“ “N“ ) 各项含义如下: style:定义字样的命令。 ziyang1:字样的名字。,complex:AutoCAD提供的形文件名,文件全名complex.shx。 0.0:字的固定高度,若该值为0,表示没有固定的字高,每次调用text命令时,临时指定字高。 1.0:宽度因子,为1.0时的高宽比约为3:2。 0.0:字的倾斜角度(

24、obliquing angle)。 N:不反写(backwards),若为Y时,为反字(左右颠倒)。 N:不倒写(upside-down),若为Y时,为倒字(上下颠倒)。 N:不垂直书写。由于字体原型文件名之后的选项都是默认值,因此上述表达式可以简化表示为: (command “style“ “ziyang“ “complex“ “ “ “ “ “ “ ),2以Windows提供的字体文件stfanso.ttf为原型定义名字为hanzi1的字样 (command “style“ “ hanzi1“ “stfangso.ttf“ “ “ “ “ “) 由于可以用字体名代替字体文件名,因此上述表达

25、式可以表示为: (command “style“ “hanzi2“ “华文仿宋“ “ “ “ “ “) 注意,该表达式没有对应是否垂直书写的选项。,3以一个大字体(big font)形文件为原型定义汉字字样用Windows提供的字体文件可以很好地解决汉字书写的问题,但特殊字符“”、“”和“”不能用AutoCAD规定的c、%d、%p转义输入,用大字体形文件为原型定义的汉字可以很解决这个问题。其表达式如下: (command “style“ “hanzi3“ “gbcbig“ “ “ “ “ “) 其中gbcbig是定义汉字的大字体,文件的全名是gbcbig.shx。 4普通形文件与大字体形文件组

26、合,定义汉字字样西文字符用普通的形文件为原型,汉字部份用大字体形文件为原型,从两种形文件中各选一个满意的形文件定义汉字字样。其表达式如下: (command “style“ “hanzi4“ “complex,gbcbig“ “ “ “ “ “),【例8-2】定义绘制下图所示A4图框和标题栏的命令,零件名称、零件材料、数量、绘图比例是交互输入的参数,详细尺寸参照GB/T 14689-1993、GB/T10609-1989。,1. 定义绘制A4图框和标题栏的源程序 (defun c:a4( / v1 v2 v3 ljmch cl shl bl);定义命令的名字为a4(setq v1(getvar

27、 “osmode“);获取当前的目标捕捉类型,将其赋给变量v1(setq v2(getvar “cmdecho“);获取当前的普通命令提示状态,将其赋给变量v2(setq v3(getvar “blipmode“);获取当前的光标痕迹显示状态,将其赋给变量v3(setvar “osmode“ 0);关闭目标捕捉状态(setvar “cmdecho“ 0);不显示普通命令的提示(setvar “blipmode“ 0) ;不显示光标痕迹,(setq ljmch(getstring “n输入零件名称:“);将输入的零件名称赋给变量ljmch(setq cl(getstring “n输入零件材料:“

28、);将输入的零件材料赋给变量cl(setq shl(getint “n输入零件数量:“);将输入的零件数量赋给变量shl(setq shl(itoa shl);将整数shl转换为字符串(setq bl(getstring “n输入绘图比例:“);将输入的绘图比例赋给变量bl(command “style“ “hz“ “gbcbig“ “ “ “ “ “ “);定义汉字的字样名为hz(command “layer“ “m“ “xixian“ “c“ “1“ “);创建当前图层xixian(command “limits“ “0,0“ “210,297“);设置图纸范围,(command “lin

29、e“ “0,0“ “210,0“ “210,297“ “0,297“ “c“);绘制A4图纸边框(command “layer“ “m“ “cuxian“ “c“ “7“ “ “lw“ 0.6 “ “);创建当前图层cuxian(command “line“ “25,5“ “205,5“ “205,292“ “25,292“ “c“);绘制图框(command “line“ “85,5“ “85,27“ “205,27“ “);绘制标题栏(command “line“ “85,13“ “205,13“ “)(command “line“ “100,13“ “100,27“ “)(command

30、 “line“ “120,13“ “120,27“ “)(command “line“ “132,5“ “132,27“ “)(command “line“ “162,5“ “162,13“ “),(command “line“ “180,5“ “180,27“ “)(command “layer“ “m“ “xixian“ “)(command “line“ “85,20“ “132,20“ “)(command “layer“ “m“ “wenzi“ “c“ “5“ “ “);创建当前图层wenzi(command “text“ “m“ (list 108.5 9) 5 0 “清 华 大

31、学 机 械 厂“);填写标题栏(command “text“ “m“ (list 147 9) 5 0 (strcat “材 料 “ cl)(command “text“ “m“ (list 171 9) 5 0 (strcat “数 量 “ shl)(command “text“ “m“ (list 192.5 9) 5 0 (strcat “比 例 “ bl),(command “text“ “m“ (list 92.5 23.5) 5 0 “制 图“)(command “text“ “m“ (list 92.5 16.5) 5 0 “校 核“)(command “text“ “m“ (l

32、ist 156 20) 10 0 ljmch)(setvar “osmode“);恢复目标捕捉的原来状态(setvar “cmdecho“ v2) ;恢复普通命令提示原来的显示状态(setvar “blipmode“ v3) ;恢复光标痕迹原来的显示状态(princ);静默退出 ),2. 程序说明 (1)第2-4行用getvar函数获取系统变量osmode等的当前值,将其赋给变量v1、v2、v3,以便程序结束时恢复程序开始时的环境。 (2)第5-7行用setvar函数将系统变量osmode等设置为有利于程序绘图的环境。 (3)第11行(setq shl(itoa shl)的作用是将整数shl转

33、换为字符串,以适应后面的 字符串运算。 (4)第30行中,“text“之后的“m“是书写文本的定位方式选项,表示中点定位。,(5)第31行中,strcat函数的功能是连接字符串,它将字符串“材 料 “和用户输入的字符串,例如“40Cr“, 连接为一个字符串“材 料 40Cr “,cl) (6)第37-39行用setvar函数设置系统变量osmode等为程序开始时的值,恢复程序开始时的环境。 (7)运行程序总要返回最后一个表达式的值,第40行(princ),它返回了一个没有任何值的结果,实现了静默退出。 (8)绘制直线和书写文本的数据,参照GB/T 14689-1993、GB/T10609-19

34、89计算之后得到的。 (9)加载该程序,切换到AutoCAD窗口,在Command提示下,键入A4,输入零件名称、材料、数量和绘图比例,即可得到上图所示的图框和标题栏。,8.4 尺寸标注 1. 长度型尺寸标注长度型尺寸标注需要确定尺寸线是水平、垂直还是指定的方向,如果默认尺寸测量值即为尺寸文本,那么关键是确定其第1条尺寸界线起点的位置p1、第2条尺寸界线起点的位置p2和尺寸线的位置p3。尺寸界线的起点通常与确定图形对象的点重合,因此可看作是已知的,于是剩余的工作就是确定位置尺寸线的位置p3。 例如以下两个表达式,可得到下图所示的直线p1p2。 (setq p1 (10 10) p2 (50 2

35、0) p3 (30 25)(command “line“ p1 p2 “),(1)指定尺寸线为水平或垂直方向的长度型尺寸标注 (command “dimlinear“ p1 p2 “h“ p3)该表达式的说明如下:dimlinear:command函数调用标注长度型尺寸的命令。p1、p2:第1、2条尺寸界线起点的位置。h:尺寸线的方向。水平方向、垂直方向(v)还是指定其他方向(Rotated)。若选择其他方向,其后需增加角度数值。p3:确定尺寸线的位置点。可以是一个变量,如该例;可以是一个字符串“x,y“,串内的x、y确定了p3点在当前坐标系下的位置,如“30,25“;也可以用相对于第2条尺寸

36、界线的起点p2的位置来确定它,这样会方便得多。其格式如下:“x,y“,表示相对于,x表示相对于p2点的X方向的增量,y表示相对于p2点的Y方向的增量。由于选项h已将其确定为水平型,所以x或x可以为任意数值。,(command “dimlinear“ p1 p2 “h“ p3) (command “dimlinear“ p1 p2 “h“ “30,25“) (command “dimlinear“ p1 p2 “h“ “-20,5“) 以上3个表达式用不同的形式确定了尺寸线的位置,见图a。 如果要标注尺寸线为垂直方向的尺寸,只需将以上表达式中的“h“改为“v“即可。例如: (setq p1 (1

37、0 10) p2 (40 25) p3 (45 25) (command “line“ p1 p2 “ ) (command “dimlinear“ p1 p2 “v“ p3 ) 结果见图b。,a,b,(2)默认尺寸线方向的长度型尺寸标注如果不指定尺寸线的方向,p3点与p1、p2点的相对位置确定了尺寸线的方向。若p3点的X坐标在p1、p2点的X坐标之外,而且p3点的Y坐标在p1、p2点的Y坐标之间,尺寸线为垂直方向;其他情况的尺寸线为水平方向。如果将去掉上述3个表达式中的“h“选项,其结果不变,因为p3点的X坐标在p1、p2点的X坐标之间。若改为以下表达式之一 (command “dimlin

38、ear“ p1 p2 (55 15) (command “dimlinear“ p1 p2 “55,15“) (command “dimlinear“ p1 p2 “5,-5“) 将得到该直线的尺寸线为垂直方向的标注,见下图。,2. 对齐型尺寸标注对齐型尺寸标注的特点是,尺寸线的方向是确定的,它与被标注对象的两个端点或指定的两尺寸界线起点的连线平行。 以下每个表达式都能生成下图所示的对齐型长度尺寸标注。 (command “dimaligned“ p1 p2 p3) (command “dimaligned“ p1 p2 “35,25“) (command “dimaligned“ p1 p2

39、 “-13.04,2.64“)表达式中各参数的含义与长度尺寸标注中各参数的含义相同。,3. 直径型和半径型尺寸标注直径型和半径型尺寸标注需要首先选择被标注的圆或圆弧,然后确定尺寸线的位置,如果默认尺寸测量值为尺寸文本,用“作为默认的选择即可。 (1)直径型尺寸标注以下两个表达式绘制了下图所示的一个圆。 (setq pc (100 100) r 12.5 p1 (polar pc 0 12.5) p2 (105 105) (command “circle“ pc r),以下每个表达式都能生成下图所示的直径型尺寸标注。 (command “dimdiameter“ p1 p2) (command

40、“dimdiameter“ p1 “105,105“) (command “dimdiameter“ p1 “-7.5,5“)在上述表达式中,p1是圆的选择点,p2点确定了尺寸线的位置和方向,字符串“105,105“是当前坐标系下的坐标,字符串“-7.5,5“是相对于选择点p1的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的第一个字符为直径符号“。,(2)半径型尺寸标注以下每个表达式都能生成下图所示的半径型尺寸标注。 (command “dimradius“ p2 p4) (command “dimradius“ p2 “105,105“) (command “dimradi

41、us“ p2 “-7.5,5“),在上述表达式中,p2是圆弧的选择点,p4点确定了尺寸线的位置和方向,字符串“105,105“是当前坐标系下的坐标,字符串“-7.5,5“是相对于选择点p2的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的第一个字符为半径符号“R“。,4. 角度型尺寸标注标注两条直线的夹角是是最常见的角度型尺寸标注。需要首先选择被标注的两条直线,然后确定尺寸线的位置,如果默认尺寸测量值为尺寸文本,用“作为默认的选择即可。 以下每个表达式都能生成下图所示的角度型尺寸标注。 (command “dimangular“ p1 p3 p4) (command “dima

42、ngular“ p1 p3 “40,14“) (command “dimangular“ p1 p3 “0,-6“),在上述表达式中,p1是第一条直线的选择点,p3是第二条直线的选择点,p4点确定了尺寸弧线的位置,字符串“40,14“是当前坐标系下的坐标,字符串“0,-6“是相对于选择点p3的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的最后一个字符为度的单位符号“。,上图中尺寸文本“45”的书写方向与尺寸弧线中点的切线方向相同,可能不符合某些单位的制图标准,改写为以下的表达式之一,可以得到下的结果。 (command “dimangular“ p1 p3 “A“ 0.01

43、p4) (command “dimangular“ p1 p3 “A“ 0.01 “40,14“) (command “dimangular“ p1 p3 “A“ 0.01 “0,-6“)其中“A“是尺寸文本的旋转角度选项,其后是旋转角度的数值,由于AutoCAD不接受0方向,因此取其近似值0.01。,5. 设置尺寸变量 (1)尺寸变量的作用尺寸变量属于系统变量,用来控制尺寸线、尺寸界线、尺寸文本和尺寸箭头等要素的样式、大小和它们之间的相对位置。公制(Metric)和英制(English)环境下的尺寸变量的初是始值是不同的。例如,尺寸文本的字高,前者为2.5,后者为0.18。本节介绍的尺寸变量

44、的初值均是公制状态下的初值。 (2)最常用到的尺寸变量 AutoCAD2004提供了64个尺寸变量,最常用到的有以下几个: dimscale:总尺寸比例因子,初始值为1。 dimtad:如果为0(OFF),长度型尺寸的尺寸文本注在尺寸线中间,否则注在尺寸线的上方,初始值为1。, dimtih:如果为0,长度型尺寸两尺寸界线之内的尺寸文本与尺寸线方向一致,否则为水平方向,初始值为0(OFF)。 dimtoh:如果为0,长度型尺寸两尺寸界线外侧的尺寸文本与尺寸线方向一致,否则为水平方向,初始值为0(OFF) 。, dimtix:如果为0,不强制尺寸文本在两尺寸界线之内,否则强制尺寸文本在两尺寸界线

45、之内,初始值为0。 dimtofl:如果为0,箭头在两尺寸界线外侧时,内部无直线,否则内部有直线,初始值为1 。, dimzin:如果为8,舍弃无效的尾零,例如:10.0000注为10,12.5000注为12.5,初始值为8。 dimdsep:确定实型数值整数与小数部份的分隔字符,初始值为“,”,应该设置为“.”。 dimlfac:长度型、直径型和半径型尺寸数值的比例因子,初始值为1.0。例如,将该变量设置为2,直径为100的圆,其尺寸测量值为200,默认的选择将得到“200”的标注结果。 dimtsz:如果为0,标注普通箭头,否则将普通箭头设置为建筑工程图中的短斜线,初始值为0。,(3)修改

46、尺寸变量的值因为尺寸变量属于系统变量,所以既可以通过setvar函数,也可以通过command函数修改尺寸变量的值。以下是修改上述尺寸变量的表达式。 (setvar “ltscale“ 2) ;设置尺寸标注总比例因子为2 (setvar “dimtad“ 1) ;设置尺寸文本在尺寸线上方 (setvar “dimtih“ 0) ;设置两尺寸界线之内的尺寸文本与尺寸线方向相同 (setvar “dimtoh“ 0) ;设置两尺寸界线外侧的尺寸文本与尺寸线方向相同 (setvar “dimtix“ 1) ;强制尺寸文本在两尺寸界线之内 (setvar “dimtofl“ 1) ;小尺寸标注时在两尺

47、寸界线之内增加连线,(setvar “dimzin“ 8) ;舍去尺寸数字的无效尾0 (setvar “dimdsep“ “.“);设置字符“.“作为尺寸数字中整数与小数部份的分隔符 (setvar “dimlfac“ 2) ;设置长度尺寸的测量值是实际值的2倍 (setvar “dimtsz“ 2.5) ;设置短斜线的长度并取代普通箭头 或者 (command “ltscale“ 1) ;设置尺寸标注总比例因子为1 (command “dimtad“ 0) ;设置尺寸文本在尺寸线之间 (command “dimdsep“ “.“) ;设置字符“.“作为尺寸数字中整数与小数部份的分隔符,6.

48、处理尺寸文本的测量值尺寸的测量值是AutoCAD根据所选的对象、尺寸界线的起点和尺寸线的方向计算得到的。对于尺寸的测量值,用户只有满意、不满意和部份满意三种情况。所谓部份满意,就是对尺寸数值满意,但缺少尺寸数值的前缀或后缀。 (1)默认尺寸的测量值如果尺寸的测量值和期待生成的尺寸文本完全一致,在这种情况下应该选择默认,即表达式中不含“text“或“t“选项。此前的一些实例都属于这种情况。 (2)用自己输入的文本作为尺寸文本如果不想使用尺寸的测量值,在确定尺寸线位置时增加“text“或“t“选项,随后输入自定的文本即可。将前面相应的表达式改写如下:,(command “dimlinear“ p1

49、 p2 “h“ “t“ “%c50“ p3);见图a (command “dimaligned“ p1 p2 “t“ “60cm“ p3);见图b (command “dimdiameter“ p1 “t“ “2X%c50“ p2);见图c (command “dimradius“ p2 “t“ “R10“ p4);见图d (command “dimangular“ p1 p3 “A“ 0.01 “t“ “45.5%d“ p4);见图e,a b c d e,(3)为尺寸的测量值增加前缀或后缀有时虽然对尺寸的测量值满意,但是还不个够,还需要为尺寸的测量值增加前缀或后缀。例如图8-11所示,尺寸240需要增加前缀“460”,尺寸40需要增加前缀“5”。解决的办法是,在确定尺寸线位置时增加“text“或“t“选项,随后输入以下字符串: “前缀内容后缀内容“其中表示使用尺寸的测量值,如果不需要为尺寸的测量值增加前缀或后缀,可以缺少相应的内容。例如下图生成尺寸60、460240和540表达式如下: (command “dimlinear“ p1 p2 p3) (command “dimlinear“ p1 p4 “t“ “4X60=“ p5) (command “dimdiameter“ p6 “t“ “5X“ p7),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报