




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章编程实例,8.1设置作图环境编程作图和交互作图一样,也需要设置作图的环境,例如图纸的范围、绘图的单位、目标捕捉的类型、图层、颜色、线型、线宽、字样等,如果缺少对作图环境的设置,只能是利用加载程序时AutoCAD提供的默认环境。设置一个合适的作图环境不仅可以提高作图的精度和效率,有时还会影响到所绘制的图纸是否符合企业的规范和满足生产的需要。用程序实现设置作图环境的功能可以通过command函数调用相关的命令,或者通过setvar函数改变相应系统变量的当前值或当前状态。有些功能只能通过上述一种途径实现,有些功能可以通过上述两种途径实现。,1.设置图纸的范围例如设置A3图纸的作图范围(1)通过command函数设置图纸的范围(commandlimits0,0420,297)或者(commandlimits(00)(420297)或者(commandlimits(list00)(list420297)这时p1、p2分别是作图范围的左下和右上角点,上式可改写为:(commandlimitsp1p2),0,0,420,297,(2)通过setvar函数设置图纸的范围系统变量limmin和limmax分别对应于图纸的左下和右上角点,只需用setvar函数设置它们以新的值即可。(setvarlimmin(00)或者(setvarlimmin(list00)或者(setvarlimmin0,0)或者(setvarlimminp1)设置图纸的右上角点的表达式如下:(setvarlimmax(420297)或者(setvarlimmax(list420297)或者(setvarlimmax420,297)或者(setvarlimmaxp2),2.设置绘图的长度和角度单位例如将绘图的长度单位设置为十进制、3位小数,角度单位设置为十进制的度()十进制、2位小数、X轴正方向为0、逆时针方向为正。(1)通过command函数设置绘图的长度和角度单位(commandunits23120N)command的参数说明如下:units:AutoCAD设置绘图单位的命令;2:长度单位为十进制;3:3位小数;1:角度单位为十进制的度;2:2位小数;0:X轴正方向为0;N:非顺时针,即逆时针为正。,(2)通过setvar函数设置设置绘图的长度和角度单位(setvarlunits2);长度单位为十进制(setvarluprec3);长度单位3位小数(setvaraunits1);角度单位为十进制的度(setvarauprec2);角度单位为长2位小数(setvarangbase0.0);X轴正方向为0(setvarangdir0);逆时针方向为正,3.设置目标捕捉的类型交互操作时,目标捕捉类型的选项是字符串,它以编码的形式记录在系统变量osmode内,代码的具体含义是:0:NONe(不标捕捉任何类型的对象)1:ENDpoint(线段和圆弧的端点)2:MIDpoint(线段和圆弧的中点)4:CENter(圆、椭圆和圆弧的中心点),ENDpointMIDpointCENter,8:NODe(结点,用point命令生成的点)16:QUAdrant(圆和圆弧的象限点)32:INTersection(线段和圆弧的交点),NODeQUAdrantINTersection,64:INSertion(图块或字符串的插入点)128:PERpendicular(垂足),INSertionPERpendicular,256:TANgent(切点)512:NEArest(对象上的最近点)1024:QUIck(快速捕捉)2048:APParentIntersection(在观察方向上相交的点)4096:EXTension(延长线上的点)8192:PARallel(与所选对象平行的点),TANgentAPParentIntersectionEXTensionPARallel,(1)通过command函数设置设置目标捕捉的类型(commandosnapendpoint,midpoint,center);捕捉端点、中点和中心(commandosnapnone);不捕捉任何类型(2)通过setvar函数设置目标捕捉的类型(setvarosmode7);7是捕捉端点、中点和中心的代码之和(setvarosmode0);不捕捉任何类型将osmode设置为0(不捕捉任何类型)是通常的设置。假定osmode的当前值为1,将捕捉直线或圆弧的端点。在这种情况下,如果指定的是p点,而p点处刚好有一条直线,那么实际获取的是该直线距p点较近的那个端点,而不是p点本身。所以应该用setvar函数将osmode设置为0。,4.抑制AutoCAD普通命令的提示在运行程序的过程中,可能会显示AutoCAD普通命令的提示。例如command函数在调用line命令绘制直线时,在命令提示区会出现下图的提示。如果不关心这些信息,应该将其关闭,可以提高程序的运行速度。通过setvar函数抑制AutoCAD普通命令的提示,表达式如下:(setvarcmdecho0)cmdecho是控制普通命令提示是否显示的系统变量,当其为1时,照常显示AutoCAD普通命令的提示,将其设置为0,将抑制这样的一些提示,但仍然显示某些AutoLISP函数的提示信息。通常应将cmdecho设置为0。,8.2设置图层、颜色、线型和线宽1.创建一个当前图层假定图层的名字是“zhongxin”、颜色为红色、线型为center、线宽为0.2,通过command函数创建一个当前图层表达式如下:(commandlayerMakezhongxinColor1zhongxinLtypeCenterzhongxinLWeight0.2zhongxin)因为在命令行操作时,layer命令需要空回车响应“?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/state”提示才能结束该命令,所以在右括号前增加一对引号(注意,引号内没有空格)。因为Make、Color、Ltype、LWeight等选项可以简写为M、C、L、LW,所以上式可改为:(commandlayerMzhongxinC1zhongxinLCenterzhongxinLW0.2zhongxin),又因为当前图层的名字是Color、Ltype等选项默认的图层名,所以上式可改为:(commandlayerMzhongxinC1LCenterLW0.2)如果当前图层的颜色、线型、线宽等为默认的选择,表达式如下:(commandlayerMcuxian)图层cuxian是当前图层、颜色号为7(白/黑)、线型为continuous、线宽为当前图形对象的默认线宽。如果某图层已经存在,只是将其改变为当前状态,其表达式如下:(commandlayerMcuxian)或者(commandlayerScuxian),2.设置新图形对象的颜色(1)通过command函数设置新图形对象的颜色(commandcolor3)或者(commandcolorgreen);设置新图形对象的颜色为绿色(2)通过setvar函数设置新图形对象的颜色(setvarcecolor2)或者(setvar“cecolor”“yellow”);设置新图形对象的颜色为黄色,3.设置新图形对象的线型(1)通过command函数设置新图形对象的线型(commandlinetypescenterset);设置新图形对象的线型为中心线(2)通过setvar函数设置新图形对象的线型(setvarceltypedashed);设置新图形对象的线型为虚线,4.设置线型比例因子的大小除了实线(continuous)之外,每种线型都是由不同长度的短划线、空白段或点组成的。在不同的显示比例下,这些短划线和空白段的视觉效果可能过大或过小。改变线型比例因子的大小并不改变整条线段的长度,只改变短划线和空白段的大小。例如,将线型的短划线和空白段缩小一半。(1)通过command函数设置线型比例因子的大小(commandltscale0.5)(2)通过setvar函数设置设置线型比例因子的大小(setvarltscale0.5),5.设置新图形对象的线宽(1)通过command函数设置新图形对象的线宽(commandlweight0.5);设置新图形对象的线宽为0.5(2)通过setvar函数设置新图形对象的线宽系统变量celweight记录着新图形对象的线宽,它的值是整型的,以1为单位。例如设置新图形对象的线宽为0.5的表达式如下:(setvarcelweight50),【例8-1】定义绘制图8-1的平键外形轮廓线和中心线的命令,插入点p、键宽b、键长L、旋转角alf是交互输入的参数,要求粗实线所在图层的名字为cuxian、蓝色;中心线所在图层的名字为zhongxin,红色,线型为center(中心线)。,1.定义绘制平键轮廓线命令的源程序(defunc:pingjian(/pblalfrl1p1p2p3p4p5p6p7p8p9p10)(setvarosmode0);关闭目标捕捉状态(setvarcmdecho0);抑制普通命令的提示(commandlayermakecuxianc5cuxian);生成粗实线所在的图层,状态为当前层,名字为cuxian,颜色为蓝(setqp(getpoint输入平键的定位点:);以交互方式得到平键的定位点p(setqb(getdistp输入平键的宽度:);以交互方式得到平键的宽度b(setql(getdistp输入平键的长度:);以交互方式得到平键的长度l,(setqalf(getanglep输入平键的旋转角:);以交互方式得到平键的旋转角alf(setqr(*0.5b)l1(-lb);r和l1分别是平键宽度b和平键长度l的一半(setqp1(polarp(+alf(*0.5pi)r);p1-p4是多义线的4个顶点(setqp2(polarp1alfl1)(setqp3(polarp2(+alf(*1.5pi)b)(setqp4(polarp1(+alf(*1.5pi)b)(commandplinep1width0.60.6p2arcp3linep4arcclose);绘制平键的外形轮廓线(commandlayermzhongxinc1lcenter);生成中心线所在的图层,状态为当前层,名字为zhongxinxian,颜色为红,线型为中心线(点划线),(setvarltscale0.5)(setqp5(polarp1(+alf(*0.5pi)5)(setqp6(polarp2(+alf(*0.5pi)5)(setqp7(polarp3(+alf(*1.5pi)5)(setqp8(polarp4(+alf(*1.5pi)5)(setqp9(polarp(+alfpi)(+r8)(setqp10(polarpalf(+(-lr)8)(commandlinep5p8);绘制中心线(commandlinep6p7)(commandlinep9p10),2.程序说明(1)定义AutoCAD命令与定义函数一样,都是通过defun函数,不同之处是命令名前必须加“C:”。(2)AutoCAD命令的变元表内不能有变元,除号之后的p、b、l等是这个函数的局部变量声明,即使没有局部变量的声明,也不能缺少变元表的一对括号。(3)第3行通过setvar函数和系统变量cmdecho抑制普通命令的提示,但并不抑制get函数的提示。(4)第5行getpoint函数的功能是在交互状态下获取一个点,既可以用鼠标在屏幕上指定一个点,也可以通过键盘键入一个点的坐标,如键入100,50,响应输入平键的定位点:的提示。(5)第6行getdist函数的功能是在交互状态下获取一个长度值,既可以通过键盘键入具体的数值,也可以用鼠标在屏幕上指定两个点,两点的长度即为输入的长度值,由于本例提供了参照点p,只需用鼠标在屏幕上指定一个点,该点与p的距离即为输入的长度值。,(6)第8行getangle函数的功能是在交互状态下获取一个角度值,既可以通过键盘键入具体的数值,也可以用鼠标在屏幕上指定两个点,两点连线与X轴的正向夹角即为输入的角度值,由于本例提供了参照点p,只需用鼠标在屏幕上指定一个点,该点与p的连线与X轴的正向夹角即为输入的角度值。注意:尽管键入的角度以度为单位(例如180),但获取的角度以弧度为单位(例如3.14159)。(7)第14行调用的是command函数,pline是被调用的AutoCAD具体命令;该表达式可简化为如下代码:(commandplinep1w0.60.6p2ap3lp4acl)其中w、a、l和cl分别是pline命令的选项width、arc、line和close。(8)第15行和第4行的功能都是生成当前图层。该表达式也可以改写为一个函数,其功能是生成一个当前层,并设置该层的颜色和线型。源代码如下:,(defuntuceng(namecolorltyle)(commandlayermnameccolornamelltype)各变元的数据类型和含义如下:name:字符串,图层的名字。color:0-255的一个整数,图层的颜色号。ltype:字符串,AutoCAD提供的线型名,如dashed、center。将第4行改为调用该函数,表达式如下:(tucengcuxian3)将第15行改为调用该函数,表达式如下:(tucengzhongxin1center)(9)切换到AutoCAD窗口,在Command提示下,键入pingjian,按照程序的提示,输入相应的数据,即可得到上图所示的图形。,8.3定义字样Style命令以AutoCAD提供的.shx类型的形文件或windows等提供的.ttf类型的字体文件为原型定义字样。新图开始时,只有一种字样,名字为standard,是以AutoCAD提供的形文件txt.shx为原型定义的。如果不满意standard字样或者需要书写汉字,就必须自己定义字样。以下是通过command函数调用Style命令定义字样的表达式。1以AutoCAD提供的形文件为原型定义字样(commandstyleziyang1complex0.01.00.0NNN)各项含义如下:style:定义字样的命令。ziyang1:字样的名字。,complex:AutoCAD提供的形文件名,文件全名complex.shx。0.0:字的固定高度,若该值为0,表示没有固定的字高,每次调用text命令时,临时指定字高。1.0:宽度因子,为1.0时的高宽比约为3:2。0.0:字的倾斜角度(obliquingangle)。N:不反写(backwards),若为Y时,为反字(左右颠倒)。N:不倒写(upside-down),若为Y时,为倒字(上下颠倒)。N:不垂直书写。由于字体原型文件名之后的选项都是默认值,因此上述表达式可以简化表示为:(commandstyleziyangcomplex),2以Windows提供的字体文件stfanso.ttf为原型定义名字为hanzi1的字样(commandstylehanzi1stfangso.ttf)由于可以用字体名代替字体文件名,因此上述表达式可以表示为:(commandstylehanzi2华文仿宋)注意,该表达式没有对应是否垂直书写的选项。,3以一个大字体(bigfont)形文件为原型定义汉字字样用Windows提供的字体文件可以很好地解决汉字书写的问题,但特殊字符“”、“”和“”不能用AutoCAD规定的c、%d、%p转义输入,用大字体形文件为原型定义的汉字可以很解决这个问题。其表达式如下:(commandstylehanzi3gbcbig)其中gbcbig是定义汉字的大字体,文件的全名是gbcbig.shx。4普通形文件与大字体形文件组合,定义汉字字样西文字符用普通的形文件为原型,汉字部份用大字体形文件为原型,从两种形文件中各选一个满意的形文件定义汉字字样。其表达式如下:(commandstylehanzi4complex,gbcbig),【例8-2】定义绘制下图所示A4图框和标题栏的命令,零件名称、零件材料、数量、绘图比例是交互输入的参数,详细尺寸参照GB/T14689-1993、GB/T10609-1989。,1.定义绘制A4图框和标题栏的源程序(defunc:a4(/v1v2v3ljmchclshlbl);定义命令的名字为a4(setqv1(getvarosmode);获取当前的目标捕捉类型,将其赋给变量v1(setqv2(getvarcmdecho);获取当前的普通命令提示状态,将其赋给变量v2(setqv3(getvarblipmode);获取当前的光标痕迹显示状态,将其赋给变量v3(setvarosmode0);关闭目标捕捉状态(setvarcmdecho0);不显示普通命令的提示(setvarblipmode0);不显示光标痕迹,(setqljmch(getstringn输入零件名称:);将输入的零件名称赋给变量ljmch(setqcl(getstringn输入零件材料:);将输入的零件材料赋给变量cl(setqshl(getintn输入零件数量:);将输入的零件数量赋给变量shl(setqshl(itoashl);将整数shl转换为字符串(setqbl(getstringn输入绘图比例:);将输入的绘图比例赋给变量bl(commandstylehzgbcbig);定义汉字的字样名为hz(commandlayermxixianc1);创建当前图层xixian(commandlimits0,0210,297);设置图纸范围,(commandline0,0210,0210,2970,297c);绘制A4图纸边框(commandlayermcuxianc7lw0.6);创建当前图层cuxian(commandline25,5205,5205,29225,292c);绘制图框(commandline85,585,27205,27);绘制标题栏(commandline85,13205,13)(commandline100,13100,27)(commandline120,13120,27)(commandline132,5132,27)(commandline162,5162,13),(commandline180,5180,27)(commandlayermxixian)(commandline85,20132,20)(commandlayermwenzic5);创建当前图层wenzi(commandtextm(list108.59)50清华大学机械厂);填写标题栏(commandtextm(list1479)50(strcat材料cl)(commandtextm(list1719)50(strcat数量shl)(commandtextm(list192.59)50(strcat比例bl),(commandtextm(list92.523.5)50制图)(commandtextm(list92.516.5)50校核)(commandtextm(list15620)100ljmch)(setvarosmode);恢复目标捕捉的原来状态(setvarcmdechov2);恢复普通命令提示原来的显示状态(setvarblipmodev3);恢复光标痕迹原来的显示状态(princ);静默退出),2.程序说明(1)第2-4行用getvar函数获取系统变量osmode等的当前值,将其赋给变量v1、v2、v3,以便程序结束时恢复程序开始时的环境。(2)第5-7行用setvar函数将系统变量osmode等设置为有利于程序绘图的环境。(3)第11行(setqshl(itoashl)的作用是将整数shl转换为字符串,以适应后面的字符串运算。(4)第30行中,text之后的m是书写文本的定位方式选项,表示中点定位。,(5)第31行中,strcat函数的功能是连接字符串,它将字符串材料和用户输入的字符串,例如40Cr,连接为一个字符串材料40Cr,cl)(6)第37-39行用setvar函数设置系统变量osmode等为程序开始时的值,恢复程序开始时的环境。(7)运行程序总要返回最后一个表达式的值,第40行(princ),它返回了一个没有任何值的结果,实现了静默退出。(8)绘制直线和书写文本的数据,参照GB/T14689-1993、GB/T10609-1989计算之后得到的。(9)加载该程序,切换到AutoCAD窗口,在Command提示下,键入A4,输入零件名称、材料、数量和绘图比例,即可得到上图所示的图框和标题栏。,8.4尺寸标注1.长度型尺寸标注长度型尺寸标注需要确定尺寸线是水平、垂直还是指定的方向,如果默认尺寸测量值即为尺寸文本,那么关键是确定其第1条尺寸界线起点的位置p1、第2条尺寸界线起点的位置p2和尺寸线的位置p3。尺寸界线的起点通常与确定图形对象的点重合,因此可看作是已知的,于是剩余的工作就是确定位置尺寸线的位置p3。例如以下两个表达式,可得到下图所示的直线p1p2。(setqp1(1010)p2(5020)p3(3025)(commandlinep1p2),(1)指定尺寸线为水平或垂直方向的长度型尺寸标注(commanddimlinearp1p2hp3)该表达式的说明如下:dimlinear:command函数调用标注长度型尺寸的命令。p1、p2:第1、2条尺寸界线起点的位置。h:尺寸线的方向。水平方向、垂直方向(v)还是指定其他方向(Rotated)。若选择其他方向,其后需增加角度数值。p3:确定尺寸线的位置点。可以是一个变量,如该例;可以是一个字符串x,y,串内的x、y确定了p3点在当前坐标系下的位置,如30,25;也可以用相对于第2条尺寸界线的起点p2的位置来确定它,这样会方便得多。其格式如下:x,y,表示相对于,x表示相对于p2点的X方向的增量,y表示相对于p2点的Y方向的增量。由于选项h已将其确定为水平型,所以x或x可以为任意数值。,(commanddimlinearp1p2hp3)(commanddimlinearp1p2h30,25)(commanddimlinearp1p2h-20,5)以上3个表达式用不同的形式确定了尺寸线的位置,见图a。如果要标注尺寸线为垂直方向的尺寸,只需将以上表达式中的h改为v即可。例如:(setqp1(1010)p2(4025)p3(4525)(commandlinep1p2)(commanddimlinearp1p2vp3)结果见图b。,a,b,(2)默认尺寸线方向的长度型尺寸标注如果不指定尺寸线的方向,p3点与p1、p2点的相对位置确定了尺寸线的方向。若p3点的X坐标在p1、p2点的X坐标之外,而且p3点的Y坐标在p1、p2点的Y坐标之间,尺寸线为垂直方向;其他情况的尺寸线为水平方向。如果将去掉上述3个表达式中的h选项,其结果不变,因为p3点的X坐标在p1、p2点的X坐标之间。若改为以下表达式之一(commanddimlinearp1p2(5515)(commanddimlinearp1p255,15)(commanddimlinearp1p25,-5)将得到该直线的尺寸线为垂直方向的标注,见下图。,2.对齐型尺寸标注对齐型尺寸标注的特点是,尺寸线的方向是确定的,它与被标注对象的两个端点或指定的两尺寸界线起点的连线平行。以下每个表达式都能生成下图所示的对齐型长度尺寸标注。(commanddimalignedp1p2p3)(commanddimalignedp1p235,25)(commanddimalignedp1p2-13.04,2.64)表达式中各参数的含义与长度尺寸标注中各参数的含义相同。,3.直径型和半径型尺寸标注直径型和半径型尺寸标注需要首先选择被标注的圆或圆弧,然后确定尺寸线的位置,如果默认尺寸测量值为尺寸文本,用作为默认的选择即可。(1)直径型尺寸标注以下两个表达式绘制了下图所示的一个圆。(setqpc(100100)r12.5p1(polarpc012.5)p2(105105)(commandcirclepcr),以下每个表达式都能生成下图所示的直径型尺寸标注。(commanddimdiameterp1p2)(commanddimdiameterp1105,105)(commanddimdiameterp1-7.5,5)在上述表达式中,p1是圆的选择点,p2点确定了尺寸线的位置和方向,字符串105,105是当前坐标系下的坐标,字符串-7.5,5是相对于选择点p1的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的第一个字符为直径符号。,(2)半径型尺寸标注以下每个表达式都能生成下图所示的半径型尺寸标注。(commanddimradiusp2p4)(commanddimradiusp2105,105)(commanddimradiusp2-7.5,5),在上述表达式中,p2是圆弧的选择点,p4点确定了尺寸线的位置和方向,字符串105,105是当前坐标系下的坐标,字符串-7.5,5是相对于选择点p2的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的第一个字符为半径符号R。,4.角度型尺寸标注标注两条直线的夹角是是最常见的角度型尺寸标注。需要首先选择被标注的两条直线,然后确定尺寸线的位置,如果默认尺寸测量值为尺寸文本,用作为默认的选择即可。以下每个表达式都能生成下图所示的角度型尺寸标注。(commanddimangularp1p3p4)(commanddimangularp1p340,14)(commanddimangularp1p30,-6),在上述表达式中,p1是第一条直线的选择点,p3是第二条直线的选择点,p4点确定了尺寸弧线的位置,字符串40,14是当前坐标系下的坐标,字符串0,-6是相对于选择点p3的X方向的增量和Y方向的增量。由于默认尺寸的测量值,所以尺寸文本的最后一个字符为度的单位符号。,上图中尺寸文本“45”的书写方向与尺寸弧线中点的切线方向相同,可能不符合某些单位的制图标准,改写为以下的表达式之一,可以得到下的结果。(commanddimangularp1p3A0.01p4)(commanddimangularp1p3A0.0140,14)(commanddimangularp1p3A0.010,-6)其中A是尺寸文本的旋转角度选项,其后是旋转角度的数值,由于AutoCAD不接受0方向,因此取其近似值0.01。,5.设置尺寸变量(1)尺寸变量的作用尺寸变量属于系统变量,用来控制尺寸线、尺寸界线、尺寸文本和尺寸箭头等要素的样式、大小和它们之间的相对位置。公制(Metric)和英制(English)环境下的尺寸变量的初是始值是不同的。例如,尺寸文本的字高,前者为2.5,后者为0.18。本节介绍的尺寸变量的初值均是公制状态下的初值。(2)最常用到的尺寸变量AutoCAD2004提供了64个尺寸变量,最常用到的有以下几个:dimscale:总尺寸比例因子,初始值为1。dimtad:如果为0(OFF),长度型尺寸的尺寸文本注在尺寸线中间,否则注在尺寸线的上方,初始值为1。,dimtih:如果为0,长度型尺寸两尺寸界线之内的尺寸文本与尺寸线方向一致,否则为水平方向,初始值为0(OFF)。dimtoh:如果为0,长度型尺寸两尺寸界线外侧的尺寸文本与尺寸线方向一致,否则为水平方向,初始值为0(OFF)。,dimtix:如果为0,不强制尺寸文本在两尺寸界线之内,否则强制尺寸文本在两尺寸界线之内,初始值为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)修改尺寸变量的值因为尺寸变量属于系统变量,所以既可以通过setvar函数,也可以通过command函数修改尺寸变量的值。以下是修改上述尺寸变量的表达式。(setvarltscale2);设置尺寸标注总比例因子为2(setvardimtad1);设置尺寸文本在尺寸线上方(setvardimtih0);设置两尺寸界线之内的尺寸文本与尺寸线方向相同(setvardimtoh0);设置两尺寸界线外侧的尺寸文本与尺寸线方向相同(setvardimtix1);强制尺寸文本在两尺寸界线之内(setvardimtofl1);小尺寸标注时在两尺寸界线之内增加连线,(setvardimzin8);舍去尺寸数字的无效尾0(setvardimdsep.);设置字符.作为尺寸数字中整数与小数部份的分隔符(setvardimlfac2);设置长度尺寸的测量值是实际值的2倍(setvardimtsz2.5);设置短斜线的长度并取代普通箭头或者(commandltscale1);设置尺寸标注总比例因子为1(commanddimtad0);设置尺寸文本在尺寸线之间(commanddimdsep.);设置字符.作为尺寸数字中整数与小数部份的分隔符,6.处理尺寸文本的测量值尺寸的测量值是AutoCAD根据所选的对象、尺寸界线的起点和尺寸线的方向计算得到的。对于尺寸的测量值,用户只有满意、不满意和部份满意三种情况。所谓部份满意,就是对尺寸数值满意,但缺少尺寸数值的前缀或后缀。(1)默认尺寸的测量值如果尺寸的测量值和期待生成的尺寸文本完全一致,在这种情况下应该选择默认,即表达式中不含text或t选项。此前的一些实例都属于这种情况。(2)用自己输入的文本作为尺寸文本如果不想使用尺寸的测量值,在确定尺寸线位置时增加text或t选项,随后输入自定的文本即可。将前面相应的表达式改写如下:,(commanddimlinearp1p2ht%c50p3);见图a(commanddimalignedp1p2t60cmp3);见图b(commanddimdiameterp1t2X%c50p2);见图c(commanddimradiusp2tR10p4);见图d(commanddimangularp1p3A0.01t45.5%dp4);见图e,abcde,(3)为尺寸的测量值增加前缀或后缀有时虽然对尺寸的测量值满意,但是还不个够,还需要为尺寸的测量值增加前缀或后缀。例如图8-11所示,尺寸240需要增加前缀“460”,尺寸40需要增加前缀“5”。解决的办法是,在确定尺寸线位置时增加text或t选项,随后输入以下字符串:前缀内容后缀内容其中表示使用尺寸的测量值,如果不需要为尺寸的测量值增加前缀或后缀,可以缺少相应的内容。例如下图生成尺寸60、460240和540表达式如下:(commanddimlinearp1p2p3)(commanddimlinearp1p4t4X60=p5)(commanddimdiameterp6t“5Xp7),以下是需要增加前缀和后缀的尺寸。其表达式如下:(commanddimdiameterp1t4X锪平%c45p2)(commanddimdiameterp3t深10p4),8.5调用AutoCAD的图形编辑功能1.用程序调用图形编辑功能的好处(1)利用已生成的图形对象构造出新的图形对象。例如下图所示图形有4个螺纹孔,只需绘制1个,其余螺纹孔只需调用AutoCAD的copy命令即可。,(2)提高编程效率。例如上图所示图形的轮廓线是由4段直线和4个圆弧组成的。可以先计算出每条直线的端点、每个圆弧的端点和中心,再调用line和arc命令绘制出该轮廓线;也可以先绘制倒圆角之前的矩形,然后调用AutoCAD的fillet命令,倒出矩形的4个圆角。显然,后一种方法要简便一些。,(3)将复杂的几何运算交给AutoCAD的命令去完成。例如下图所示轴的剖面图。它的轮廓线是由1个圆弧和3段直线组成的。p1、p2点是圆弧和直线的共有端点。如果求解这些坐标比较麻烦,那么可以首先绘制圆和p4p3、p3p5和p5p6三段直线,然后调用AutoCAD的trim命令,经过trim命令的修剪得到该图的轮廓线。,【例8-3】绘制4个带有中心线的螺纹孔。,和交互作图一样,首先绘制一个带有中心线的螺纹孔,然后再复制3个螺纹孔。以下个表达式生成了下图所示的两条中心线和1个螺纹孔。,(commandlayermzhongxinlcenter)(commandline-5,05,0)(commandline0,-50,5)(commandlayermcuxianlw0.3)(commandcircle0,03)(commandlayermxixian),(commandarc-3.5,00,3.50,-3.5)(commandzooma);为确保选到指定的图元,显示整个作图范围。以下表达式调用AutoCAD的copy命令,复制3个带中心线的螺纹孔,见下图。(commandcopyw-5,-55,5m0,012,024,036,0),(commandcopyw-5,-55,5m0,012,024,036,0)对该表达式的各项说明如下:copy:command函数调用的复制命令。w:整体在窗口内的图形对象被选中。-5,-5:窗口一个角点的坐标。5,5:窗口另一个角点的坐标。:结束选择对象的操作。m:多次复制。0,0:复制图形对象时位移矢量的第一点。12,0、24,0、36,0:位移矢量的第二点。:结束多次复制。,【例8-4】绘制带有4圆角的轮廓线。以下两个表达式绘制一个的矩形。(commandlayermcuxian)(commandline-7,-643,-643,6-7,6c)(commandzoome);为确保选到指定的图元,尽可能大地显示图形对象以下表达式倒矩形的4个圆角。(commandfilletr1.5);设置圆角半径(commandfillet-7,018,-6);倒图左下圆角(commandfillet18,-643,0);倒图右下圆角(commandfillet43,018,6);倒图右上圆角(commandfillet18,6-7,0);倒图左上圆角,也可以调用绘制矩形命令,因为矩形是一个封闭的多义线,因此,输入选项p,再选中这个矩形,一次即可倒完4个圆角。其表达式如下:(commandlayermcuxian)(commandrectangle-7,-643,6);绘制矩形(commandfilletr1.5);设置圆角半径(commandfilletp18,-6);倒圆角,【例8-5】绘制图8-17所示轴的剖面轮廓线。以下两个表达式生成了左图所示的1个圆弧和3段直线。(commandcircle0,040)(commandline50,1131,1131,-1150,-11),以下表达式调用AutoCAD的trim命令,得到右图所示修剪后的图形。(command“zoom”“e”)(commandtrimAll40,050,1150,-11),对该表达式的各项说明如下:trim:command函数调用的修剪命令。All:所有的图形对象作为剪切边。:选择剪切边的操作结束。40,0:被剪对象的位置,该点为圆上一点,指出该段是为要剪去的圆弧。50,11、50,-11:被剪对象的位置,此两点为直线上的点,指出该段是为要剪去的线段。:修剪命令结束。,2.选择图形对象的注意事项(1)用传统的方法选择图形对象时,必须确保被选图形对象在当前屏幕作图区而且是可见的,否则将选不到待选择的图形对象。如果待选择的图形对象不在屏幕作图区,应该调用zoom或pan命令,尽可能大地显示待编辑的图形对象。(2)单点选择图形对象时,拾取框不宜过大或过小。若过大,不想选取的图形对象被选中,特别是在图形对象较密集时;若过小,指定位置的拾取框可能碰不到待选择的图形对象。此时应该用setvar函数设置系统变量pickbox,调整拾取框的大小(可变范围050像素)。(3)当图形对象较密集时,可以利用图层的off或freeze选项,关闭或冻结那些与当前作图无关的图形对象所在的图层。(4)还可以通过图元的名字指定图元,这是最可靠的选择图元的方法,详见第13章。,8.6调用图案填充功能图案填充即填加剖面线或剖面符号。AutoCAD有bhatch和hatch两个实现图案填充的命令。bhatch命令允许在需要填充的区域指定一个点,自动确定填充边界。hatch命令需要用户确定填充的边界。前者要求填充区域必须是封闭的,后者对封闭的要求并不严格。(1)自动确定边界填充增加以下表达式下:(commandlayermpoumian)(commandbhatchpansi311.500,0)该表达式各项含义如下:bhatch:自动确定边界的填充命令。p:拾取(pick)点的方式。ansi31:剖面线的名称。1.5:剖面线的比例因子。0:剖面线的旋转角度。,0:剖面线的旋转角度。0,0:拾取点的位置。:结束拾取点的操作。结果如下图所示。,(2)指定边界填充增加的表达式如下:(commandhatchansi311.50w-40,-4040,40)该表达式中一些参数的含义如下:hatch:指定边界填充命令。w:窗口选择方式。-40,-40、40,40:窗口的两个角点。:结束选择填充边界的操作。其余参数的含义与自动确定边界填充表达式中对应参数的含义相同。,8.7定义绘制曲线的命令,曲线的方程为:y=f(x),若XminxXmax,绘制该方程对应的曲线。用连续多段的直线代替曲线,每段直线的长度越短,曲线就越逼真。右图是绘制曲线y=f(x)的程序流程图。,【例8-6】定义绘制渐开线的命令渐开线(参照图8-19)的参数方程为:x=r(cos+sin)y=r(sin-cos),1.定义绘制渐开线命令的程序(defunc:inv(/p0phiphimaxphimindphinx0y0 x1y1x2y2)(setqp0(getpointn输入基圆的圆心:)(setqr(getdistp0n输入基圆的半径:)(commandcirclep0r);绘制基圆,(setqphimin(getrealn输入渐开线的起始角(弧度):)(setqphimax(getrealn输入渐开线的终止角(弧度):)(setqdphi(getrealn输入角度增量(弧度):)(setqn(/(-phimaxphimin)dphi);n为曲线的段数(setqdphi(/(-phimaxphimin)n);修正dphi(setqx0(carp0)y0(cadrp0);得到基圆圆心的坐标x0、y0(setqphiphimin)(setqx1(+x0(*r(+(cosphi)(*phi(sinphi);x1=x0+r(cos+sin)(setqy1(+y0(*r(-(sinphi)(*phi(cosphi);y1=y0+r(sin-cos),(while(l(*2d)(progn(setql1(-l(*2d);如果螺钉长度大于2倍的大径,螺纹部分的长度为2倍的大径,(setqp19(polarp3alfl1)p20(polarp4alfl1)(setqp13(polarp1alfl1)p14(polarp2alfl1)(commandlinep19p20)(setqp13p1p14p2);如果螺钉长度不大于2倍的大径,整个长度均有螺纹)(commandlweight0)(commandlinep13p15)(commandlinep14p16)(commandlweightbylayer),【例8-8】定义标注表面粗糙度的命令用AutoCAD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社区医学社区卫生服务管理考试答案及解析
- 2025年皮肤科疑难疾病鉴别诊断试卷答案及解析
- 2025年妇科妊娠期高血压并发症处理方法判断题答案及解析
- 民族团结材料的课件模板
- 2025年眼科验光验配常见眼镜配制模拟考试卷答案及解析
- 2025年急重症抢救急救技术检测答案及解析
- 2025年康复治疗计划制定考核答案及解析
- 创新驱动:新质生产力的核心引擎
- 发展农业新质生产力的措施
- 2025年肿瘤学肿瘤生物学基础考核答案及解析
- GB/T 45940-2025网络安全技术网络安全运维实施指南
- 敦煌课件讲解稿子
- 教育与宗教分离课件
- 2025年环境工程师初级职称考试试题及答案解析
- 眼科特检基础知识培训课件
- 高考历史一轮复习资料(人教版)专题二古代中国的农耕经济专题质量检测(A卷)
- 2025 年小升初沈阳市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 统编版高中思想政治必修1第一课社会主义从空想到科学、从理论到实践的发展1.2科学社会主义的理论与实践 教学课件
- 摄影剪辑基本知识培训课件
- 高校学管中心面试真题与答案解析
- 2025北京市交通发展年度报告
评论
0/150
提交评论