好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第四章AutoLISP的绘图功能课件.ppt

41页
  • 卖家[上传人]:夏**
  • 文档编号:590576494
  • 上传时间:2024-09-14
  • 文档格式:PPT
  • 文档大小:329KB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第四章第四章 Auto LISP的绘图功能的绘图功能 如前所述,Auto LISP语言体现了人工智能语言lisp的特点和Auto CAD强大的图形编辑功能,可以说它是集设计与绘图为一体的人工智能语言,因此,它是开发实用工程计算机辅助设计和绘图软件的强有力工具Auto LISP具有强大的绘图编辑功能,主要是由于它提供了与Auto CAD相互通讯的简单透明的接接口口功功能能,即提供了一个 系 统 内内 部部 函函 数数 command,, AutoLISP程 序 中 利 用command函数可以非常简单而方便地调用几乎全部Auto CAD命令,以完成所要求的各种工程图形的绘制任务,本章将重点介绍command函数的功能、编程技巧及应用实例 4.1 COMMAND函数函数4.1.1 调用格式调用格式 (command 〈参数〉……) command函数的参数可以是任意的Auto LISP的S—表达式,但与Auto LISP其它函数不同,它的参数是没有固定的格式由于它是Auto LISP系统提供的与Auto CAD相互通讯的接口,利用它可以直接执行Auto CAD的命令,所以它的〈参数〉就是它所调用的Auto CAD命令及其子命令或命令所需的数据。

      例如:用command函数调用Auto CAD命令画一直线,可写成 (command “line” /(5.0 6.0) /(10.0 15.0) ””) 它相当于在Auto CAD中键入 command:line From point:5.0,6.0 To point:10.0,15.0 To point:〈回车〉 由此可见,command函数的参数格式取决于所执行的Auto CAD命令及其所需的数据类型但是由于command是Auto LISP的内部函数,其参数必须符合Auto LISP的数据类型,即采用S—表达式形式为此,将Auto CAD的命令及其子命令所要求的数据作为command函数的参数时,作了以下规定:规定: 1. Auto CAD的命令、子命令和选择项要用字符串的命令、子命令和选择项要用字符串表示,大小写均可表示,大小写均可 例如: (command “DIM” “hor” /(2.0 3.0) /(5.0 3.0) /(5.0 5.0) 8) “DIM”为命令,“hor”为子命令,均用字符串表示。

      2.数字常量(整型数或实型数)可写成本身亦可数字常量(整型数或实型数)可写成本身亦可写成字符串形式写成字符串形式如上例中数字8亦可写成“8” 3.点常量有两种表示法:点常量有两种表示法:一是一是Auto LISP表的形表的形式,式,如上例中/(2.0 3.0),/(5.0 3.0)二是用字二是用字符串表示,符串表示,字符串中数据要符合Auto CAD的规定如写成“2.0,3.0”,“5.0,10.0” 4. command调调用用参参数数中中的的空空串串((””))等等效效于于键键盘盘上上按按一一次次空空格格键键如上例中画直线的程序最后要求以终止该命令的执行,即用(“”) 空串亦可代表缺省值例如: (command “text” “2.0,3.0 ” “” “” “example”) 标准表中二空串表示写文本时,其高度和旋转角采用缺省值 5. command调调用用的的参参数数,,如如数数字字、、点点常常量量亦亦可可为为Auto LISP的的其其它它表表达达式式,,但但其其求求值值结结果果的的数数据据类类型型,,要要与与Auto CAD命令要求的数据类型一致。

      命令要求的数据类型一致例如: (setq p1 (list 30.0 20.0) (command “line” p1 (list (+ (car p1) 50.0) (cadr p1)) ””) 但但command函数的参数不能用函数的参数不能用get类函数,这是特别类函数,这是特别要注意的,否则将出错要注意的,否则将出错 6. command可以不带任何参数,可以不带任何参数,即(即(command),),它等效于在键盘上按它等效于在键盘上按CTRL—C键,即取消了键,即取消了Auto CAD命令例如: (command “dim” “hor” /(4 4) /(6 4) /(5 4) 10) (command) 相当于取消DIM命令并返回到命令提示 (command)也可以用“∧”代替,如上式可写成: (command “dim” “hor” /(4 4) /(6 4) /(5 4) 10∧) 4.1.2 功用及求值结果功用及求值结果 command函数的功用是在Auto LISP编程中直接调用Auto CAD命令,以编制绘图程序。

      求值器在遇到command函数时与对其它Auto LISP函数一样,也要对各参数求值但不同的是它把各参数的求值结果交给Auto CAD去调用相应的Auto CAD命令,执行完Auto CAD命令后,又返回到Auto LISPcommand函函数数求求值值结结果果总总是是返返回回nil command函数的实际应用有如下几种情况: 1.用一个command的实际应用是在执行一条Auto CAD命令这是最常用的,例如: (setq p1 /(1.2 1.2) p2 /(5.8 12.4)) (command “line” p1 p2 ””) (command “circle” /(5.0 4.0) 3) (command “text” /(4.0 0.4) “3.5” “0.0” “ABC”) 2.用一个command函数执行多条Auto CAD命令,这也是正确的 例如: (command “line” p1 p2 ”” “circle” /(5.0 4.0) 3 “text” /(4.0 0.4) “3.5” “0.0” “ABC” ) 3.一条Auto CAD命令,可以由多个command函数完成。

      例如: (command “circle”) (command /(5.0 4.0) (command 3) 在这种情况下可在其中间插入其它函数,如前所述command函函数数是是不不允允许许用用get类类函函数数作作参参数数的的如如(command “circle” (getpoint) (getreal))就就是是错错误误的的但但我我们们可可以以在在多多个个command函函数数调调用用中中间间,,插插进进get类类函函数数例如; (command “circle”) (setq p1 (getpoint “\n 圆心点”)) (command p1) (setq r (getreal “\n 半径”)) (command r) 4.利用暂停符号pause使正在执行的Auto CAD命令暂停作法是command函数调用参数表中加pause符号,该Auto CAD命令即暂停,以等待用户键入或拖拽输入例如: (command “circle” /(5.0 4.0) pause) 该式是用command函数调入Auto CAD中的circle命令。

      先设置圆心(5.0 4.0),然后暂停下来让用户在屏幕上拖拽圆的半径,当用户给出所要的点或输入所需的半径后,在屏幕上便画出一个圆 4.1.3注意注意 mand函函数数调调用用中中的的参参数数类类型型,,个个数数与与顺顺序序应应与与Auto CAD命命令令严严格格对对应应为防止出错,对于初学者建议在编写用command函数的Auto LISP程序之前,先用Auto CAD的命令提示状态下敲入命令,确定其输入命令、子命令及其数据后,再进行编程 mand函数在调用象line,pline,layer等需要不定个数据的Auto CAD命令时,最后必须按一次空格键,以终止该命令的执行即在command参数最后加一个(“”) mand函数中的参数不能用get族函数 mand函数调用中的命令、子命令及其选项等字符串中不能含空格,因为空格在字符串中也是有效的例如: (command “line” “1” “2” “3 4” “”) ;非法命令 (command “line” “1,2” “3,4” “”) ;合法 5. command函数调用函数调用script命令时只能作为程序文件或函数定命令时只能作为程序文件或函数定义中的最后一个表达式,否则程序易于出现不正确的结果,这在开义中的最后一个表达式,否则程序易于出现不正确的结果,这在开发发CAD应用应用软件中特别出现要加以注意。

      4.2图形处理函数图形处理函数 Auto LISP编写绘图程序时,常需要一些几何特征点、距离、角度等数据,如两点距离、两直线交点等Auto LISP专门提供了一些解决这类问题的函数,即图形处理函数利用这些函数,可使很多复杂问题的求解简化,充分利用这些函数,可使编程大大简化 4.2.1求相对角度的函数求相对角度的函数ANGLE 1.调用格式调用格式 (angle 〈点1〉 〈点2〉) 2.功用及求值结果功用及求值结果 该函数是求〈点1〉到〈点2〉连成一条直线的正方向与当前作图平面X轴方向所组成的角度,单位为弧度求值结果返回该角度若〈点〉为三维点,则将其投影到当前作图平面上计算例如: (angle /(5.0 1.2) /(2.4 1.2)) 返回值 3.14159 3.注意注意 〈点1 〉 、〈点2〉顺序不能写错,因它决定直线的方向若上例写成:(angle /(2.4 1.2) /(5.0 1.2)) 返回值 0 4.2.2求两点间距离的函数求两点间距离的函数DISTANCE 1.调用格式调用格式 (distance 〈〈点点1〉〉 〈点〈点2〉〉) 2.功用及求值结果功用及求值结果 该该函函数数的的功功用用是是求求〈〈点点1〉〉和和〈〈点点2〉〉的的距距离离,,并并返返回回该该函函数数值值。

      同同样样,,若若为为三三维维点点,,它它返返回回到到投投影影在在当当前前作图平面上的两点间的距离作图平面上的两点间的距离 例如:例如: (distance /(5.0 1.2) /(2.4 1.2)) 返回值返回值2.600000 (distance /(5.0 1.2 3.0) /(2.4 1.2 5.1)) 返回值返回值4.045990 4.2.3求极坐标函数求极坐标函数POLAR 1.调用格式调用格式 (polar 〈点〉 〈方向角〉 〈距离〉) 2.功用及求值结果功用及求值结果 该函数用于求一个点的极坐标,返回在UCS坐标系统中的一个点其〈方向角〉是从X轴方向按逆时针方向计算,其单位为弧度〈点〉不管二维点还是三维点总是返回二维点例如: (polar /(7.0 1.0) pi (+ 2.0 3.0) 返回值(2.00000 1.000000) (polar /(4.0 7.0) 0 (/ 4.0 2) 返回值(6.00000 7.000000) (polar /(4.0 7.0) (/ pi 3.0) 4.0) 返回值(6.00000 10.464100) p1p2p3acb 在编制绘图程序时,已知一点求另一相关点时,常采用两个函数即List和polar。

      由于polar函数在很多情况下,使用起来更简便,应尽可能使用polar函数,例如: 已知p2点及三角形三个边长a,b,c,确定p1、p3点,用polar函数: (setq p1 (polar p2 (/ pi 2.0) a)) p3 (polar p1 0 b)) ;注意p2、a、b、c应先赋值 用List函数: (setq p1 (list (car p2) (+ (cadr p2) a)) p3 (polar (+ (car p1) b) (cadr p1)) ) 显然,用polar函数确定相对坐标点是比较简单的 图4.1p1p2p3图4.2 另外polar函数还可以配合angle,distance等函数使用,使用程序更简化,例如:已知直线二端点p1、p2,求距p1点为3/7线长的一点p3(图4.2) (setq p3 (polar p1 (angle p1 p2) (* 3.0 (/ (distance p1 p2) 7.0)))) 用polar函数时比较麻烦的是常常要将角度转化成弧度,为简化起见,可先将一些常用的角度赋给一些简单符号。

      如: (setq f1 (* 0.017453 30) f2 (* 0.017453 45) f3 (* 0.017453 60) f4 (* 0.017453 90) f5 (* 0.017453 135) f6 (* 0.017453 225) ) 然后,将上面的函数放在绘图环境中,这样使用起来很方便 4.2.4求二直线交点坐标的函数求二直线交点坐标的函数 INTERS 1.调用格式调用格式 (inters〈端点1〉〈端点2〉〈端点3〉〈端点4〉[〈任选项〉]) 2.功用及求值结果功用及求值结果 该函数求以〈端点1〉,〈端点2〉确定的一条直线和以端点〈端点3〉,〈端点4〉确定的另一直线的交点,并返回该交点若不相交,则返回nil 〈任选项〉提示是否求延长线交点若〈任选项〉存在,且其值为nil,则提示可以求两条线上或其延长线上的交点若〈任选项〉不存在或其值为非nil,则提示所求交点只在两条线上,两条线不能延长例如: 〈任选项〉不存在或存在但其值为nil,如: (inters /(4.0 4) /(1.0 1.0) /(1.0 2.0) /(3.5 6.0)) (inters /(4.0 4) /(1.0 1.0) /(1.0 2.0) /(3.5 6.0) T) 均返回nil,但同样上面函数若任选项为nil如: (inters /(4.0 4) /(1.0 1.0) /(1.0 2.0) /(3.5 6.0) nil) 则可返回交点(0.782609 0.782609) 4.2.5 目标捕捉函数目标捕捉函数OSNAP Auto LISP提供的OSNAP函数所完成的功能与Auto CAD中的OSNAP命令完成的功能相似,即捕捉目标的特征点。

      1.调用格式调用格式 (osnap 〈点〉 〈目标捕捉方式〉) 2.功用及求值结果功用及求值结果 该函数是用〈点〉先取屏幕图形目标,再根据〈目标捕捉方式〉求出该目标的特征点如(圆心、直线端点、切点、线段中点、交点等),并返回该特征点若对给定〈点〉没有捕捉到目标,但找不到与指定捕捉方式相匹配的目标特征点OSNAP则返回nil 有关目标捕捉功能在Auto CAD的OSNAP命令已作介绍,下面对目标捕捉方式只作一简述: (1) NEA(Nearest)—捕捉靶区中心点位置最近的线、弧线或圆上的点 (2) ENDP(Endpoint)—捕捉靶区中心点最近的线、弧线的端点 (3) MID(Midpoint)—捕捉线段或弧线的中点 (4) CEN(Center)—捕捉弧线或圆(可见部份)的圆心 (5) NOD(Node)—捕捉点元素,这些点应置于块定义的插入基点上,该块插入时的snap节点 (6) QUA(Quadrand)—捕捉圆或弧线上的象限点(可见的)-0o、90o、180o、270o的点,若圆或弧线是旋转后的块的一部份,其象限点也是随之转动 (7) INT(Interserction)—捕捉两条线(或者一线与圆或弧,或者两个圆或弧)的交点。

      (8) INS(Insert)—捕捉一个形、文本、属性定义或块的插入点 (9) PER(Perpendicular)—在直线、弧线或圆捕捉一点,该点与前一点的连接为该直线、弧线或圆的法线用该方式的弧线或圆不能是块的一部份 (10) TAN(Tangent)—捕捉圆或弧线上的某一点,该点与前一点连接为该弧线的一条切线用该方式的圆或弧线不能是块的一部份, (11) QUI(Quick)—该方式只能与上述方式一起使用,目标捕捉一般搜索落入靶区的所有目标,并先取最靠近指定方式的特征点,当屏幕上出现多个可见图素时,这种搜索很费时,若加上QUI快捷方式,则只要找到符合指定类型的目标的一个点便停止搜索,但若遇到INT方式时,则不管QUI方式均进行全面搜索 (12) NON(None)—关闭目标捕捉方式 以上的目标捕捉方式,除Quick和None方式外,其它目标方式可以任意结合,并用逗号隔开Quick只能与其它目标捕捉方式一起使用 3. 注意注意 目标捕捉只能辨认屏幕上可见图素,对关闭层上的图形或虚线中“抬笔”段,则捕捉不到,下面举例说明其用法,例如: (setq pc (osnap (getpoint “\n select object:”) “cen”)) select object:用鼠标选取屏幕中圆上一点, 返回该圆的圆心。

      又如: (command “line” /(3.0 6.0) ) (setq pt (osnap (getpoint “\n select object:”) “tan”)) (command pt “”) select object:用鼠标选取屏幕上圆上的一点, 在屏幕上绘出由点(3.0 6.0)到该圆的切线 再如: (setq pt (osnap (getpoint “\n select object:”) “midp,endp)) select object:选取已有的直线上一点 若目标距某端点近则返回该端点,否则返回中点 4.3 屏幕操作函数屏幕操作函数 屏幕操作函数主要是对屏幕显示、读取进行控制、管理、操作的函数这类函数除少数外一般无参数,学习这类函数着眼点不在求值结果(其求值结果总是返回nil),主要是了解这类函数的功用 4.3.1 文本图形屏幕转换函数文本图形屏幕转换函数 GRAPHSCR和和TEXTSCR 1.调用格式调用格式 (graphscr) (textscr) 2.功用功用 在执行Auto LISP程序过程中,文本屏幕和图形屏幕一般都可根据情况自动转换,特别是转换成图形屏幕。

      如用command命令调用Auto CAD命令时,大都会自动从文本屏幕转换为图形屏幕,而执行一些列表等命令时,又会自动转换到文本屏幕但在有些情况下屏幕并不能按需要自动转换,而需要人为控制,这时就要在Auto LISP程序中使用graphscr或textscr函数,graphscr的功能是使文本屏幕转换为图形屏幕,而textscr的功能是使图形屏幕转换成文本屏幕,其作用相当于按F1键 4.3.2重画屏幕图形函数重画屏幕图形函数REDRAW 1.调用格式调用格式 (redraw [〈实体名〉] [〈方式〉]) 2.功用功用 该函数用于在图形屏幕上重画图形,其应用用三种情况:1)当无任选项〈实体名〉和〈方式〉时,将重画当前视区内的所有图形;2)当指定任选项〈实体〉时,在屏幕上重画当前图形数据库中选中的实体;3)当存在任选项〈方式〉和〈实体名〉时,将根据选定〈方式〉(为整型数)执行以下功能: 〈方式〉为1—在屏幕上重画实体 2—把实体从屏幕上清除 3—把实体加亮显示(若显示器具有加亮显示功能) 4—实体,不加亮显示(若显示器具有加亮显示功能) redraw函数在编程中实际应用: 当图形比较复杂,再选择目标时因其它线条干扰而选不定目标时,可用(redraw [〈实体名〉] [〈方式〉])函数,其中〈方式〉选2,将某些实体暂时隐去,待目标选定后,在利用此函数〈方式〉选1恢复该部分图形,如在标注小角度尺寸及在剖面线上标注尺寸时常用此法。

      4.3.3 清图形屏幕函数清图形屏幕函数GRCLEAR1.调用格式调用格式 (grclear) 2.功用功用 该函数用于清除当前视窗的图形,而命令提示区,状态行及菜单提示区保持不变此函数并没有删去屏幕上已有的任何实体,而只是将其“隐藏”起来调用redraw函数可使其恢复,注意它与(redraw [〈实体名〉] [〈方式〉])不同的是grclear是对整个视区起作用 4.3.4向屏幕文本显示区写文字的函数向屏幕文本显示区写文字的函数GRTEXT 1.调用格式调用格式 (grtext [〈框区〉 〈文字字符串〉 〈加亮〉]) 2.功用功用 前面讲过的用command函数调用Auto CAD命令如Text和attdef等只能在绘图区中显示文字 函数参数中任选项的意义: 〈框区〉参数值若为正整数、则文字显示在菜单区,且参数值由0到最大参数值若为负整数,则文字显示在状态行区若参数值为-1,文字显示在方式状态行区若其值为-2,则文字显示在坐标状态行区 〈文字字符串〉用于书写文字,文字不能太长,否则将截尾显示 〈加亮〉若提供了其值不为0,将加亮显示;若其值为0,则去掉加亮显示。

      若(grtext)不带任何参数,将使屏幕上所有文本区恢复到它们的标准状态 Grtext函数常用于在程序运行过程中,对程序运行各阶段的提示如齿轮CAD程序运行过程中可在菜单区依次显示:数据输入、设计计算、结果显示、结构类型、图形绘制、尺寸标注、图形输出等,以提示程序运行的各个阶段 4.4存取存取Auto CAD系统变量的函数系统变量的函数Auto LISP提供了存取Auto CAD系统变量的函数利用这些函数可以很方便地查阅或改变系统的值,以满足各种需要,存取Auto CAD系统变量的函数有两个:即getvar和setvar4.4.1获得系统变量值的函数获得系统变量值的函数GETVAR1.调用格式调用格式 (getvar 〈系统变量名〉)2.功用及求值结果功用及求值结果该函数用于获取Auto CAD系统变量的当前值,并返回该值〈系统变量名〉用字符串表示例如: (getvar “filletrad”) 返回值0.250000即返回当前圆角半径的缺省值为0.25个图形单位 4.4.2设置系统变量值的函数设置系统变量值的函数SETVAR1.调用格式调用格式 (setvar〈系统变量名〉〈值〉)2.功用及求值结果功用及求值结果该函数用来改变系统变量的值,即给它设置一新值。

      并返回该值例如: (setvar “filletrad” 0.50) 返回值0.5即给圆角半径设一新值0.5个图形单位 3.注意注意 1)系统变量分两类:一类是只读的,另一类是可读写的前一种只能用getvar查阅,只有后一种才能用setvar来改变其值 2)每个系统变量的值都有规定的数据类型,在用setvar进行修改值时要特别注意 4.应用应用 setvar函数,在使用CAD程序开发中非常有用,常用的有: 1)改变屏幕控制显示 (setvar “bilpmode” 0) ;使绘图时不显示“+”字光标 (setvr “cmdecho” 0) ;使Auto CAD命令提示和输入数据不显示在文本屏幕上 2)控制目标捕捉方式及改变目标框大小的系统变量,在标注尺寸时常因目标选不到而中断程序,通常可采用以下的系统变量值的重新设置来改善目标选取 (setvar “osmode” 512) 返回值512;采用目标最近点的方式 (setvar “pickbox” 3) 返回值3;改变靶区的大小 3)利用viewctr来确定视图基点 (setq pc (getvar “viewctr”)) (setq p1 (polar pc pi 5) 其它系统变量如angbase,angdir等亦常用。

      4.5综合举例综合举例例1 编程设置图形环境 (defun txhi () (command “layer” “n” 1 “n” 2 “n” 3 “n” 4 “n” 5 “c”1 1 “c”2 2 “c”3 3 “c”4 4 “c”5 5 “1” “center” 1 “”) ;设置层 (command “ltscale” 10) (command “setvar” “blipmode” 0 “setvar” “cmdecho” 0) ;系统变量 设置不出现十字标记;后者不再显示提示信息 (command “style” “standard” “text” 0 0.9 0 “” “”) ;字体定义 (command “style” “hz” “nztxt” 0 0.7 0 “” “”) (command “dim” “dimth” “off” “dimtoh” “off” dimtad” “on”) ;尺寸变量 设置 (command “exit”) (setq dimx 10) (setq dimt (* 0.35 dimx) dima (*0.3 dimx) dime (* 0.3 dimx)) (command “dim” “dimtxt” dimt “dimexe” dime “dimasz” dima) (command “exit) ) 例2 编程绘制图框。

      (defun tk1 (/ pp (th) ;第三章综合举例4 (txhj) (command “layer” “s” 3 “” “limits” /(0 0) (list tkc tkk) “zoom” “a”) (grclear) ;清屏 (xt2 tkc ctk /(0 0) 0.1) ;绘外图框 (setq pp (list 25 ctk)) ;内图框左下角点 (xt2 (- tkc ctk 25) (tkk (* 2 ctk)) pp 0.4) ;绘内图框 );defun (defun xt2 (1 w pl lw / p3) ;l—长,w—宽,pl—左下角点,lw—线宽 (setq p3 (list (+ (car pl) 1) (+ cadr pl) w))) (command “pline” pl “w” lw “” (polar pl 0 1) p3 (polar pl (/ pi 2.0) w) p1 “”) ) 例3 水平对称函数。

      (defun hsym (p i n a0 / xx yy) ;p—点变量的符号字符串,i—点变量的下标,n—点变量数目,a0—对称轴上一点 (repeat n (setq xx (read (stract p (itoa i) “h”)) ;将pih赋给xx yy (read (stract p (itoa i)))) ;将pi赋给yy (set xx (list (car (eval yy) (- (* (cadr a0) 2) (cadr (eval yy))))) ;将pi的镜像点的值赋给xx的值—pih (setq i (1+ i)) );repeat ) 例4 垂直对称函数 (defun vsym (p i n a0 /xx yy) ;p—点变量的符号字符串,i—点变量的下标, n—点变量数目,a0—对称轴上一点 (repeat n (setq xx (read (stract p (itoa i) “v”)) ;将piv赋给xx yy (read (stract p (itoa i)))) ;将pi赋给yy (set xx (list (- (* (car a0) 2) (car (eval yy))) (cadr (eval yy)))) ;pi的垂直镜像点的值赋给xx的值—piv );repeat ) 例5 编程绘制整体式齿轮主视图。

      (defun ctg (/ l1 p0 p3 p4 c3 ss1 ss2 ss3) (cljg) ;第三章综合举例5 (tk1) ;本章例2 (sfcof b da da) ;第三章综合举例6 (setq l1 /(da df d b dh n)) (b1 l1 cof) ;第三章综合举例4;确定绘图基点: (setq pc (getvar “viewctr”) ;屏幕中心点 pc (polar pc pi (* 0.2 tkc)) ;绘图基点 );确定主视图各点(见图4.4a)): (setq f2 (/ pi 0.2) f3 (* 0.017453 270)) ;角度变量 (setq p0 (polar pc pi (/ b 2.0)) ;点坐标 p1 (polar p0 f2 (/ dh 2.0)) p2 (polar p0 f2 (/ df 2.0)) p3 (polar p0 f2 (/ da 2.0)) p4 (polar p3 f3 n) p5 (polar p3 0 n) c1 (polar p0 pi 4) c3 (polar (polar (polar p0 f2 (/ d 2.0)) pi 4) ) (hsym “p” 0 6 pc) (vsym “p” 0.6 pc) ;水平及垂直对称轴函数 ;绘中心线: (command “layer” “s” 1 “”) (command “line” c1 (polar c1 0 (+ b 8)) “”) (command “line” c3 (polar c3 0 (+ b 8)) “”) (setq ss0 (entlast)) ;将最后的实体赋给ss0 (command “mirror” ss0 “” p0 pc “”) ;分度圆中心线映射;绘齿轮主视图: (command “layer” “s” 2 “”) (xt2 b (/ (- df dh) 2.0) p1 0.4) ;本章例2 (setq ss1 (entlast)) (command “pline” p2 “w” 0.4 “” p4 p5 p5v p4v p2v “”) ;绘齿形 (setq ss2 (entlast)) (command “mirror” ss1 “” p0 pc “”) ;齿轮幅映射 (setq ss3 (entlast)) (command “layer” “s” 3 “”) (command “hatch” “u” 45 3 “” ss3 ss1 “”) ;绘齿幅面剖面线 (command “layer” “s” 2 “”) (command “mirror” ss2 “” p0 pc “”) ;齿形映射 (xt2 b dh p1h 0.4) ;本章例2,绘轴孔 );defun 例6 编程绘制整体式齿轮左视图(见图4.4b))。

      (defun clchs (/ pc0 pt1 pt2 c5) (setq pc0 (polar pc 0 (* 0.3 tkc))) ;侧视图基点—圆心 (initget 7) (setq jw (getdist “\n键槽宽jw=?”) jw (* jw cof)) (initget 7) (setq jh (getdist “\n键槽深jh=?”) jh (* jh cof)) (setq rh (/ dh 2.0) jw0 (/ jw 2.0) ang (atan jw0 (sqrt (- (* rh rh) (* jw0 jw0))))) (command “layer” “s” 3 “”) (command “pline” ;绘轴孔 (setq pt1 (polar pc0 (- ang) rh)) ;点坐标 (setq pt2 (polar pt1 0 jh)) (polar pt2 (/ pi 2.0) jw) (polar pc0 ang rh) “a” “ce” pc0 pt1 “”);绘中心线: (command “layer” “s” 1 “”) (command “line” (setq c5 (polar pc0 pi (+ rh 4))) (polar c5 0 (+ dh jh 4)) “” “line” (polar pc0 (/ pi 2.0) (+ rh 4)) (polar pc0 (* 0.017453 270) (+ rh 4)) “”) );defun 人有了知识,就会具备各种分析能力,明辨是非的能力。

      所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。

      点击阅读更多内容
      相关文档
      安徽省安全员《A证(企业负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》预测试卷三.docx 安徽省安全员《A证(企业负责人)》模拟试卷一.docx 2026年房地产经纪人《房地产交易制度政策》模拟试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷二.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷四.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷一.docx 2023年通信工程师《通信专业实务(传输与接入-无线)》试题真题及答案.docx 安徽省安全员《A证(企业负责人)》试题精选.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷二.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷三.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪专业基础》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷五.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷四.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷一.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》模拟试卷二.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.