欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

模具设计与制造模具设计说的概述

  • 资源ID:113620150       资源大小:471.50KB        全文页数:137页
  • 资源格式: DOC        下载积分:20积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要20积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

模具设计与制造模具设计说的概述

  第一章 模具CADCAM系统的构成第一节 模具CAD/CAM 系统的硬件一、模具CAD/CAM 系统的硬件构成(一)计算机主机(二)外部存储器常用的外部存储器有磁盘、磁带、光盘。(三)输入、输出设备1. 输入设备 模具CAD/CAM系统使用的输入设备主要包括:键盘、鼠标(图形板)、激光扫描机等。2. 输出设备 模具CAD/CAM系统使用的输出设备主要包括:图形显示器、绘图设备、快速成形机。二、CAD/CAM硬件系统的配置 (一)大型机系统(Mainframe Based System )(二)小型机成套系统(Turn Key System)(三)图形工作站(Workstation)(四)个人计算机(Personal Computer)第二节 模具CAD/CAM系统的软件模具CAD/CAM系统除必要的硬件设备外,还必须配备相应的软件。模具CAD/CAM的软件可分为系统软件、支撑软件和应用软件三个层面。一、系统软件系统软件(System Software)指的是在计算机运行状态下,保证用户正确而方便的工作的那一部分软件,包括操作系统、汇编系统、编译系统和诊断系统等。 操作系统是用户和计算机之间的接口,使用户能够有效的使用计算机。操作系统全面管理计算机资源,合理的组织计算机的工作流程。操作系统是每一计算机系统都具有的系统软件,如DOS、UNIX、LINUX、WINDOWS等。二、支撑软件 模具CAD/CAM系统的支撑软件主要包括图形处理软件、几何造型软件、有限元分析软件、数据库管理软件、优化设计软件、计算机仿真分析应用软件、数控加工软件、检测与质量控制软件等。(一)图形处理软件图形处理包括对图形的定义、图形的生成、表示、变换、修改等一系列操作。图形处理软件是进行图形处理的专用软件,它是计算机与图形输出装置的中间连接者,其功能是实现图形与数据之间的 转换。图形处理软件就是常说的图形支撑软件它是一种通用的基础软件,在此基础上,可进行第二次开发,研制适合用于各专业的应用软件。图形处理软件是模具CAD/CAM系统中的重要支撑软件。1. 图形处理软件的类型图形处理软件可分为绘图子程序库、绘图语言和专用语言系统三种类型。这些软件都应具有人机交互处理图形的功能。(1)绘图子程序库 绘图子程序库又称图形软件包。它是一系列与图形有关的子程序的集合。利用这种图形软件包,可大大提高编程的效率。在编写复杂图形的绘图软件时,只要编写一个主程序来调用软件包中的程序就行了。图形软件包,一般包括基本子程序和功能子程序,也有的包括应用子程序。基本子程序包括绘图所必须的最基本的功能。如绘图初始化、启动图形输出设备、几何计算、几何变化、画直线、圆、注写字符等应用子程序。功能子程序包括画各种图线、各种轴线、各种基本的直线图形、曲线图形等子程序。应用子程序是在上述两种子程序的基础上开发的专用程序,如画轴测图、透视图、机械图、等值线图、标高投影、电路图、管道图等子程序。(2)绘图语言 绘图语言是在一种高级语言的基础上,经过修改、添加图形功能而成。这种绘图语言不需要独立的编译系统,但由于要改动、扩充高级语言的编译系统,因此要求研制人员对该高级语言的编译系统要比较熟悉,故研制这种图形处理软件比研究制图子程序库要复杂些,而且不可移植,其优点是执行速度较快。(3)专用的图形设计语言 这种专用的语言系统,独立于其他高级语言,有自己单独的编译系统。因此研制相当困难。工作量大。且难以移植到其他机器上。其优点是直观易懂、使用灵活、功能强、执行速度快、效率高。2. 对图形处理软件的要求(1)实用性(2)功能强(3)执行速度快、效率高(4)容错性3. 图形处理软件的标准化标准化了的图形包又称为图形标准,它必须作到:设备无关性。即与系统内所配置的图形设备的种类、数量、性能、参数等无关;与应用软件无关,即通用性,可用于开发各种应用软件,各种图形应用软件可用同一方式调用图形标准;与语言无关,即可被各种程序设计语言调用;具有较完整的图形处理功能,如图形的生成、表示、变换、分段、输入等。1977年,美国计算机协会(ACM)的图示学专业组(SIG-GRAPH)“图示学标准起草委员会”(GSPC)提出了图形标准GSPC77(即CORE系统),1979年进行了修订扩充。1979年提出了一个二维图形GKS(Graphical Kernel System),与繁杂庞大的CORE不同,GKS使用了工作站的概念,清晰简洁,小巧玲珑,经过多次修改。1983年,修改后的GKS7.2版被国际标准化组织(ISO)定为国际图形标准。GKS标准图形软件包,为图形应用软件和图形输入输出设备提供了一个功能接口,它包括各种交互的或者非交互的基本功能,适用于各种设备。(二)数据库系统 在模具CAD/CAM系统中,几乎所有应用软件都离不开数据库。提高模具CAD/CAM系统的集成化程度主要取决于数据库的水平。数据库主要是收集有关产品外形结构定义(如造型、绘图、加工、有限元分析等)和相应的有关信息。传统的数据库管理系统运用于CAD/CAM系统有许多缺陷:1)基于文件系统的数据库系统。它的特点是根据设计需要编制数据库管理程序,不具备理论化的设计模型和数据库语言,缺乏通用性。2)不能完全满足工程环境中信息表达的要求,如表达复杂实体中各元素的联系非常困难、缺乏动态模式修改能力等。3)不能支持整个工程应用过程,对不同阶段要求不同方面信息这一特点缺乏支持,对过程性信息的支持较弱。4)存取的效率很低。随着CAD/CAM/CAE/CAPP集成化软件系统的发展,为了解决传统数据库的缺陷继而出现了工程数据库,它具有以下主要功能:1)支持复杂对象及其语义关系的描述与处理。复杂对象和存在于复杂对象之间语义关系的复杂性是工程的特点之一。2)支持文字、图形、图像、动画等多媒体数据的管理。3)是动态数据库,不仅能对静态数据建模,而且能对动态数据建模,允许动态地对数据库进行修改或扩充。4)支持快速查询,有良好的查询接口。5)支持不同设计版本的存储与管理,支持多方案设计和回溯的功能,具有良好的多级版本管理功能。第三节 模具CAD/CAM系统的网络配置利用通信系统将计算机与计算机以及相关的外部设备相连即可构成网络。局域网(Local Area Network,简称LAN)能够以最高效率、最低成本在本地区范围内将计算机、终端、工作站以及常用的计算机外部设备连接成一个网络系统。通过国际互联网(Internet)非常方便地实现全球资源共享,可以通过网络电子商务完成从采购至销售的一系列环节。一、模具CAD/CAM系统常用的局域网络系统形式:(一)集中式CAD/CAM系统(二)分布式CAD/CAM系统局域网特点是传输速度高、组网灵活,成本低。连网以后,可以实现数据、信息、软件、硬件资源的共享。更为有效的利用现有资源和提高工作效率。广域网的典型代表是Internet网。组织局域网的方式很多,但采用最多的是总线形、环形和星形网络结构。1. 总线形网络结构2. 环形网络结构3. 星形网络结构二、CAD/CAM网络系统硬件设备网卡插在计算机或服务器扩展槽中,通过网络线(如双绞线、同轴电缆或光纤)与网络交换数据、共享资源。集线器(HUB)是局域网的星型连接点,每个工作站是用双绞线连接到集线器上,由集线器对工作站进行集中管理。网络传输介质是网络中传输数据、连接各网络站点的实体,如双绞线、同轴电缆、光纤,网络信息还可以利用无线电系统、微波无线系统和红外技术传输。常用局域网互连设备还有中继器、网桥、路由器以及网关等。三、网络协议(一)NETBEUI协议NETBEUI是为IBM开发的非路由协议,用于携带NETBIOS通信。NETBEUI缺乏路由和网络层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网络层头尾,所以很快且很有效,适用于只有单个网络的小工作组环境。(二)IPX/SPX协议IPX是NOVELL用于NETWARE客户端/服务器的协议群组,避免了NETBEUI的弱点。但是,带来了新的不同弱点。(三)TCP/IP协议每种网络协议都有自己的优点,但是只有TCP/IP允许与Internet完全的连接。TCP/IP同时具备了可扩展性和可靠性的需求,不幸的是牺牲了速度和效率,TCP/IP的开发荣幸地受到了政府的资助,因此得到了迅速的推广。Internet公用化以后,人们开始发现全球网的强大功能。Internet的普遍性是TCP/IP至今仍然使用的原因。常常在没有意识到的情况下,用户就在自己的PC上安装了TCP/IP栈,从而使该网络协议在全球应用最广。由于TCP/IP的32位寻址功能方案不足以支持即将加入Internet的主机和网络数,因而新的IPv6标准可能代替当前实现的标准。 第三章 模具CAD/CAM常用软件第一节 第一节      各种流行的CADCAM软件AutoCAD是应用最广泛的CAD软件,它优良的二次开发工具使其能够活跃在各类CAD专业领域。CAXA是国产CAD/CAM软件,其初级产品CAXA电子图板具有较广泛的应用,可帮助设计人员进行零件图、装配图、工艺图表、平面包装的设计。PICAD是另一种国产CAD软件产品,是参数化、集成化的计算机辅助设计系统,也是二维CAD支撑平台及交互式工程绘图系统。开目CAD是基于微机平台的CAD和图纸管理软件。开目CAD支持多种几何约束种类及多视图同时驱动,具有局部参数化的功能,能够处理设计中的过约束和欠约束的情况。开目CAD实现了CAD、CAPP、CAM的集成。高华CAD系列产品包括计算机辅助绘图支撑系统GHDrafting、机械设计及绘图系统GHMDS、工艺设计系统GHCAPP、三维几何造型系统GHGEMS、产品数据管理系统GHPDMS及自动数控编程系统GHCAM。大恒通用机械CAD系统最早开发于1991年,是针对机械制造及设计行业的通用机械CAD系统。Solidedge是三维CAD系统,它向用户提供了从三维零件建模,装配设计到最终的二维图制作的一整套完善的CAD工具。SolidWorks是基于Windows的机械设计软件,是以Windows为平台,以SolidWorks为核心的各种应用的集成,包括结构分析、运动分析、工程数据管理和数控加工等。金银花(Lonicera)系统主要应用于机械产品设计和制造中,它可以实现设计制造一体化和自动化。GS-CAD是一个基于微机、中文Windows95/NT平台的三维CAD系统。MDT是Autodesk公司在PC平台上开发的三维机械CAD系统。它以三维设计为基础,集设计、分析、制造以及文档管理等多种功能为一体;为用户提供了从设计到制造一体化的解决方案。Pro/Engineer简称Pro/E,是一个面向机械工程的CAD系统。PTC公司提出的单一数据库、参数化、基于特征、全相关的概念改变了机械CAD/CAE/CAM的传统观念。UG-是一个集CAD、CAE和CAM于一体的机械工程辅助系统,UG-为用户提供了一个全面的产品建模系统。SurfCAM是基于Windows的能够自动生成零件刀具轨迹,以及进行零件加工的NC代码,具有强大的通用后置处理模块的辅助制造软件。Mastercam为PC级CAM软件。 Mastercam包括了铣削加工(milling),车削加工(turning),线切割加工(wire EDM)等主要模块,适用于机械设计与制造的各个领域。Cimatron系统是以色列的CAD/CAM/PDM产品,该系统提供了比较灵活的用户界面,优良的三维造型、工程绘图,全面的数控加工,各种通用、专用数据接口以及集成化的产品数据管理。I-DEAS是全世界制造业用户较广泛应用的大型CAD/CAE/CAM软件。CATIA系统是在起源于航空工业的CADAM系统基础上扩充开发的CAD/CAM/CAE/PDM应用系统。Euclid软件是为英法联合研制协和号超音速客机而开发的CAD软件。DUCT软件是三维复杂形体造型设计与制造CAD/CAM软件。第二节 第二节      通用CAD软件AutoCAD一、AutoCAD的二维绘图命令二维绘图命令是AutoCAD的基础部分。无论二维图形如何复杂,都是由点、线、圆、圆弧等最基本的图形要素组成。1. 1.    点的输入在各项CAD操作中,点的输入是最基本的操作,AutoCAD共有四种点的输入方式。(1) (1)      通过键盘输入点 通过键盘输入点的坐标值是一种精确的点输入方式,点的坐标值输入有三种坐标方式:绝对直角坐标(输入x,y)、相对直角坐标(输入x,y)和相对极坐标(输入r<a),可根据需要任意选取。(2) (2)      通过光标输入设备输入点 通过光标输入设备输入点的优点是方便和快捷。一般情况下,用光标输入设备输入点的坐标值是不精确的,通过AutoCAD的Snap功能,可以使输入点达到一定的精度。(3) (3)      利用目标捕捉功能输入点 这是利用光标输入设备精确输入点的一种方式,根据AutoCAD的Osnap功能,它可以精确捕捉到图形的特定点位置,例如线段的端点、中点,圆和圆弧的圆心及象限点,切点和垂足等等。(4) (4)      利用LISP函数输入点 利用LISP语言中的函数功能也可以输入点,这是自动绘制图形的基础,在AutoCAD二次开发中经常使用这种方式完成点的输入。2. 2.    直线的绘制绘制直线的命令是LINE。一般只要输入直线的两个端点,即可生成直线。绘制好圆弧后,在LINE命令后直接键入回车,然后输入直线长度,可以在圆弧终点处绘制圆弧的切线。3. 3.    圆的绘制绘制圆的命令是CIRCLE。圆的绘制参数是圆心和半径(或直径)。也可以根据需要绘制与其他图线相切的圆。4. 4.    圆弧的绘制绘制圆弧的命令是ARC。与直线和圆相比,圆弧的绘制比较复杂,考虑到圆弧具有顺时针和逆时针两种方向,AutoCAD共安排了7种绘制圆弧的方法,其绘制参数分别为圆弧的起点、中点、终点;起点、圆心、终点;起点、圆心、角度; 起点、圆心、弧长;起点、终点、角度;起点、终点、半径;起点、终点、起始方向。绘制与刚绘制的直线或圆弧相切的圆弧时,可以直接键入回车,然后输入圆弧终点,此时圆弧的起点即为前绘线段的终点,圆弧的起始方向即为前绘线段的终止方向。5. 5.    多段连线多段连线(POLYLINE)是由直线和圆弧首尾相连组合成的复合线段,绘制多段连线采用PLINE命令,类同于绘制直线和圆弧。实践中常用PEDIT命令编辑直线和圆弧来得到多段连线。二、图形编辑AutoCAD提供的图形编辑方法能够有效地修改图形,并能够显著提高绘图效率。常用的图形编辑命令有删除(ERASE)、复制(COPY)、镜面对称复制(MIRROR)、阵列复制(ARRAY)、等距偏移复制(OFFSET)、移动(MOVE)、转动(ROTATE)、缩放(SCALE)、修剪(TRIM)、延伸(EXTEND)、倒角(CHAMFER)、倒圆角(FILLET)、分解(EXPLODE)和多段连线编辑(PEDIT)。熟练掌握这些图形编辑命令可以有效地提高AutoCAD应用水平。三、其他功能AutoCAD的其他功能还有图形显示、文字、剖面线、尺寸标注、图层管理、图块定义及调用、动画、三维图形、二次开发工具等。第三节 第三节      AutoCAD的二次开发工具一、 一、             AutoCAD定制菜单表3-1 菜单文件类型菜单文件类型类型说明.MNU原始 ASCII 菜单文件,即用户通常编辑或创建的文件。.MNC已编译的菜单文件;一种二进制文件,包含用于定义菜单或其他界面元素的功能及外观的命令字符串和菜单语法。首次加载 MNU 文件时,AutoCAD 将编译此文件。.MNR菜单资源文件;一种二进制文件,包含由菜单或其他界面元素使用的位图。AutoCAD 每次编译 MNC 文件时,均生成菜单资源文件。.MNS源菜单文件;一种与 MNU 文件相同的 ASCII 文件,但是不包含注释或特殊格式。每次菜单文件的内容被更改时,AutoCAD 将修改源菜单文件。.MNT菜单资源文件。仅在 MNR 文件无效(例如,只读)时生成该文件。.MNL菜单 LISP 文件;包含菜单文件使用的 AutoLISP 表达式。当加载与菜单 LISP 文件具有相同文件名的菜单文件时,AutoCAD 会将菜单 LISP 文件加载至内存。 用文本编辑器打开ACAD.MNU文件观察菜单文件的结构,可以看到其内容包含如表3-2所示的几个区域。其中*POP1至*POP11定义了下拉菜单。菜单文件中包含的一些特殊字符的说明见表3-3。表3-2 ACAD.MNU文件的菜单区域及其功能主菜单名称区数N功能用途*MENUGROUP 菜单组*BUTTONSn14定点设备按钮菜单*AUXn14系统定点设备菜单*POPn09990 对象捕捉快捷菜单116 基本型下拉菜单17499 将menuload加入下拉菜单中500999 快捷菜单区域*TOOLBARS 工具栏定义*IMAGE 图像菜单*SCREEN 屏幕菜单*TABLETn14数字化仪菜单*HELPSTRINGS 辅助功能说明区(显示于状态区)*ACCELERATORS 加速键定义注意事项如果没有定义POP1POP16,AutoCAD会自动插入2个预设的下拉菜单(File和Edit) 表3-3 菜单字符说明字符说明*子菜单-菜单项分隔符->引出子菜单<-子菜单结束禁用菜单项的前缀符!.给菜单项打上复选标记的前缀符&指定菜单快速键,如S&ample显示为Sample,快捷键为a/指定菜单快速键,如/aSample显示为Sample,快捷键为a=*显示当前顶层的图像、下拉或快捷菜单*CC重复项的前缀$宏表达式的特殊字符CTRL暂停等候用户输入(不能用于加速键)_转换AutoCAD命令及其后的关键字+延续宏到下一行;RETURN/注释行,不限行数,用作版权声明或注释方括号内为菜单项名称 用文本编辑器打开ACAD.MNU文件,在pop11菜单后面插入图3-1所示的pop12菜单ASCII代码,将其保存在DCAD.MNU文件中,用AutoCAD的MENU命令加载DCAD.MNU后,可以看到下拉菜单在Help菜单项的后面增加了名为DCAD的一列新菜单,其效果如图3-2所示。方括号内的字符串构成了下拉菜单的显示内容,DCAD下拉菜单列中包含了“工艺性分析”、“排样”、“CAM”、“模板”和“模具标准件”5个子菜单。点取“CAM”子菜单中“3B指令”项,其对应的菜单项内容为“3B指令CC(load "dcad-ww") w3b ”。其中“3B指令”规定了菜单项显示文字为“3B指令”;“CC”相当于先从键盘输入两次CTRL-C以终止任何AutoCAD可能正在执行的命令,以便无障碍地执行后面的指令;“(load "dcad-ww")”的作用是加载LISP程序文件“dcad-ww.lsp”;“w3b”表示执行AutoCAD二次开发新建的命令“w3b”从AutoCAD图形产生数控线切割机床3B加工指令程序。菜单项中的空格所起的作用相当于输入回车。 *pop12DCAD输入清单CC(load "dcad-i-2000")(if (null c:fdcad) (load "DCAD") input->工艺性分析小孔CC(load "dcad-b-2000-k") (load "DCAD") (load "Dcad-b") DCADBK孔距CC(load "dcad-b-2000-jb") (load "DCAD") (load "Dcad-b") DCADBJB凸臂CC(load "dcad-b-2000-tz") (load "DCAD") (load "Dcad-b") DCADBTZ窄槽CC(load "dcad-b-2000-tz") (load "DCAD") (load "Dcad-b") DCADBTZ圆弧CC(load "dcad-b-2000-y") (load "DCAD") (load "Dcad-b") DCADBY孔间壁厚CC(load "dcad-b-2000-b") (load "DCAD") (load "Dcad-b") DCADBB<-复合模CC(load "dcad-b-2000-f") (load "DCAD") (load "Dcad-b") DCADBF->排样定搭边值CC(load "dcad-l-2000-d") (load "DCAD") (load "dcad-l-2000") dbz单排排样CC(load "dcad-l-2000-s") (load "DCAD") (load "dcad-l-2000") lay1<-多排排样CC(load "dcad-l-2000-v") (load "DCAD") (load "dcad-l-2000") LAYN->CAM3B指令CC(load "dcad-ww") w3b穿孔代码CC(load "dcad-ww") punch代码校验CC(load "dcad-ww") check<-穿孔码转换3B指令CC(load "dcad-ww") p2b设计CCDESIGN->模板上模座CC(load "dcad-mb") (mb) smz垫板CC(load "dcad-mb") (mb) db固定板CC(load "dcad-mb") (mb) gdb卸料板CC(load "dcad-mb") (mb) xlb凹模CC(load "dcad-mb") (mb) am下模座CC(load "dcad-mb") (mb) xmz下固定板CC(load "dcad-pt") (mb) xgdb下垫板CC(load "dcad-pt") (mb) xdb空心垫板CC(load "dcad-mb") (mb) kxdb-<-图框CC(load "dcad-mb") tukuang->模具标准件模柄(if (null c:mb) (load "dcad-pt") mb橡皮(if (null C:XP) (load "dcad-pt") XP导柱(IF (NULL C:DZ) (LOAD "DCAD-PT") DZ导套(IF (NULL C:DT) (LOAD "DCAD-PT") DT导料板(IF (NULL C:DT) (LOAD "DCAD-PT") DLB承料板(IF (NULL C:DT) (LOAD "DCAD-PT") CLB卸料螺钉(if (null c:XLLD) (load "dcad-pt") XLLD固定导销(IF (NULL C:DT) (LOAD "DCAD-PT") GDDLX<-圆凸模(IF (NULL C:DT) (LOAD "DCAD-PT") YTM装配示意图CC(load "dcad-z") zpt 图3-1 DCAD子菜单ASCII代码 二、LISP语言AutoCAD内嵌的两种LISP语言(AutoLISP和Visual LISP)是与AutoCAD结合最为完美的程序语言。AutoLISP是AutoCAD选用的第一个强有力的开发工具,从1985年问世的AutoCAD V2.18版本开始,一直沿用至今。AutoLISP是解释型语言,它的欠缺之处是运行效率较低,源程序缺乏保密性。针对AutoLISP的弱点,AutoCAD在其2000版本中又推出了具有高运行效率的编译型LISP语言Visual LISP。Visual LISP在AutoLISP的基础上增加了源程序编辑环境、编译器以及一些增强函数。实际上,过去编写的AutoLISP程序都可以在Visual LISP中编译和运行,即Visual LISP能够完全兼容AutoLISP。(一)LISP语言简介LISP是英语LISt Processing 的缩写,意思是一种编制计算机程序的表处理语言。LISP语言1960年起源于美国麻省理工学院(MIT),是一种著名的人工智能计算机语言。与BASIC等其他计算机语言一样,LISP语言也有许多版本,现在使用最多的是COMMON LISP。AutoCAD软件中镶嵌的AutoLISP与COMMON LISP很接近,它增加了调用AutoCAD命令的功能和一些几何函数,并削减了COMMON LISP中一些不常用的函数。作为一种高级语言,LISP可以完成其他许多高级语言(如FORTRAN、BASIC、PASCAL、C等)能够完成的工作,诸如计算、逻辑判断、循环运算等等。LISP语言具有一些独特的优点,使它特别适用于人工智能和CAD领域,这也是AutoCAD在众多计算机语言中首先选择其作为开发工具的主要理由。表(List)在LISP语言中具有极其重要的意义。表是LISP语言的重要成份,它由若干个元素(Element)和一对圆括号组成。元素则包括表和原子(Atom)两种类型。原子指常数(Constant)或者符号变量(Variable)。表中的元素可以是表,因此表可具有嵌套结构。在LISP语言中,表既可以构成数据,也可以组成程序。如(0.5 1.2)和(1 5.3 3)都是用表的形式表示的数据。前者可以表示一个二维点,x坐标值为0.5,y坐标值为1.2。后者可以表示一个三维点,x坐标值为1,y坐标值为5.3,z坐标值为3。(1 2 5 8.2 “A” 9)可以表示一个六维向量,与其他计算机语言中的一维数组相当,但是表中元素的数据类型可以各不相同,而同一数组中各个数据的类型都必须相同。利用表的嵌套结构,容易获得类似的多维数组,但是其中各维的长度可以不相等,并且表中元素的数据类型可以各不相同,所以在表示数据时,表比其他计算机语言中的多维数组更显优越性。AutoCAD中的图形数据(包括类型、图层、颜色、线型、特征、坐标值等)都可采用表的形式表达。如AutoCAD中表达一根直线所用的表为(-1 . <Entity name: 24082f8>) (0 . "LINE") (330 . <Entity name: 2406cf0>) (5 . "2F7") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbLine") (10 187.701 -45.8475 0.0) (11 5.0 -45.8475 0.0) (210 0.0 0.0 1.0);表达一个圆所用的表为(-1 . < Entity name: 7ef50e80>) (0 . "CIRCLE") (330 . < Entity name: 7ef50cf8>) (5 . "88") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle") (10 0.0 0.0 0.0) (40 . 10.0) (210 0.0 0.0 1.0)LISP语言的程序结构非常简单,它也是由表组成。LISP程序采用前缀形式:(元素0 元素1 元素2 )构成LISP程序时,表中元素0必为函数名称,其后的各个元素为该函数(元素0)的变量。LISP程序对字母的大小写是不加区分的。例如(+ 1 2)是一个LISP程序的例子,其中为函数名,1和2为函数的变量。LISP语言是一种函数型计算机语言,LISP语言拥有的功能是通过其函数表现出来的。(二)LISP函数LISP函数具有返回值和特定的功能。如上例中,函数返回值为3,函数的特定功能是求和。各种类型的LISP函数用来完成LISP语言所有的功能,下面将一些最基本的LISP函数进行分类,以便大家能够对LISP语言及其在CAD中的应用有所了解。1. 1.代数运算函数代数运算函数用于完成代数运算,包括赋值函数(SETQ),四则运算函数(+、-、*、/),三角函数(SIN、COS、ATAN)以及其他代数函数(ABS、EXP、EXPT、SQRT)。代数运算函数的使用方法很容易掌握,唯一要注意的是LISP程序具有前缀结构的特点,各种函数运算都必须将函数名作为LISP表达式中最前面的元素。1) SETQ函数的格式为(SETQ v1 e1 v2 e2 vn en)。其功能是将ei的计算值赋予变量vi,函数返回值为en的计算值。(注:方括号部分是可选项,以下同。)例如,(SETQ x 1 y (+ 1 2)将常数1的计算值1赋予变量x,LISP表达式(+ 1 2)的计算值3赋予变量y,函数返回值为3。2) +函数的格式为(+ n1 n2 n3 nm)。其功能是对函数变量求和,函数返回值为变量之和:n1+n2+n3+nm。3) -函数的格式为(- n1 n2 n3 nm)。其功能是对函数变量求差。当m1,函数只有一个变量n1时,函数返回值为0-n1,即-n1;当m2时,函数返回值为n1-(n2+n3+nm)。4) *函数的格式为(* n1 n2 n3 nm)。其功能是对函数变量求积,函数返回值为变量的乘积:n1·n2·n3··nm。5) 函数的格式为(/ n1 n2 n3 nm)。其功能是求函数变量的商,函数返回值为n1 /(n2·n3··nm)。当函数变量均为整型数时,函数返回值也为整型数;当函数变量中至少有一个为实型数时,函数返回值为实型数。例如,(/ 3 2)的返回值为1,而(/ 3 2.0)的返回值则为1.5。6) SIN函数的格式为(SIN n)。其功能是求函数变量n的正弦值,函数返回n的正弦值。变量n的单位为弧度。例如,(SIN (/ PI 2))的返回值为1.0,式中PI为LISP符号变量,表示圆周率值。7) COS函数的格式为(COS n)。其功能是求函数变量n的余弦值,函数返回n的余弦值。变量n的单位为弧度。用法与SIN函数相同。8) ATAN函数的格式为(ATAN n1 n2)。其功能是求反正切值arc tan n1 或 arc tan(n1/n2)。当只有一个函数变量时,函数返回值的范围为(-/2,/2),当存在2个函数变量时,函数返回值的范围为(-,。函数返回值的角度单位为弧度。例如:(ATAN 0)返回值0.0(ATAN 1)返回值0.785(ATAN 1 1)返回值0.785(ATAN 1 1)返回值2.356(ATAN 1 1)返回值-0.785(ATAN 1 1)返回值-2.356(ATAN 1 0)返回值1.5708(ATAN 1 0)返回值-1.5708(ATAN 0 1)返回值-3.14(ATAN 0 1)返回值3.149) ABS函数的格式为(ABS n)。其功能是求绝对值,函数返回n的绝对值。10) EXP函数的格式为(EXP n)。其功能是求e的指数,函数返回en。11) EXPT函数的格式为(ESPT m n)。其功能是求m的指数,函数返回mn。12) SQRT函数的格式为(SQRT n)。其功能是求 平方根,函数返回n的平方根。2. 2.自定义函数LISP语言提供了许多基本函数,称为内部函数或系统函数(如前述函数),利用这些函数可以直接编写LISP程序,例如tan的LISP程序可编写为(/ (SIN x) (COS x)。对于复杂的程序,直接利用基本函数编写程序并不是一个好方法,编写LISP程序更多是利用自定义函数来编写程序,反之,大多数LISP程序也都编写成为自定义函数的形式。自定义函数与其他语言中的子程序或函数最接近。自定义函数是用户自己定义的函数,又被称为用户函数或外部函数。自定义函数的使用和系统函数的使用方法是一致的,用户在使用方面不会感觉到两者的差异。自定义函数的格式为(DEFUN name (A1 A2 AL / V1 V2 VM) e1 e2 en)上表中第0个元素DEFUN是自定义函数的函数名,第1个元素name是符号变量,为自定义函数所定义的用户函数的名称。用户函数名称后是用户函数的变量表,变量表中的元素都是所定义的用户函数的局部变量,可分成以“”分隔的两个部分,方括号表示可选项,表中“”前的可选项A1 A2 AL为新设立的用户函数name的函数变量,表中另一可选项/ V1 V2 VM中的元素不是用户函数的函数变量,它们仅仅是用户函数name的局部变量。所谓局部变量是指仅仅在定义函数内部存在并起作用的变量,它对定义函数以外的程序无任何干扰。变量表可以是空表(即表中不包含任何元素)。变量表后面是函数定义体,决定了函数name的功能和返回值。函数name的返回值是en的计算结果。例如AutoLISP没有提供正切函数,用户可以利用自定义函数自行定义正切函数,定义正切函数的程序如下(DEFUN tan (x / y) (SETQ y (COS x)(IF (/= y 0) (/ (SIN x) y)以上程序中tan是用户自行定义的正切函数名。x和y之间的符号“/”分隔开了局部变量中的自变量,“/”前的变量x是用户函数tan的自变量,也是该函数的局部变量,而“/”后的变量y是tan函数的局部变量,但不是tan函数的自变量。程序中的DEFUN、SETQ、IF、/=、/、SIN和COS都是AutoLISP的基本函数。调用正切函数(tan 0),返还的正切函数值为0.0。可以看到,用户自定义的正切函数的使用方法与LISP系统函数SIN或COS的用法相同。用户函数经一次定义后可无限次使用。用户在使用LISP语言的过程中,用自定义函数的方法可以逐渐积累自己的函数,从而使编程越来越方便。3. 3.分支结构分支结构在LISP语言中有二分支结构和多分支结构两种,与此相关的函数有:关系运算函数(、/、>、>、<、<、EQUAL),逻辑运算函数(AND、OR、NOT),二分支函数(IF)和归并(PROGN)函数以及多分支函数(COND)。1) 1)    关系运算函数判断函数变量相互间是否符合函数所定义的相等或不等关系。函数的格式为( e1 e2 en)。当函数变量e1、e2、en全部相等时,函数返回T,否则返回NIL。/、>、>、<和<函数的用法也是相同的,其功能如同其函数名所示。EQUAL函数的格式为(EQUAL e1 e2 e3)。EQUAL用来比较两个实型数或表是否相等,相等时函数返回T,否则返回NIL。比较两个实型数e1和e2时,取一个很小的正数e3,其判断准则是当|e1-e2|e3 时函数返回T,否则返回NIL。2) 2)    AND函数的格式为(AND e1 e2 en)。当函数变量e1、e2、en中全部有值时,函数返回T,否则返回NIL。3) 3)    OR函数的格式为(OR e1 e2 en)。当函数变量e1、e2、en中至少有一个有值时,函数返回T,否则返回NIL。4) 4)    NOT格式为(NOT e)。当函数变量e有值时,函数返回NIL,否则返回T。5) 5)    IF函数的格式是(IF <判别式> e1 e2),它的功能是实现程序的二分支结构。当判别式的结果为非NIL时,函数执行e1并返回e1的计算值,否则函数执行e2并返回e2的计算值,若可选项e2不存在,则函数结束运行,返回NIL。例如(SETQ a (GETREAL “A”) c (GETREAL “C”)(SETQ x (IF (/= a 0) (/ c a)(SETQ y (IF (> a 0) (+ c a) (- c a)6) 6)    PROGN函数的格式为(PROGN e1 e2 en),它的功能是将若干个LISP表达式归并为一个LISP表达式,常用于IF函数内,以便使IF函数能够在e1和e2的格式规定中作更多的事情。7) 7)    COND函数的格式为(COND(测试式1 e11 e12 e1i)(测试式2 e21 e22 e2j) (测试式m em1 em2 emk)函数功能是实现多分支结构。COND函数的变量都为表,变量表中的第一个元素是测试式,其余元素是当测试结果为非NIL时顺序执行的LISP表达式。COND函数依次对测试式进行测试,当测试结果为非NIL时,顺序执行其后的LISP表达式。函数返回值为最后执行的表达式计算结果。变量表中可以只有一个元素,即可以只有测试式,此时的函数返回值为测试结果。例3-1 例3-1          编写下列分段函数的LISP程序。解1:可以利用COND函数处理该分段函数,编写程序如下A)编写程序(DEFUN L3-1-1 (x)(COND (AND (> x 10) (<= x 6) 2) (AND (> x -6) (<= x 2) 1) (AND (> x 2) (<= x 2) 0) (AND (> x 2) (<= x 6) 1) (T 2)B)调用程序(SETQ n (L3-1-1 1))后函数L3-1-1返回0,并将该值赋予变量n。解2:利用COND函数顺序测试的特点,可以编写更简化的程序如下A)编写程序(DEFUN L3-1-2 (x)(COND (<= x 10) 2) (<= x 6) 2) (<= x 2) 1) (<= x 2) 0) (<= x 6) 1) (T 2))B)调用程序(SETQ n (L3-1-2 1))后函数L3-1-2返回0,并将该值赋予变量n。4. 4.交互式输入函数交互式输入函数提供控制台输入,包括键盘输入和光标设备输入。交互式输入函数又称为GET族输入函数,该族函数均以字符GET开头。交互式输入函数包括整型数输入函数(GETINT)、实型数输入函数(GETREAL)、字符串输入函数(GETSTRING)、点输入函数(GETPOINT)、角度输入函数(GETANGLE)、距离输入函数(GETDIST)、关键字输入函数(GETKWORD)和初始化输入函数(INITGET)。交互式输入函数为专业软件的二次开发提供了与AutoCAD相同的交互界面,简化了软件的开发过程和推广工作。1) GETINT函数的格式为(GETINT 提示信息)。其功能是输入整型数,函数返回值为从键盘输入的整型数。提示信息为字符串,用于输入时给出提示。2) GETREAL函数的格式为(GETREAL 提示信息)。其功能是输入实型数,函数返回值为从键盘输入的实型数。3) GETSTRING函数的格式为(GETSTRING 开关变量 提示信息)。其功能是输入字符串,函数返回值为从键盘输入的字符串。当不选用开关变量或开关变量无值时,输入字符串可以用空格或RETURN结束,输入字符串中无法包括空格。开关变量存在且有值时,则输入字符串中可以包含空格,但必须用RETURN结束字符串。AuotLISP通过这种方式,使字符串输入和AutoCAD在方式上保持一致。4) GETPOINT函数的格式为(GETPOINT pt 提示信息)。其功能是通过键盘或光标设备输入点。可选项pt是一个表示点的表,当pt存在时,移动光标会出现从pt到光标的连线(皮筋线),此时pt也作为相对坐标系的原点对采用相对坐标输入点产生作用。当pt不存在时,相对坐标系的原点由AutoCAD系统变量LASTPOINT决定。5) GETANGLE函数的格式为(GETANGLE pt 提示信息)。其功能是通过键盘或光标设备输入角度。函数返回值为表示角度的实型数,单位为弧度。Pt的作用同前。AuotLISP通过这种方式,使角度输入和AutoCAD在方式上保持一致。6) GETDIST函数的格式为(GETDIST pt 提示信息)。其功能是通过键盘或光标设备输入长度。函数返回值为表示距离的实型数。Pt的作用同前。AuotLISP通过这种方式,使长度输入和AutoCAD在方式上保持一致。7) GETKWORD函数的格式为(GETKWORD 提示信息)。其功能是通过键盘输入关键字。函数返回值定义为关键字的字符串。关键字由下面的INITGET函数定义。8) INITGET函数的格式为(INITGET bits 关键字)。其功能是控制GET×××函数的输入。bits为二进制概念的控制位,能够最大限度的减少输入错误。表3-4中,十进制数1(bit 0)防止空输入(ENTER);2(bit 1)防止0输入;4(bit 2)防止负数输入;8(bit 3)允许用户输入LIMITS规定界限以外的点;16(bit 4)(尚未使用);32(bit 5)使用虚线作皮筋线;64(bit 6)阻止Z坐标输入;128(bit 7)允许任意输入。关键字除了用于GETKWORD函数,还能够用于其他GET×××函数,扩大它们的使用范围。如关键字用于GETINT函数,能够使该函数根据输入内容返回整型数或关键字。而没有关键字时,GETINT函数只能够返回整型数。关键字是包含在双引号内的字符和数字,关键字之间用空格分隔,例如“Abc Def”定义了Abc和Def两个关键字。关键字中的大写字母在输入时可以作为关键字的缩写。表3-4 控制位和输入函数的关系函数关键字控制位非空(1)(bit 0)非0(2)(bit 1)非负(4)(bit 2)非限制(8)(bit 3)用虚线(32)(bit 5)二维距离(64)(bit 6)任意输入(128)(bit 7)GETINT   GETREAL   GETDIST GETANGLE   GETPOINT   GETKWORD      INITGET函数只对其后的GET×××函数起一次作用。对于程序段(INITGET 7 “Abc Def”)(SETQ A(GETINT “A”)运行时,输入空回车、0或负数,系统都会要求重新输入,只有在输入正数时程序才会将整型数赋予变量A。当输入a或abc时,程序会将关键字“Abc”作为字符串赋予变量A。而输入d或def时,程序则将“Def”赋予变量A。输入其他字母,程序也会要求重新输入,直至符合输入要求。例如,在AutoCAD绘圆命令CIRCLE执行时,有如下提示Command: circleSpecify center point for circle or 3P/2P/Ttr (tan tan radius):Specify radius of circle or Diameter:首先可以输入点或关键字,然后可以输入点、数值或关键字。同样的输入效果可以用以下LISP程序达到:(INITGET 1 “3P 2P Ttr”)(SETQ p(GETPOINT “Specify center point for circle or 3P/2P/Ttr (tan tan radius):”) (INITGET 7 “Diameter”)(SETQ r (GETDIST p “Specify radius of circle or Diameter:”)5. 5.字符串函数字符串函数专门用于处理字符串,包括字符串长度函数(STRLEN)、字符串链接函数(STRCAT)和子字符串函数(SUBSTR)。1) STRLEN函数的格式是(STRLEN s)。函数变量是字符串,STRLEN函数的功能是求出字符串s的长度,即组成字符串s的字符个数,函数返回整型数。如(STRLEN “abc”)返回3。2) STRCAT函数的格式是(STRCAT s1 s2 sn)。它的功能是按变量顺序合并字符串s1 、s2 、 、sn,函数返回合并后的字符串。如(STRCAT “abc” “def”)返回字符串“abcdef”。3) SUBSTR函数的格式是(SUBSTR s m n),函数变量s为字符串,m和n为整型数。SUBSTR函数从字符串s中取出一部分作为函数的返回值。返回的子字符串从字符串s的第m个字符开始,其长度(字符数)为n 。若n不存在,则返回的子字符串从字符串s的第m个字符开始至字符串末尾。字符串排列顺序为从左到右,起首字符序号为1。如(SUBSTR “Good Morning” 6 3)返回字符串“Mor”,(SUBSTR “Good Morning” 6)返回字符串“Mo

注意事项

本文(模具设计与制造模具设计说的概述)为本站会员(百****)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!