第八章二维几何建模方法第八章二维几何建模方法8.1交互几何建模8.2参数化几何建模8.3Autolisp语言简介8.1交互几何建模8.1.1AutoCAD简介AutoCAD是美国AutoDesk公司与1982年12月开始推出的一种通用的微机辅助设计和设计软件包,是目前应用最普遍的交互式图形软件。从AutoCADV1.0起,经AutoCADV2.0、R9、R10等经典版本的变更,至目前AutoCADR12、R13、R14和2000、2002版,其功能越来越强。它实际上已经成为一种微机CAD系统的标准、工程设计人员之间交流思想的公共语言。一、显著特点1.能够在绝大多数微机和工作站上运行,功能强大。2.具有使用方便的用户界面(图形窗口界面)。3.具有开放的体系结构,便于用户二次开发。4.可通过标准的或专用的数据格式与其它CAD系统进行图形信息交换。5.软件易学易用,可适用于各种层次的用户。二、AutoCAD运行环境2000版要求的硬件环境:主机:CPU主频为133以上的奔腾机,内存为32MB以上;硬盘:至少有100MB的剩余空间;显示器:VSG、SVGA彩显;软驱:1.44MB;键盘:101键;输入输出设备:鼠标、绘图仪、打印机等。2000版要求的软件环境:Windows95、98、2000或WinNT。三、用户界面绘图区屏幕菜单区标题栏下拉菜单工具栏命令窗口(命令提示区)状态栏用户界面(续)1.用鼠标和多种菜单与AutoCAD对话屏幕菜单、下拉菜单、弹出式菜单(即快捷菜单)、图标菜单等;2.用键盘和AutoCAD对话;3.用鼠标和对话框与AutoCAD对话。四、基本概念实体(entity):即点、直线、圆、圆弧、文本等图形元素。图形单位:图形未输出时,图形的长度单位可看成抽象的(如可看成mm、cm、inch等),输出时要设置单位和比例。用UNITS命令可以设置长度或角度的单位制和精度。作图范围:是通过左下、右上两个角点的坐标所确定的矩形区域。用LIMITS命令可以设置作图范围或设置绘图界限的开关。坐标系图层模型空间和图纸空间坐标系世界坐标系(WCS):AutoCAD采用笛卡尔右手坐标系。世界坐标系WCS的重要之处在于,它总是存在于每一个设计的图形之中,并且不可更改。用户坐标系(UCS):相对于世界坐标系WCS,可以创建无限多的坐标系,这些坐标系通常称为用户坐标系(UCS),并且可以通过调用UCS命令去创建用户坐标系。坐标系图标:显示在屏幕左下角,便于了解当前坐标系的种类或状态。图层模型空间和图纸空间五、基本操作1.命令输入方式2.点输入方式3.点的四种坐标表示法4.增强的鼠标右键5.图形显示操作6.取消操作命令7.常用功能键1、四种命令输入方式2、点的输入方式3、点的四种坐标表示法4、增强的鼠标右键4、增强的鼠标右键4、增强的鼠标右键4、增强的鼠标右键5、图形显示操作6、取消操作命令常用功能键六、图形生成功能生成简单实体POINT(点)、LINE(直线)、CIRCLE(圆)、ARC(弧)、TRACE(轨迹线)和SOLID(区域填充)、文本等;生成复杂的实体PLINE(多义线)、ELLIPSE(椭圆)、POLYGON(正多边形)、DONUT(圆环)、TEXT(文本)和MTEXT(多行文本)等;绘制剖面符号、标注尺寸等。图形生成功能(续)生成三维表面3DPOLY三维多义线、3DMESH三维多边形网格、TABSURF柱面、RULESURF直纹曲面、REVSURF回转面等;生成三维实体SOLBOX长方体、SOLCYL圆柱体和SOLCONE圆锥体等;BLOCK命令定义块,INSERT命令插入块;用形文件定义形,用SHAPE命令调用形.七、图形编辑和查询功能1.通过DBLIST、LIST、AREA、DIST、ID等命令了解实体数据、或光标的位置;2.通过ERASE、MOVE、COPY、SCALE、ROTATE、MIRROR、ARRAY、CHANGE、BREAK、TRIM、EXTEND、STRETCH、FIILET、CHAMFER、OFFSET、EXPLODE、PEDIT等命令对实体进行编辑;图形编辑和查询功能(续)3.可通过SOLINT(交)、SOLUNION(并)、SOLSUB(差)、SOLCUT(切)命令对三维形体进行布尔运算,构造复杂形体。4.通过MOVE(移动)、SOLCHP(修改)SOLFILL(倒圆角)、SOLCHAM(倒棱边)、SOLSEP(坼散)命令修改三维形体形体。八、辅助作图功能1.通过UCS命令确定用户坐标系,并自动实现用户坐标系向世界坐标系变换;2.通过MVIEW或VIEWPORTS确定视窗数量、大小和位置;3.通过ZOOM、PAN、VIEW命令确定显示范围、大小和位置;4.通过VPOINT、PLAN和DVIEW命令确定用户的观察方向;辅助作图功能(续)5.通过LAYER(图层)、COLOR(颜色)、LINETYPE(线型)等命令确定实体的非几何信息;6.通过SNAP(捕捉)、OSNAP(目标捕捉)、GRID(栅格)、ORTHO(正交)等命令设置更好的工作环境,可以用较少的时间绘制出更高精度的图形。九、扩充或开发AutoCAD的多种途径1.利用块、形建立图形库或符号库;2.提供SCRIPT命令,可读入一文本文件,提高自动设计程度;3.可以读入或输出DXF、IGES等文件,用于与外部程序或其它图形系统交换图形信息;4.利用块和块属性(ATTRIBUTE)可实现AutoCAD数据库通信;5.提供菜单文件的格式,供用户定义自己的专业菜单;6.具有良好的二次开发环境,可以选择利用Autolisp、VisualLisp、VBA、ObjectARX等开发工具对AutoCAD进行二次开发。8.1.2图形交互技术1、交互任务交互任务是交互式图形系统要解决的主要问题。在作图过程中遇到了大量的交互现象,尽管它们的形式和内容多种多样,但都可以分解为下列4种基本交互任务:定位:为图形系统指定一个点的坐标。选择:从一个表中选出某一项。数值:输入一个数,如半径值、文本高度等.文本值:输入一个字符串。2、交互设备能够完成上面交互任务的设备即为交互设备。图形核心系统GKS定义六类逻辑设备:1)定位(Locator):得到一个位置(坐标)2)笔划(Stroke):得到一组位置。3)定值(Valuator):得到一个数值。4)选择(Choice):从一组可能选择的对象中选择一个,得到一个非负整数。5)拾取(Pick):得到一个图段、标识或状态值。6)字符串(String):得到一个字符串。与这六类逻辑设备对应的物理设备:鼠标、旋钮、按钮、光标、键盘、触笔、数字化仪等。3、交互方式逻辑输入设备的交互作用是一个进程,可以认为是在应用程序和输入进程之间发生的。任一逻辑设备都有四种操作方式,操作方式决定了输入数据的接收方法和应用程序获得数据的方法。1)请求方式应用程序与输入进程交替工作。应用程序请求输入,等待回答,输入进程启动,向应用程序传递数据。如:Command:SETVARVariablenameor?:MIRRTEXTNewValueforMIRRTEXT1:02)采样方式应用程序与输入进程同时工作,应用程序处于支配作用。如SKETCH命令徒手画线时,鼠标移动,立即在屏幕上就有一波浪线在不断增长,使用户立即见到效果,具有动态响应能力。3)事件方式(如鼠标事或键盘事件)应用程序与输入进程同时工作,输入进程处于支配作用。输入进程向应用程序传递数据并期待应用程序按所接收的数据工作。4)混合方式混合方式在交互图形系统中最常见,如在“Command:”状态下可直接键入命令,也可点菜单,菜单还可以是屏幕菜单、下拉菜单、图标菜单或数字化仪菜单。4、交互控制技术动态作图技术:动态方式作图可以使用户随时都能看到将要得到的图形形状、大小和位置,以便做出决策。如交互图形系统中常见的橡皮筋。•图形拖动技术:交互图形系统中某些命令,如Move、Copy、Scale、Rotate、Mirror等,在选中待编辑实体后它们的位置和大小将随光标移动而变化,这就是图形拖动现象。它的原理是,首先获取被选中这些实体的图形信息,包括它们的几何数据和颜色、线型等非几何数据,然后不断重复删除原有位置上的这些实体,在新位置上生成这些实体。◆约束技术:SNAP(捕捉)命令可设置约束网格。2)约束橡皮筋的方向如当ORTHO正交命令为ON时可控制橡皮筋为水平或垂直方向。3)将光标约束到实体的某些特殊点上用目标捕捉命令OSNAP,特殊点有端点、中点、交点、切点、垂点等。1)网格约束将光标限制在格点上。8.2参数化几何建模一、参数法图形程序设计的特点在机械图中,象键、销、螺钉、螺母、滚动轴承等标准件,其形状是相似的,因此它们的二维视图也很相似,所以常采用参数化编程方式来绘图。参数化绘图:将图形中的某些尺寸或全部尺寸定义为变量,在画几何形状类似的图形时给变量赋以新值,就可以得到大小不同的图形。参数化绘图主要是确定基本参数和参数化处理。参数化绘图特点:1、在参数化程序方式下,用户无需逐步绘图,只需输入一些参数即可。2、参数化绘图减少了用户输入数据的数量,提高了作图精度和作图效率。3、可以解决用交互方式难以绘制的图形。二、参数法编程步骤与方法1、确定参数1)对抽象的几何图形,可用尺寸标注作为图形参数。2)机械图中的图形表示具体的零件或结构,因此参数的名称和定义应尽量结合工程实际,如普通平键的图形参数为:LRRLa)不好b)好3)优先考虑描述零件规格、性能的参数作为图形参数。如:螺钉外径、滚动轴承内径、用齿轮的模数、齿数和变位系数代替分度圆和齿顶圆直径等。4)为便于用户操作,参数的数量应尽量少。方法:①利用规格尺寸,从文件或数据库中检索出其它尺寸数据;(如P180表8-1中开槽圆柱头螺钉可由D和L查其它参数)②在不影响零件表达情况下,图形的某些部分采用简化画法,使其参数间建立一定关系,从而可省去一些参数。(如P180的图8-27螺栓的简化画法)2、通过已确定参数确定构成图形的各个实体的几何参数3、调用图形函数或图形命令绘制图形如:用Autolisp语言绘制8.5Autolisp语言简介Autolisp语言是嵌入AutoCAD软件包的LISP(Lispprocessinglanguage)编程语言,它是一种符号处理语言,又称函数型的语言,它没有语句,程序就是表。每个函数都是以表的形式书写的,它可以交互执行,也可写成程序。程序存贮是ASCII码,属于文本编辑文件。一、数据类型Autolisp语言数据类型有数值型(整型、实型)、字符型、表(图括号内的单元)等。二、语法规则三、常用函数1.赋值setq(setqx5);将数字5赋值给变量x(setqx(+35));将数字8赋值给变量x(函数名┕┘参数1┕┘参数2┕┘…)2.算术函数:+、-、*、/(-1023);即10-2-3(/被除数除数除数…)(1+数);加1(1-数);减13.三角函数sin、cos等(sin弧度)(cos弧度)(atan数1[数2]);数2为可选项,若没有数2,则返回数1的反正切值,否则返回数1/数2的反正切值。4.常用数学函数(ABS数);求数的绝对值(exp数);返回e的数)次方值(expt底数幂);返回底数的幂)次方值(log数);返回以e为底数)的对数(sqrt数);返回数d的平方根(fix数);返回数的整型数常用数学函数(续)(float数);返回数的实型数(max数1数2…);求最大值(distance点1点2);返回两点间距离如:(distance’(1.02.5)’(7.72.5));返回两点间距离6.7(angle点1点2);返回通过点1的水平线与两点连线的夹角(弧度)(p