1、摘 要计算机辅助绘图技术已广泛应用于机械制造中, 该项技术是技术人员必备的技能之一。CAD技术近几年在国内的广泛推广和运用使得许多企业从繁重的设计、修改和绘图等工作中解脱出来. AutoCAD内嵌的Visual lisp编辑器允许用户对AutoCAD进行二次开发,将Lisp语言与AutoCAD有机的结合起来,可以直接调动几乎全部的AutoCAD命令,同时Lisp语言又具备一般高级语言的基本结构和功能,并且具有一般高级语言所没有的强大的图形处理功能,编程十分灵活,是当今世界上CAD软件中被广泛采用的设计语言之一。机械零件中的一些标准件、常用件,它们的外形基本相似,只是尺寸大小有所不同。利用一般的
2、AutoCAD命令进行绘图虽然能比手工绘图快,但是由于对于这些大小不一形状相似的零件要重复进行绘制,大大降低了工作效率。利用autolisp对这些零件进行参数化程序设计绘图,可以大大提高绘图效率。本文内容是在autolisp环境中对深沟球轴承进行参数化程序设计绘图。关键词:autolisp, 二次开发, 深沟球轴承Abstract Computer-aided drawing technology has been widely used in machinery manufacturing, the technology is one of the necessary skills and
3、technical personnel. CAD technology in recent years made many enterprises in the extensive promotion and use of domestic and freed from the heavy design, modify, and drawing work. AutoCAD embedded Visual lisp editor allows users to AutoCAD for secondary development,willing Lisp language organic comb
4、ine with AutoCAD, which can directly to almost all of the AutoCAD commands,at the same time Lisp language and have generally high level language basic structure and function,and with a general of the high level language not powerful graphics processing functions, programming is very flexible and now
5、 which is widely used in the design in the world CAD software.The mechanical parts of the standard parts, and some common parts, their shape basic similar, only size different.Using AutoCAD commands for the general drawing though than manual drawing can be fast, but as for these size shape similar p
6、arts to repeat draw, and greatly reduce the working efficiency.Using of these parts autolisp parametric design program graphics, which can greatly improve the efficiency of the drawing. The content of this article is the deep groove ball bearings in the autolisp environmental parameters of the progr
7、am design and drawing. Key words: Autolisp, Secondary development , Deep groove ball bearings目 录1 绪论11.1 CAD技术11.2 AutoCAD软件及其二次开发11.3 设计环境22 深沟球轴承的简介22.1 工作原理22.2 轴承构造32.3 轴承类型32.4 轴承特性32.5 尺寸范围42.6 公差43 深沟球轴承的参数化设计以及绘图方法43.1 深沟球轴承的参数化绘图实现方案43.2 深沟球轴承绘图标准及其参数的确定63.3 人机交互界面模块设计63.3.1 人机交互界面总体设计63.3.
8、2 对话框的设计73.3.3 绘图模块设计83.3.4 深沟球轴承绘图程序说明103.4 程序运行说明144 结 论15参考文献16致谢17附录:lisp源程序18221 绪论1.1 CAD技术计算机辅助设计(CAD:Computer Aided Design)技术是指以计算机为基础完成整个产品设计过程。他主要研究用计算机、外围设备、图形输入输出设备和相应的软件帮助人们进行工程和产品设计的技术。CAD是电子信息技术的一个重要组成部分,广泛应用于机械、建筑、汽车、电子、航空航天等领域,对于加速开发新产品,缩短设计制造周期,提高产品质量,节约成本,增强企业的市场竞争能力和创新能力,加速国民经济的发
9、展和国防的现代化,都具有极其重要的意义。CAD技术已经成为制造企业参与市场竞争的必要条件,成为企业进入世界的入场券。1.2 AutoCAD软件及其二次开发CAD技术起步于20世纪中期,随着计算机硬件技术的发展而迅猛发展。AutoCAD软件是美国AUTODESK公司开发的计算机辅助设计绘图软件,具有易于掌握,使用方便绘图精确和体系结构开放等优点。因此自1982年问世以来深受广大设计人员的青睐,是CAD族群中使用最普遍的软件之一。如今AutoCAD已广泛应用于航空、航天、船舶、机械、服装、建筑、电子等领域,可见AutoCAD是一个通用的CAD软件。但要使一个通用CAD系统适合自己的专业工作需要,达
10、到使用方便的要求,就必须进行二次开发,在AutoCAD为用户提供的Auto LISP、 ARX、VBA等开发工具中Auto LISP是一种简单易学的解释性语言,具有很强的数据表格处理功能,是开发AutoCAD的一个重要工具。Auto LISP语言是嵌套于AutoCAD内部,将LISP(List Processing Language)语言和AutoCAD有机结合的产物,他是AutoCAD开放式体系结构的具体表现,使用Auto LISP可直接调用几乎所有AutoCAD命令,Auto LISP语言既具有一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大图形处理功能,是当今世界上CAD软件
11、广泛采用的语言之一。Lisp初始的设计目的易于设计专家系统,且具有极其简单的语法规则,比较易于掌握,其解释程序可以仅由几个函数来实现,用户程序可以编写的非常短小精干,缩短设计周期,提高设计效率的目的。Visual LISP是新设计的语言,他采用与Auto LISP完全兼容的模式。也就是说用户本身使用的Auto LISP所撰写的程序并不需要任何修改或者稍稍加以修改,就可以在Visual LISP环境中运行。可以说Visual LISP 是一个功能强大的整合开发环境。Visual LISP是一种将Auto LISP语言的优点完全保留,缺点完全克服,并与最新的程序相结合的整合开发系统,Visual
12、LISP 采用Compile-during-load(随载即编译)技术,来达到于Auto LISP完全兼容的境界。Visual LISP 采用可支持Auto LISP 与DCL色彩编码以及其他Auto LISP语法的屏幕文本编辑器。这样将方便输入Auto LISP原始程序,并透过色彩编码对原始程序的不同部分加以颜色区分,以改善Auto LISP原始程序的可读性。Visual LISP 支持多种检查器。其中,语法检查器可以用来检查Auto LISP程序结构错误和内部函数中的变量错误。综合检查器可以对提供数据结构中变量和表达式值的浏览和编辑功能。将Visual LISP的动态调整功能用于专门调整
13、Auto LISP 源程序上极其灵活性。它可以在一个窗口单一执行Auto LISP的源代码,而在AutoCAD窗口中同时显示代程序代码所执行效果。Visual LISP先进的原始程序编译器可以将Auto LISP的源程序编译成二进制文件。这样将大力改善程序的执行速度与安全性。Visual LISP的原始程序文件(.LSP)或已编译文件(.FAS)都可以利用系统提供的Application Wizard软件,将之包装成一个单一的ADS或者ARX模块。1.3 设计环境本次毕业设计采用的是AutoCAD 2008作为图形显示环境,利用对话框控制语言(DCL)来设计所需的参数输入窗口,利用Visual
14、 LISP语言来完成程序的编制,来实现深沟球轴承的自动生成。2 深沟球轴承的简介深沟球轴承是滚动轴承中最为普通的一种类型。基本型的深沟球轴承由一个外圈,一个内圈、一组钢球和一组保持架构成。 深沟球轴承类型有单列和双列两种,单列深沟球轴承类型代号为6,双列深沟球轴承代号为4。其结构简单,使用方便,是生产最普遍,应用最广泛的一类轴承。2.1 工作原理深沟球轴承主要承受径向载荷,也可同时承受径向载荷和轴向载荷。当其仅承受径向载荷时,接触角为零。当深沟球轴承具有较大的径向游隙时,具有角接触轴承的性能,可承受较大的轴向载荷 ,深沟球轴承的摩擦系数很小,极限转速也很高。 2.2 轴承构造深沟球轴承结构简单
15、,与别的类型相比易于达到较高的制造精度,所以便于成系列大批量 深沟球轴承是滚动轴承中最为普通的一种类型。基本型的深沟球轴承由一个外圈,一个内圈、一组钢球和一组保持架构成。 深沟球轴承类型有单列和双列两种,单列深沟球轴承类型代号为6,双列深沟球轴承代号为4。其结构简单,使用方便,是生产最普遍,应用最广泛的一类轴承。生产, 制造成本也较低, 使用极为普遍。深沟球轴承除基本型外, 还有各种变型结构,如:带防尘盖的深沟球轴承,带橡胶密封圈的深沟球轴承,有止动槽的深沟球轴承,有装球缺口的大载荷容量的深沟球轴承,双列深沟球轴承。 2.3 轴承类型1、单列深沟球轴承 2、带防尘盖的单列深沟球轴承 3、带防尘
16、盖、密封圈的单列深沟球轴承 4、外圈上有止动槽及止动环的单列深沟球轴承 5、有装球缺口的深沟球轴承 6、双列深沟球轴承 2.4 轴承特性深沟球轴承是最具代表性的滚动轴承,用途广泛。适用于高转速甚至极高转速的运行,而且非常耐用,无需经常维护。该类轴承摩擦系数小,极限转速高, 结构简单,制造成本低,易达到较高制造精度。 尺寸范围与形式变化多样,应用在精密仪表、低噪音电机、汽车、摩托车及一般机械等行业,是机械工业中使用最为广泛的一类轴承。主要承受径向负荷,也可承受一定量的轴向负荷。 选取较大的径向游隙时轴向承载能力增加,承受纯径向力时接触角为零。有轴向力作用时,接触角大于零。一般采用冲压浪形保持架,
17、车制实体保持架,有时也采用尼龙架。 深沟球轴承装在轴上后,在轴承的轴向游隙范围内,可限制轴或外壳两个方向的轴向位移,因此可在双向作轴向定位。此外,该类轴承还具有一定的调心能力,当相对于外壳孔倾斜210时,仍能正常工作,但对轴承寿命有一定影响。深沟球轴承保持架多为钢板冲压浪形保持架,大型轴承多采用车制金属实体保持架。 深沟球轴承是最常用的滚动轴承。它的结构简单,使用方便。主要用来承受径向载荷,但当增大轴承径向游隙时,具有一定的角接触球轴承的性能,可以承受径、轴向联合载荷。在转速较高又不宜采用推力球轴承时,也可用来承受纯轴向载荷。与深沟球轴承规格尺寸相同的其它类型轴承比较,此类轴承摩擦系数小,极限
18、转速高。但不耐冲击,不适宜承受重载荷。 2.5 尺寸范围内径尺寸范围:101320mm 外径尺寸范围:301600mm 宽度尺寸范围:9300 mm 2.6 公差标准型深沟球轴承具有普通级,全部与GB307.1相符合。3 深沟球轴承的参数化设计以及绘图方法图3-1 深沟球轴承参数化绘图程序的流程图3.1 深沟球轴承的参数化绘图实现方案所谓参数化绘图是将工程图中的图形于一组参数相关联,由这组参数表示的约束条件来确定相应零件的图形即根据参数自动生成零件图形。为此就要进行相应的程序设计,对于深沟球轴承的参数化绘图程序设计,遵循以下步骤: 1)分析深沟球轴承的结构特征,确定深沟球轴承的参数通常绘制一个
19、零件的图样,需要很多尺寸,但是不可能把所有的尺寸都作为参数,这是就需要分析这个零件,确定既能体现零件的结构特征,又能推导出其他尺寸的基本尺寸作为绘图的特征参数,特征参数越少越好。 2)根据深沟球轴承的绘图参数,设计用户交互界面(DCL)对于参数化绘图程序来说,对话框主要考虑绘图参数的输入和相关控件的布局,为了增加程序的可读性,对话框中还要配有图像控件,用幻灯片来显示各绘图参数的含义。 3)按照图形需要,编写绘图程序用DCL语言定义好的对话框只是一个界面描述,不能独立运行,只有用PDB函数为基础的Auto LISP程序来驱动,才能实现指定的功能,获取用户输入的绘图参数。根据获取的绘图参数,按照图
20、形需要,进行相关的坐标转换,编写相应的图形绘制程序。 4)加载相关程序,绘制所需图形在编辑器下编辑好的Auto LISP程序,必须经过加载方能使用。加载方法如下:将编写好的程序放在e:2文件夹下,打开AutoCAD 2008,点击“工具”菜单,选择最下面的“选项”弹出如图2.1所示对话框点击前的, 再点击右边的按钮,再点击按钮,之后选择e:2。点击“应用”按钮,在点击“确定”按钮。如图3-2所示。图3-2 选项对话框3.2 深沟球轴承绘图标准及其参数的确定现以6系列深沟球轴承为例说明深沟球轴承部分的参数。a.内径:轴承内圈直径,用d表示。b.外径:轴承外圈直径,用D表示。c.宽度:轴承宽度,用
21、B表示。3.3 人机交互界面模块设计3.3.1 人机交互界面总体设计 人机交互界面采用对话框控制语言(DCL)作为设计语言。Auto LISP并未像Visual Basic提供图形窗口界面,无法在屏幕上拖拽控件的方式形成对话框,而是以对话框控制语言(DCL)定义在以DCL为扩展名的文件内。因此,设计对话框前必须先将对话框的外观,对话框内要有哪些类型的选项,以及这些选项的摆放顺序,按DCL语法规则写在以DCL为扩展名的文件内,然后,在Auto LISP 程序内调用以DCL为扩展名的文件。DCL对话框包含下列组件:标签、按钮、单选钮、复选框、编辑框、列表框、下拉列表框、滚动条、图像框、图像按钮、错
22、误信息等等。应用时可以根据自己的需要选择不同的组件,设计出满足自己要求的对话框。本次设计的对话框如图3-3所示。图3-3 对话框窗口3.3.2 对话框的设计其程序如下: zhou:dialog label= 绘制深沟球轴承; alignment=centered; :row :imagewidth=40; height=8; key=image; color=-2; :column :edit_boxlabel=大径&D(mm):; key=A_box; width=12; :edit_boxlabel=小径&d(mm):; key=D_box; width=12; :edit_boxlabe
23、l=宽度&b(mm):; width=12; key=L_box; :boxed_column label=定位点; :button label=屏幕取点 ; key=pick; :edit_box label=&X(mm):; width=12; key=X_box; :edit_box label=&Y(mm):; width=12; key=Y_box; ok_cancel;3.3.3 绘图模块设计 图3-4图流程图 深沟球轴承的绘图流程图如图3-4所示。 1)开始 定义绘图函数名称。 2)定义变量 定义变量主要是定义坐标点及其中间变量。 3)设置绘图环境 为了避免绘图时出现错误,故绘图
24、前关闭对象捕捉,关闭回显。 4)坐标点的确定 坐标点确定包括以下两种类型 a用户输入点 主要是指定位基点,是用户在Auto CAD 2008界面指点的基点。 b计算坐标点 根据用户输入或确定的定位基点和特征变量确定其他点。 5)调用绘图程序 根据上述点坐标的计算,接下来调用绘图命令进行轴承图形的绘制,调用的绘图命令包括直线(line)、镜像(mirror)、填充剖面线(bhatch)、中心线。(注意:图层的设置及其切换在驱动程序中讲解) 3.3.4 深沟球轴承绘图程序说明 1)定义绘图主函数及其变量 a.图主函数名称:zc b.量包括:b宽度; d1外径; d内径; p0用户指定基点; p1p
25、16计算坐标点; fx1,fx2一中间变量。极坐标各点位置如图3-5所示。 图3-5 坐标 2)绘图前准备工作 为了避免绘图时出现错误,关闭“回显”。程序如下:(setvar cmdecho 0)调用绘图程序,将绘图前的准备工作还原 3)图层设置(defun nlayer () (command layer n 1,2,3,4 c 1 7 c 2 1 L 2 c 3 3 L center2 3 c 4 4 L divide2 4 LTSCALE 10) ) 4)用极坐标方法计算各点(defun getdata() (setq d(atof(get_tile D_box)(setq d1(ato
26、f(get_tile A_box)(setq b(atof(get_tile L_box)(setq x(atof(get_tile X_box)(setq y(atof(get_tile Y_box)(setq p1 (polar p0 fx1 (/ d 2.0);此行起计算各点坐标p2 (polar p1 0 b)pc1 (LIST (+ (car p0) (/ b 2.0) (+ (cadr p0) (/ (- d a) 2.0)pc2 (polar pc1 fx2 (- d a) p9 (polar pc1 (/ (* pi 11) 6) (/ a 4)p8 (polar pc1 (/
27、 (* pi 7) 6) (/ a 4)p4 (polar pc1 (/ pi 6)(/ a 4)p5 (polar pc1 (/ (* pi 5) 6) (/ a 4)p3 (list (car p2) (cadr p4)p6 (list (car p1) (cadr p5)p7 (list (car p1) (cadr p8)p10 (list (car p2) (cadr p9)p11 (polar p2 fx2 a) p12 (polar p1 fx2 a) p13 (polar p0 fx2 (/ d1 2.0) p14 (polar p13 0 b) p15 (polar p0 f
28、x2 (/ d 2.0) p16 (polar p15 0 b) 5)画深沟球轴承(nlayer);调用层设置函数(command zoom w (polar p1 fx1 10) (polar p16 fx2 10) ZOOM 0.9X) (command layer s 2 );此行起绘制轴承上半部分 (command line p1 p2 p3 p5 ) (command arc p4 ce pc1 A 120) (command line p4 p6 p1 ) (command line p6 p7 p9 ) (command arc p8 ce pc1 A 120) (command
29、 line p8 p10 p11 p12 p7 ) (command line p3 p10 ) (command arc p9 ce pc1 p4) (command arc p5 ce pc1 p8) (command mirror w p1 p11 p0 (polar p0 0 b) );镜像绘出轴承下半部分 (command line p12 p13 line p11 p14 ) (command layer s 1 ) (command hatch ansi31 t1 0 w p1 p3 );此行起绘剖面线 (command hatch aNsi31 t1 90 w p7 p11 )
30、 (command hatch aNsi31 t1 90 w p13 (polar p16 fx1 (/ a 2) ) (command hatch ansi31 t1 0 w p15 (polar p16 fx1 (/ a 2) ) (command layer s 3 ) (command line (polar p0 pi 2) (polar p0 0 (+ b 2) );绘轴承中心线 (command line (polar pc1 fx1 (* 1.2 (/ a 4.0);此行起绘滚珠中心线 (polar pc1 fx2 (* 1.2 (/ a 4.0) ) (command lin
31、e (polar pc1 pi (* 1.2 (/ a 4.0) (polar pc1 0 (* 1.2 (/ a 4.0) ) (command line (polar pc2 fx1 (* 1.2 (/ a 4.0) (polar pc2 fx2 (* 1.2 (/ a 4.0) ) (command line (polar pc2 pi (* 1.2 (/ a 4.0) (polar pc2 0 (* 1.2 (/ a 4.0) ) (command zoom a regen) (princ) 6)数据的调用部分程序:(defun getdata() (setq d(atof(get_t
32、ile D_box) (setq d1(atof(get_tile A_box) (setq b(atof(get_tile L_box) (setq x(atof(get_tile X_box) (setq y(atof(get_tile Y_box)(setvar cmdecho 0)(setq id(load_dialog e:2kuang) ;装入对话框文件(if ( std 1) (if (not (new_dialog zhou id)(exit);初始化对话框shaft (setq x1(dimx_tile image) ;设置x1为图象宽 (setq y1(dimy_tile
33、image) ;设置y1为图象高 (start_image image) ;开始建立图象 (slide_image 0 0 x1 y1 e:2tu);图象的左上角、右下角、幻灯片文件tu.sld (end_image) ;图象建立完毕 (set_tile D_box (rtos d 2 2) ;设置编辑框控件的值 (set_tile A_box (rtos d1 2 2) (set_tile L_box (rtos b 2 2) (set_tile X_box (rtos x 2 2) (set_tile Y_box (rtos y 2 2) (action_tile pick (getdat
34、a)(done_dialog 2) );设置按钮的活动 (action_tile accept (getdata)(done_dialog 1) ) (action_tile cancel (done_dialog 0) ) (setq std(start_dialog) (if(= std 2);注意:该表达式在while内部 (progn (initget 1) (setq p0(getpoint 定位点:) (setq x (car p0) y (cadr p0) ) ) ) (if ( std 0) (progn (SETQ T1 (if ( d 40) 2 0.2);t1为绘剖面线的
35、线间距比例因子 (setq a (/ (- d d1) 2.0);此行起计算3个中间参数值 fx1 (/ pi 2) fx2 (/ (* 3 pi) 2)3.4 程序运行说明a打开autocad 2008b在命令行输入vlisp或者从工具下拉菜单中打开autolisp编辑器c在autolisp编辑器界面分别打开e;2yuan.lsp和kuang.dcld分别加载kuang,dcl和yuan.lspe在命令行输入zc(不区分大小写),点击回车按键会出现以下对话框:如图3-6所示。图3-6 选择对话框f依次输入轴承的三个参数,然后点击屏幕取点 g点击确定即可生成深沟球轴承如图3-7所示。图3-7
36、预览4 结 论此课题通过利用AutoLISP对AutoCAD的二次开发,让我初步掌握了二次开发的流程及方法。在开发过程中,初次接触AutoLISP时,由于LISP语言特有的表函数与C、VC以及VB等其他语言的函数表达方式不尽相同,在最初的编写过程中犯了很多错误。这些错误在调试的时候更是被无限放大,造成很大麻烦。但是通过努力调试,最后还是编写出了交互式以对话框为界面绘制深沟球轴承的AutoLISP程序,完成课题。参考文献1 李学志.Visual LISP程序设计(第二版) M. 北京: 清华大学出版社2王墅.基于AutoCAD平台用户应用程序中的对话框设计J. 辽宁石油化工大学学报,2005,2
37、5(1):71-743翟震.AutoCAD应用开发技术 M. 北京: 中国电力出版社4王金娥.基于AutoCAD二次开发技术实现零件的参数化绘图J.机械制造,45(9):21225史翠兰.基于AutoLISP和ADOLISP参数化设计M.中国制造业信息化,2007,36(9):14206 John Bentley, Bryan Cantrill, BeautifulCode M.北京:机械工业出版2009.1 7 Yuasa, T., Introduction to Common LISP M. Morgan Kaufmann Publishers 2008.88成大先.机械设计手册 M.化学
38、工业出版社,2008.49张松林.轴承手册 M.江西科学技术出版社,2004.110濮良贵,纪名刚主编.机械设计(第八版) M.北京:高等教育出版社,200611罗浩,张新访,向文等.基于约束的参数化设计技术发展现状及前景J.中国机械工程,1995,6(5):2124致谢首先感谢我的指导老师史景钊老师,论文的完成是在导师的悉心关怀和精心指导下完成的。从最初的选题、定题到今天的完成,处处体现着导师的睿智,倾注了导师的心血。由于我机械设计和制图方面基础不牢固而且对于CAD的二次开发毫无了解,所以在程序的编写上一切都是从零开始,遇到了许许多多的困难。复杂的程序编写工作让我感到无奈,只恨自己当年没好好
39、学习编程语言。在我表现糟糕甚至意志消沉的时候,导师鼓励我打起精神,克服困难。史老师不但对我本次毕业设计给了很大帮助,使我受益匪浅。也对我今后的生活、工作有着深远的影响。 此次论文能够顺利的完成,同样受益于在大学四年的学习期间所有教育过、帮助过、支持过我的老师们,还有远在家乡的父母,没有他们,我就不可能有这个机会学习,在此表示衷心的感谢。最后,向百忙之中评审此论文的各位专家、教授表示深深的感谢。附录:lisp源程序(defun c:zc( / d d1 b x y id std x1 y1 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15
40、 p16 pc1 a fx1 fx2 t1) (defun nlayer () ;图层设置 (command layer n 1,2,3,4 c 1 7 c 2 1 L 2 c 3 3 L center2 3 c 4 4 L divide2 4 LTSCALE 10) )(defun getdata() (setq d(atof(get_tile D_box) (setq d1(atof(get_tile A_box) (setq b(atof(get_tile L_box) (setq x(atof(get_tile X_box) (setq y(atof(get_tile Y_box)(s
41、etvar cmdecho 0)(setq id(load_dialog e:2kuang) ;装入对话框文件(if ( std 1) (if (not (new_dialog zhou id)(exit);初始化对话框shaft (setq x1(dimx_tile image) ;设置x1为图象宽 (setq y1(dimy_tile image) ;设置y1为图象高 (start_image image) ;开始建立图象 (slide_image 0 0 x1 y1 e:2tu);图象的左上角、右下角、幻灯片文件tu.sld (end_image) ;图象建立完毕 (set_tile D
42、_box (rtos d 2 2) ;设置编辑框控件的值 (set_tile A_box (rtos d1 2 2) (set_tile L_box (rtos b 2 2) (set_tile X_box (rtos x 2 2) (set_tile Y_box (rtos y 2 2) (action_tile pick (getdata)(done_dialog 2) );设置按钮的活动 (action_tile accept (getdata)(done_dialog 1) ) (action_tile cancel (done_dialog 0) ) (setq std(start_dialog) (if(= std 2);注意:该表达式在while内