CAD二次开发毕业设计说明书_第1页
CAD二次开发毕业设计说明书_第2页
CAD二次开发毕业设计说明书_第3页
CAD二次开发毕业设计说明书_第4页
CAD二次开发毕业设计说明书_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 序言1、参数化绘图及二次开发参数化绘图就是通过设计参数来驱动生成所需的图形。一般通过编程实现。因此要求设计者具备编程能力,存在工作量大,修改图形不方便等问题。但它应用灵活,适应面广。对某些应用参数化设计系统解决不了的问题,通常可采用参数化绘图的方法加以解决,例如在开发某些机器的CAD系统时,要求设计、计算、查表、绘图一体化时,显然适合采用参数化绘图的方法加以解决。通过编程实现参数化绘图,其程序设计的总体思路是:将设计计算的关系式融入程序中,在程序的控制下,执行计算及交互输入主要参数,程序应能对参数输入进行有效性检验,根据用户的交互输入完成视图的绘制。AutoCAD作为一种具有高度开放结构的C

2、AD平台软件,它提供了强大的二次开发环境。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。带有参数化设计功能的CAD系统固然在设计绘图上有某些显著特点,如不需要编程就可实现图形的参数化,修改图形及其方便,工作量小,且可由草图生成正式图。然而,当零件结构非常复杂及形状极不规则时,参数化设计就显得力不从心。为了区别于参数化设计,把应用高级语言编程使具体图形实现参数化称为参数化绘图(ParamericDrawing),在参数化绘图中,图中的部分尺寸(或全部尺寸)被事项定义为参数尺寸,当交互输入参数值后,即可画出图形。2、二次开发工具介绍(1)Auto

3、LISPAutoLISP的全名是LISTProcessingLanguage,她出现于1985年推出的AutoCADR2。18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。(2)ADSADS的全名是AutoCADDevelopmentSystem,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉

4、的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。(3)ObjectARXObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C+为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX并没有包

5、含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARXforAutoCAD2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。(4)VisualLISPVisualLISP已经被完整地集成到AutoCAD2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD2000中默认的代码编辑工具;用它开发AutoLISP程序

6、的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于AutoCAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。(5)VBAVBA即Mcrosoftoffice中的VisualBasicforApplications,它被集成到AutoCAD2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD200

7、0中丰富的技术框架打开一条新的通道。VBA和AutoCAD2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序.。在以上开发工具中,作者采用了VisualLISP语言作为开发工具,因为VisualLISP语言具有以下优势:(1)VisualLISP语言是AutoCAD的内嵌开发工具。是LISP语言和AutoCAD有机结合的产物,同时也是AutoCAD软件包的一个重要组成部分。用户可以通过AutoLISP直接调用AutoCAD的命令,也可以对AutoCAD命令进行扩展,还可以

8、实现对AutoCAD当前图形直接访问和修改。(2)VisualLISP语言语法格式简单易学,其与AutoCAD练习函数Command可直接调用AutoCAD命令,命令格式与绘图顺序和格式完全一致,对于经常使用AutoCAD的用户极为方便。(3)编辑环境实用、方便。绘图环境提供了控制台,在控制台的命令行作AutoLISP命令,可以直接看到结果;应用彩色字符源代码检查,可以在编辑窗中同时显示AutoLISP和DCL源程序的命令,注释,提示等以各种颜色区分表示出来,易于检查;VisualLISP程序自动缩进和标准格式化;括号匹配检查;使用VisualLISP编程可避免LISP程序繁锁的调试过程,提高

9、了编程效率。螺栓标准件介绍二、标准件螺栓介绍六角螺栓是在螺栓种类里使用最频繁的一种,它所拥有的外螺纹的主要功能是与螺母配合。利用这种螺纹连接方法,使两个零件合为一体。C级的六角螺栓主要使用在表面比较粗糙,对精度要求不高的钢铁结构机械,设备上。A级和B级的六角螺栓主要使用在表面光洁,对精度要求高的机械,设备上。牙纹一般分为粗牙与细牙两种,粗牙螺纹的螺栓较为被普遍使用。图2-1六角头螺栓图2-2六角头螺栓M20型号表2-1螺栓型号及参数表螺纹规格dM5M6M8M10M12M14M16M18M20M22S(公称)8101316182124273034K(公称)3.545.36.47.58.81011

10、.512.514R(最小)0.20.250.40.40.60.60.60.60.80.8E(最小)8.610.914.217.619.922.826.229.63337.3A(最大)2.4344.55.3667.57.57.5bLW12516182226303438424650125200L(公称)25-530-640-845-155-160-165-180-180-290-200000204060800020全螺纹长度L10-512-616-820-125-130-135-135-140-245-200000204060800020100mm长的质0.00.00.00.00.00.10.10

11、.20.20.3量13203763902772238259表2-1常用LISP函数高级语言(如BASIC、FORTRAN、C等)的语法均采用中缀式,即运算符在变量的中间,如a=b+c,而LISP语言采用前缀式,即运算符在前面,变量在后面如(+bc),这是LISP语言和其他高级语言最大的不同。1、+、一、X、/函数(1)+函数格式:(+参数1参数2。)举例:(+12)返回3(2)函数格式:(-参数1参数2。)举例:(-5040)返回10(3)*函数格式:(*参数1参数2。)举例:(*23)返回6(4)/函数格式:(/参数1参数2。)举例:(/1002)返回502、Setq函数格式:(setq变量

12、1表达式1变量2表达式2)功能:将一个或多个符号的值设置为相应表达式的值。例:下面的函数调用将变量a设为5.0:命令:(setqa5.0)返回5.03、Defun函数格式:(defun函数名(参数表)表达式1表达式2表达式N)功能:增加、修改、恢复AutoCAD的命令举例:(defunc:yun(cprlwpl)4、Polar函数格式:(polar基点方向角距离)功能:用于球出一个点的极坐标,方向角为弧度。举例:为polar提供一个三维点:命令:(polar(l13.5)0.7853981.414214)返回(2.02.03.5)5、If函数格式:(if测试表达式then表达式else表达式)

13、功能:先对测试表达式求值,若结果为非nil,则执行then表达式,并其求值结果作为if函数的调用返回值;若then表达式的求值结果为nil,且任选项else表达式)存在,则执行else表达式,且返回其求值结果。如果else表达式不存在,则返回nil。举例:(if(ab)(setqc1)(setqc-1)当ab时,返回1,否则返回1。6、Getpoint函数格式:(getpoint基点提示)功能:暂停以等待用户输入点,并返回该点。举例:(setqp(getpoint(1.52.0)“第二点:”)7、Getint函数格式:(getint提示)功能:暂停以等待用户输入以个整数并返回该整数举例:命令:

14、(setqnum(getint)输入15返回158、Getreal函数格式:(getreal提示)功能:暂停以让用户输入一个实数并返回该实数。举例:命令:(setqval(getreal“缩放比例:”)缩放比例:12返回12.09、Atof函数格式:(atof数字串)功能:将数字串转换成实型数返回举例:命令:(atof“97.1”)返回97.110、Atoi函数格式:(atoi数字串)功能:将数字串转换成整型数返回,所返回的整型经过“截尾取整”后的结果。举例:命令:(atoi“3.9”)返回311、Rtos函数格式:(rtos数字方式精度)功能:根据参数方式和精度将数字转换成相应的字符串。方式

15、和精度参数对应于系统变量lunits和luprec。如果省略这两个参数,rtos函数使用lunits和luprec的当前值。举例:设置变量x:命令:(setqx17.5)返回17.5将x的值转换为科学记数格式的字符串,精度为4:12、Command函数格式:(command参数)功能:将每一个参数顺序传给AutoCAD以响应提示。它以字符串形式提交命令名和选项。Command函数的参数调用格式与AutoCAD的命令及其所需的数据类型密切相关,有以下规定:1)调用AutoCAD的命令及其子命令和选择项都用字符串表示,其中字符大写均可。2)数值常量可以写成数本身,也可以写成字符串形式。3)对于点常

16、数有2种表示方法。一种是用AutoLISP表的形式,其调用格式于数据类型必须符合表定义的规定。另一种是表示为字符串的形式,字符串中的数据只要符合AutoCAD的数据表示规定即可。4)command调用参数中的空串(“”等效于在键盘上按一次空格键,利用它可以给一个需要不定个数定数据定AutoCAD命令的执行,或是采用命令的缺省值。5)如果不带任何参数调用command函数,则等效于在键盘上按一次CTRL+C组合键或esc键,它可以中断大多数AutoCAD命令。6)需要等待用户输入发get族函数不能用在command函数内,否则系统将提示出错。7)对于要做对象选择的那些AutoCAD命令(如bre

17、ak和trim等),用由entsel函数获得等一个表去取代为选择一个对象必须拾取一个点。 ) 六角头螺栓二次开发41驱动尺寸skrea42绘图程序(1)确定绘图顺序见右图,以所标各点确定绘图顺序P15P16pl4p9p4PIpl7P5I-11p6pUlp8p!3p!8plOP3pvP12pll图4-1六角头螺栓例图3、确定绘图流程图、.结束/图4-2六角头螺栓绘图流程图4、编写LISP绘图程序文件名为bolt.lsp,程序如下(以六角头螺栓M10为例):(3)程序(defunbolt1()(setql35k3.5d7dw10e12b30)(setqp00(getpoint插入点)(setqp0

18、1(list(+(carp00)lk10)(cadrp00)(setqp1(list(-(carp01)10)(+(cadrp01)(/d2.0)p15(polarp1pi(-l1)p3(polarp1(*1.5pi)d)p16(polarp3pi(-l1)(setqp2(polarp15(*0.5pi)(/(-edw)2.0)p4(polarp16(*1.5pi)(/(-edw)2.0)p17(polarp2pi1)p18(polarp4pi1)(setqp6(polarp17(*0.5pi)(/(-edw)2.0)p5(polarp18(*1.5pi)(/(-edw)2.0)p14(pol

19、arp5pik)p13(polarp6pik)(setqp7(polarp1pib)p8(polarp3pib)(setqp9(polarp3(*0.5pi)0.8)p10(polarp1(*1.5pi)0.8)p11(polarp10pib)p12(polarp9pib)p20(polarp15pi1.0)p19(polarp20pik)p22(polarp16pi1.0)p21(polarp22pik)(commandlinep00p01)(commandlinep1p15p2p17p6p13p14p5p18p4p16p3p1)(commandlinep7p8)(commandlinep1

20、7p18)(commandlinep10p11)(commandlinep9p12)(commandlinep15p16)(commandlinep19p20)(commandlinep21p22)六角头螺栓其他型号程序略5、运行结果以深沟球轴承60000型号为例,所绘制图形如下图4-3运行程序所绘六角头螺栓 对话框设计在第四章的螺栓绘图程序中,绘图参数的输入是通过getint和getreal函数实现。参数输入时在命令行逐个进行提示并输入相关数据。一旦输入有误必须结束程序重新输入,这在输入很少参数如1个或2个时尚可,但在需要输入较多参数时极为不便,故需要采用对话框进行参数输入。AutoCAD中

21、的对话框可以通过DCL语言设计界面(通过VisualLISP绘图环境编制程序),用PDB工具来驱动完成。1、对话框部件对话框由其本身点框架和其中点组件组成。可编程对话框(PDB)功能模块已经预定义了基本控件类型,用户可以使用这些基本控件创建各种组合的控件,即组件。可以按照行或列将这些控件进行编组,也可以选择是否在这些成组的控件周围添加一个封闭的框架和边框。使用组件可以将许多对话框中都需要使用的控件定义成组。例如:可以将“确定”、“取消”和“帮助”按钮定义成一个组件。使用中,组件包含的控件被称为子组件。DCL文件按照树型结构方式定义对话框,其中树型结构顶端的控件(dialog)用于定义对话框本身

22、。控件或组件的布局、外观和动作由DCL中控件的属性指定。例如,dialog和多数控件类型都有一个label属性,用于指定于控件相关联都文字。其中,dialog和label属性用于指定对话框顶部都标题,按钮都label属性用于指定按钮内的文字等。DCL还允许定义新的控件,称为控件原型,控件原型不需要和特定对话框相关联。这一特性使得用户可以非常方便地在多个对话框中使用同一不见。可以在DCL文件中引用由其他DCL文件定义的控件原型,修改其属性的方法与修改定义控件属性的方法相同。设计对话框初期,即开始编码和调试之前,需要考虑设计对话框和应用程序的具体细节。主要表现在控件次序的安排,从而使用户能够更加方

23、便地输入数据。尽管这样做有可能会使得程序结构不如按照惯例编写地连贯,但可以更好地反映出用户工作但方式。庁持京象何Iimige扁讒臣矣和育向-ZJ行诟盏X):口n口口列偏悠谢:butLull阵列韦麼IA):预监辿帮助(W馱认恃吮r,纵果厅扁移刀宜隹贝|厅忝加在下區如杲刊偏移为负值,现刘添加龙古边-图5-1常用对话框部件2、常用部件有:(1)按钮按钮适应于立即产生可视的操作,如退出对话框,弹出子对话框及其他特定操作。每个对话框至少含有一个OK按钮(或功能相当的控件)。按钮的类型是button。它有action、alignment、fixed_height、fixed_widthheight等等共十

24、三个属性。(2)编辑框编辑框用于输入字符串。它的类型是edit_box。它是actionalignmentallow_acceptedit_limitedit_widthfixed_heightfixed_widthheightis_enabledis_tab_stopkeylablemnemonicvaluepassword_char共16个属性。其标签显示在该框的左边,它的默认宽度为12个字符,当输入的字符多于12时,文本自动向左滚动,框内的字符串即为编辑框的值。(3)图像按钮图像按钮将图像显示在按钮上,它的类型是image_button。它有actionalignmentallow_ac

25、ceptaspect_ratiocolorfixed_widthfixed_heightis_enabledis_tab_stopkeylablemnemonic和width共13个属性。图像按钮很有用的一个特性是,通过LISP程序可以被单击时的位置,从而根据不同的位置设计相应的动作。(4)下拉列表下拉列表的类型是popup_list。它具有actionalignmentedit_widthfixed_heightfixed_widthheightis_enabledis_tab_stopkeylablelistmnemonictabsvalue和width共15个属性。下拉列表具有编辑框和列

26、表框的两个特点,它的初始状态像一个编辑框,标签显示在框的左边,框内只有一行字符和一个向下的箭头,单击框内箭头将弹出一个列表,选取表内文本之后,列表自动关闭,在编辑框内选中的内容。下拉列表的值是被选中的文本行的序号。(5)列表框3、DCL语言介绍DCL语言结合了AutoLISP与DCL两种语法的功能,可以让用户半自动地架构出图形模式的对话框界面,即可编程对话框PDB,DCL对话框的屏幕画面以框栏(Tile)为基本结构,将框栏按左右,上下或混合排行之后,就组成了对话框的主要外观。每个框栏内部可以容纳对话框的基本控件。DCL语法可以自动调整控件之间的相对位置,用户只需要将控件代码和各控件的排行模式代

27、码按顺序写在DCL文件里即可,一般不用考虑控件的尺寸问题。系统会自动计算应有的对话框尺寸,并自动规划适当的空间来放置这些控件。(1)常用属性Alignment:格式:alignment二position;为控件组中但控件指定水平或垂直位置。对于列中但子控件,其值可以使(left)、右(right)或居中(centered)(缺省值为左)。对于行中的子控件,其值可以使顶(top)、底(bottom)或居中(centered)(缺省值为居中)。Fixed_width格式:fixed_width=true/false;指定控件的宽度是否可以填满整个可用空间。如果属性值为true。则控件的宽度不会填满

28、为布局或对齐操作留出的可用空间。其值可用是true或false(缺省值为false)。Is_cancel格式:is_cancel=true/false;指定用户按ESC键时按钮是否被选中。其值可用是true或false(缺省值为false)。Is_default格式:is_default=true/false;指定是否将一个按钮作为缺省按钮,用户按下接受键时,将选中该按钮(被按下)。其值可以是true或false(缺省值为false)。如果用户将edit_box、list_box或image_button的allow_accept属性设置为true,则用户按下接受键或双击时,也会选中缺省按钮。

29、如果当前焦点正位于其他按钮上,则按下接受键时不选中缺省按钮,而选中焦点所在当按钮。对话框中只能有以个按钮当is_default属性可以被设置为true。Key格式:key二“string”;指定应用程序引用特定空间当名称。其值是被引号括起来的字符串(无缺省值)。在对话框中,每个key属性值都必须是唯一的。该字符串区分大小写:如果key属性值为BigTile,则不能用bigtile引用它。由于key属性值对用户不可键,因此设计者可以随意指定此属性值(值要保证其唯一性)。同理,在将应用程序翻译成其他语言时,key属性对值可以不必翻译。Label作为标题出现。如果指定了标签,它将在edit_box控

30、件中向坐对齐。Edit_width格式:edit_width=number;以字符宽度为单位指定框的编辑或输入区(即edit_width加框部分)的宽度。其值时以个整数或实数。如果没有指定edit_width属性值,或指定为零,并非控件的宽度不固定,则编辑框将扩展至填满全部可用空间。如果edit_width非零,则该框在空间占用空间内向右对齐。(2)DCL语言对话框控制语言(DCL)的语法非常简单。空间和空间聚合的定义方式极为相似,它们的聚合就构成零对话框。但用户应注意以下编写规则:控件的定义和属性用小写字母。控件的属性应放置在一对大括号中。DCL文件采用缩格形式以便清楚地表达语句地从属关系。

31、属性用等号来赋值,以分号结束。控件地名称可包含字母、数字和下划线,但名字要以字母开头。空行忽略。举例:下面是BASE.DCL中retirement_button控件的定义:retirement_button:buttonfixed_width=true;width=8;alignment=centered;在该例中,retirement_button是控件名,其中只用到一个预定义控件button。在大括号指定来三个属性fixed_width、width、alignment及其true、8、centered。由此程序定义的控件retirement_button的属性是将这三个属性及button中

32、与这三个属性不同名的属性4、布局原则一个好看的对话框,能给别人留下好的印象。因而在布局时候,不要弄得参差不齐,最好整齐一致,各组件和文字不要显得太挤太密和太空,疏密要恰当。因而很有必要用width、fixed_width、alignment、spacer、spacer_0之类的语句或控件来使之漂亮。对话框的布局应尽量美观,此外还有一些应当注意的问题。建议开发对话框时考虑以下几个方面的内容:(1)外形美观(2)使用方便(3)功能定义和提示一致(4)控件的互锁功能(5)良好的容错能力(6)文字内容规范(7)挂件编辑的一般要求(8)缺省值和助记键5、深沟球轴承对话框设计图5-2为本毕业设计所设计对话

33、框,对话框文件名为bolt.dcl,对应del程序如下:螺栓型号M5M6M8O1A48_?.J161o1佃1佃2MoMoMn_10丽2680|1T.TT|14.阴|螺栓公称直径!螺帽宽度螺纹有效檢度匕螺栓底度1螺帽外接圆直径包螺帽凸台直径触取消确定图5-2六角头绘图输入对话框bolt:dialoglabel二螺栓;:row:column:popup_listlabel二螺栓种类;key=bolt1;fixed_width=true;width=32;alignment=left;list=六角头螺栓n六角头螺栓全螺纹n六角头螺栓C级n;:list_boxlabel二螺栓型号;key=bolt_

34、list;fixed_width=true;width=32;alignment=left;:edit_boxlabel=螺栓公称直径d;key=bolt_d;width=10;fixed_width=true;alignment=right;:edit_boxlabel二螺帽宽度;key=bolt_k;width=10;fixed_width=true;alignment=right;:edit_boxlabel二螺纹有效长度b;key=bolt_b;width=10;fixed_width=true;alignment=right;:edit_boxlabel二螺栓长度l;key=bolt

35、_l;width=10;fixed_width=true;alignment=right;:edit_boxlabel=螺帽外接圆直径e;key=bolt_e;width=10;fixed_width=true;alignment=right;:edit_boxlabel=螺帽凸台直径dw;key=bolt_dw;width=10;fixed_width=true;alignment=right;:imagekey=bolt_image;width=60;aspect_ratio=0.6;color=graphics_background;ok_cancel;6、PDB工具PDB(Progra

36、mmableDialogBox)工具是用来联系DCL程序与LISP程序之间的工具,或者说是用来驱动DCL程序以初始化、显示、关闭和处理对话框相关动作的控制工具。对话框的初始化和常用处理函数如下:动作表达式初始化action_tile功能:为某一对话框控件指定一个动作表达式,用户在对话框中选中这个控件时,就会执行该动作表达式。调用格式:(action_tile控件名(key)动作表达式)返回值:T获取运行时的控件值get_tile功能:获取对话框指定的当前运行时的值调用格式:(get_tile控件名(key)返回值:控件值字符串(3)装入指定DCL文件的函数load_dialog功能:加载DCL

37、文件调用格式:(load_dialogDCL文件名)返回值:如果成功则返回正整数值,如果load_dialog不能打开文件,则返回负整数。(4)启动对话框的函数start_dialog功能:显示对话框并控制交给对话框调用格式:(start_dialog)返回值:start_dialog函数返回done_dialog函数的结束方式参数status缺省情况下,用户按下OK按钮时返回1,用户按下cancel按钮时返回0而在用term_dialog函数终止所有对话框时返回-1。但是,如果给done_dialog函数一个大于1的整数形式的结束状态代码。Start_dialog函数就会将这个值返回,它的含

38、义取决与应用程序。(5)图像组件的预览和放大和缩小技术首先用dimX_tile,dimY_tile获得图像组件像素的高宽。然后(start_imagekey)开始图像处理。用(end_image)结束图像控件的处理。7、用PDB工具驱动的六角头螺栓绘图源程序(带对话框)(defunC:bolt()(setqdcl_id(load_dialogi:/cyf/bolt.dcl)(if(not(new_dialogboltdcl_id)(quit)(setqx1(dimx_tilebolt_image)(setqy1(dimy_tilebolt_image)(start_imagebolt_imag

39、e)(action_tilebolt1(info)(end_image)(action_tilebolt_list(info2)(action_tileaccept(done_dialog1)(action_tilecancel(done_dialog)(setqtemp(start_dialog)(if(=temp1)(progn(cond(=vara0)(bolt0)(=vara1)(bolt1)(=vara2)(bolt2)(defuninfo()(setqvara(read(get_tilebolt1)(condi:blt1)i:blt2)i:blt3)TOC o 1-5 h z(=v

40、ara0)(progn(add1)(slide_image00 x1y1(=vara1)(progn(add2)(slide_image00 x1y1(=vara2)(progn(add2)(slide_image00 x1y1);(if(=vara0)(slide_image00 x1y1i:blt1);(if(=vara1)(slide_image00 x1y1i:blt2);(if(=vara2)(slide_image00 x1y1i:blt3)(defunadd1()(setqlist1(listM5M6M8M10M12(M14)M16(M18)M20(M22)M24(M27)M30

41、M36M36M42M48M56M64)(start_listbolt_list3)(mapcaradd_listlist1)(end_list)(defunadd2()(setqlist1(listM5M6M8M10M12(M14)M16(M18)M20(M22)M24(M27)M30M36M36M42M48M56M64)(start_listbolt_list3)(mapcaradd_listlist1)(end_list)(defunadd3()(setqlist1(listM5M6M8M10M12(M14)M16(M18)M20(M22)M24(M27)M30M36M36M42M48M5

42、6M64)(start_listbolt_list3)(mapcaradd_listlist1)(end_list)(defuninfo2()(setqvar2(read(get_tilebolt_list)(setqf1(openi:/cyf/bolt.txtr)(setqfft)(whileff(setqf2(read(read-linef1)(setqi(nth1f2)(if(=var2i)(progn(setqnam(nth0f2)d(nth2f2)k(nth3f2)b(nth4f2)l(nth5f2)e(nth6f2)dw(nth7f2)(setqffnil)(closef1)(se

43、t_tilebolt_d(rtosd)(set_tilebolt_k(rtosk)(set_tilebolt_b(rtosb)(set_tilebolt_l(rtosl)(set_tilebolt_e(rtose)(set_tilebolt_dw(rtosdw)(defunbolt0()/1/-1(commandlayermcen1r丄丄credcenltcentercen(setqp00(getpoint插入点)(setqp01(list(+(carp00)lk10)(cadrp00)(commandline(polarp00pi5)(polarp0105)TOC o 1-5 h z/1/-

44、1c(commandlayers0)(setqp1(list(-(carp01)10)(+(cadrp01)(/d2.0)p15(polarp1pi(-l1)p3(polarp1(*1.5pi)d)p16(polarp3pi(-l1)(setqp2(list(carp15)(+(cadrp00)(*0.5dw)p4(polarp2(*1.5pi)dw)p17(polarp2pi2)p18(polarp4pi2)(setqp6(polarp17(*0.5pi)(/(-edw)2.0)p5(polarp18(*1.5pi)(/(-edw)2.0)p14(polarp5pik)p13(polarp6

45、pik)(setqp7(polarp1pib)p8(polarp3pib)(setqp9(polarp3(*0.5pi)0.8)p10(polarp1(*1.5pi)0.8)p11(polarp10pib)p12(polarp9pib)p20(polarp15pi2.0)p19(polarp20pik)p22(polarp16pi2.0)p21(polarp22pik)(commandlinep1p15p2p17p6p13p14p5p18p4p16p3p1)(commandlinep7p8)(commandlinep17p18)(commandlinep10p11)(commandlinep9

46、p12)(commandlinep15p16)(commandlinep19p20)(commandlinep21p22)菜单设计菜单是一个固定大小的对话框,用于简化和方便数据的输入。本毕业设计如不采用菜单,程序调试时须在命令行输入LISP程序加载命令(Load“f:/bearingl.lsp”),很显然对不熟悉LISP的用户来说是不方便的,也不便于记忆和理解。而使用菜单,用户不管是否熟悉LISP,都可以很方便地点取选项调用命令。菜单分类:屏幕菜单、下拉式菜单、弹出式菜单、图标菜单、图形输入板菜单和光标菜单。1、概述在Windows环境下,几乎所有的应用软件都通过菜单实现各种操作。而对于Vis

47、ualBasic应用程序来说,当操作比较简单时,一般通过控件来执行;而操作较复杂时,用菜单具有十分明显的优势。2、菜单介绍AutoCAD中常用菜单分为以下几类:(1)屏幕菜单屏幕菜单位于屏幕的右侧,可通过下拉菜单“工具”“选项”“显示”选项卡来打开,自AutOCAD14.0版本以后默认不显示此菜单。(2)下拉菜单各种应用软件均有此菜单,即从屏幕最上面的标题栏向下垂直列表显示的各列菜单。(3)弹出式菜单(或称快捷菜单)即按下鼠标右键或Shift+鼠标右键弹出的菜单,方便用户操作。3、菜单文件菜单文件的类型:.mnu、.mnc、.mnr、.mns、.mnt、.mnl这些文件包含由菜单文件使用的AutoLISP表达式。当加载同名的菜单文件时这些文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论