Autolisp 综合实例.ppt
《Autolisp 综合实例.ppt》由会员分享,可在线阅读,更多相关《Autolisp 综合实例.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第13章章 综合应用实例综合应用实例 本章介绍两个以对话框设计为主的两个综合应用实例。本章介绍两个以对话框设计为主的两个综合应用实例。实实例例一一是是定定义义绘绘制制多多种种螺螺钉钉的的命命令令。该该实实例例建建立立了了互互动动关关系系的的图图像像按按钮钮和和列列表表,供供用用户户直直观观地地选选择择螺螺钉钉种种类类;通通过过“自自定定义义尺尺寸寸”切切换换开开关关控控制制一一些些控控件件的的状状态态,若若该该切切换换开开关关关关闭闭,表表示示绘绘制制标标准准螺螺钉钉,标标准准螺螺钉钉的的数数据据只只需需在在列列表表中中选选择择,自自定定义义尺尺寸寸的的编编辑辑框框处处于于禁禁用用状状态态;
2、反反之之,螺螺钉钉的的标标准准数数据据列列表表处处于于禁禁用用状状态态,此此时时在在自自定定义义尺尺寸寸的的编编辑辑框框输输入入数数据据,即即可可绘绘制制出出非非标标准的螺钉。准的螺钉。实实例例二二是是定定义义范范成成法法加加工工齿齿轮轮的的命命令令。调调用用该该命命令令即即可可仿仿真真演演示示范范成成法法加加工工齿齿轮轮的的过过程程,逼逼真真地地演演示示了了生生成成渐渐开开线线齿齿形形的的原原理理。该该实实例例利利用用图图元元名名作作为为选选择择图图形形对对象象的的手手段段,利利用用面面域域作作为为加加工工的的刀刀具具和和对对象象,利利用用布布尔尔差差运运算算完完成成了了齿齿轮轮的的加加工工
3、。在在调调用用命命令令的的过过程程中中,被被加加工工齿齿轮轮的的模模数数、压压力力角角从从下下拉拉列列表表中中选选择择,齿齿数数、变变位位系系利利用用具具有有互互动动关关系系的的编编辑辑框框和和滑滑动动条条输输入入,通通过过互互鎻鎻按按钮钮确确定定齿齿廓廓精精度度。齿齿轮轮加加工工完完毕毕,显显示示其其几几何何参参数数,并并可可以以将将其其参参数输入到指定的文件。数输入到指定的文件。13.1 定义绘制多种螺钉的命令定义绘制多种螺钉的命令 螺螺钉钉是是最最常常用用的的标标准准件件,它它的的结结构构、尺尺寸寸参参数数在在国国家家标标准准中中有有详详细细的的规规定定。螺螺钉钉是是由由标标准准件件厂厂
4、专专门门生生产产的的,一一般般的的厂厂家家只只是是选选用用螺螺钉钉。因因此此只只有有在在绘制部件图时才绘制螺钉。绘制部件图时才绘制螺钉。传统的手工绘制螺钉的步骤是:传统的手工绘制螺钉的步骤是:根据具体的应用场合确定螺钉的种类,初步计算所需螺钉的大径和长度;根据具体的应用场合确定螺钉的种类,初步计算所需螺钉的大径和长度;查阅机械零件设计手册,确定螺钉的大径、长度和其他有关结构的尺寸;查阅机械零件设计手册,确定螺钉的大径、长度和其他有关结构的尺寸;根据指定的位置和方向绘制螺钉(通常是外形图)。根据指定的位置和方向绘制螺钉(通常是外形图)。在在CAD环环境境下下,计计算算机机提提供供螺螺钉钉的的种种
5、类类和和标标准准数数据据供供设设计计人人员员选选择择,设设计计人人员员只只需需确确定定螺螺钉钉的的位位置置和和方方向向,其其余余的的工工作作,主主要要是是繁繁琐琐的的绘绘图图由由计计算算机机去完成。去完成。13.1.1 文件和使用说明文件和使用说明1.文件说明文件说明 本程序由以下三种类型的本程序由以下三种类型的10个文件组成。个文件组成。(1)对话框定义文件)对话框定义文件 文文件件名名为为13-1.dcl,存存放放在在d:exampledcl路路径径下下。该该文文件件定定义义了了确确定定螺螺钉钉种类的主对话框种类的主对话框main_dlg和确定螺钉参数的子对话框和确定螺钉参数的子对话框ch
6、ildren_dlg。(2)AutoLISP源文件源文件 文文件件名名为为13-1.lsp,存存放放在在自自定定的的路路径径下下。该该文文件件是是驱驱动动对对话话框框并并绘绘制制各各种种螺钉的螺钉的AutoLISP源程序。源程序。(3)幻灯片文件)幻灯片文件 显显示示在在主主对对话话框框的的幻幻灯灯片片文文件件有有:13-1scr0.sld、13-1scr1.sld、13-1scr2.sld和和13-1scr3.sld。显显示示在在子子对对话话框框的的幻幻灯灯片片文文件件有有:13-1screw0.sld、13-1screw1.sld、13-1screw2.sld和和13-1screw3.sl
7、d。它它们们存存放放在在d:examplesld路路径下。径下。2.使用说明使用说明(1)安装和加载)安装和加载 从电子教案中找出上述文件并复制到指定的路径,加载从电子教案中找出上述文件并复制到指定的路径,加载13-1.lsp。(2)调用绘制螺钉的命令调用绘制螺钉的命令 种类确定螺钉的种类种类确定螺钉的种类 在在“command:”提提示示下下,输输入入screw命命令令,弹弹出出图图13-1所所示示确确定定螺螺钉钉种种类类对对话框。话框。图图13-1确定螺钉种类对话框确定螺钉种类对话框 图图13-2确定螺钉参数对话框确定螺钉参数对话框(3)确定螺钉的种类)确定螺钉的种类 图图13-1所所示示
8、对对话话框框提提供供了了互互动动的的图图像像按按钮钮和和螺螺钉钉种种类类的的列列表表,通通过过该该对对话话框框选择一种螺钉,单击选择一种螺钉,单击“继续继续”按钮,弹出图按钮,弹出图13-2所示确定螺钉参数的对话框。所示确定螺钉参数的对话框。(4)确定螺钉的几何参数)确定螺钉的几何参数 通通过过“螺螺钉钉大大径径d”的的列列表表选选择择螺螺钉钉的大径的大径d。通通过过“螺螺钉钉长长度度L”的的列列表表选选择择螺螺钉钉的的长度的的长度L。如如果果需需要要绘绘制制非非标标准准尺尺寸寸的的螺螺钉钉,打打开开“自自定定义义尺尺寸寸”切切换换开开关关。“螺螺钉钉大大径径d”和和“螺螺钉钉长长度度L”列列
9、表表从从可可用用改改变变为为禁禁用用的的状状态态,“自自定定义义大大径径d”和和“自自定定义义长长度度L”编编辑辑框框从从禁禁用用改改变变为为可可用用的的状状态态。通通过过“自自定定义义大大径径d”和和“自自定定义义长长度度L”编编辑辑框框输输入入自自定定义义的的螺螺钉钉尺寸。尺寸。螺螺钉钉的的定定位位点点和和旋旋转转角角既既可可以以在在相相应应的的编编辑辑框框输输入入数数值值,也也可可以以单单击击“光光标拾取标拾取”按钮,用鼠标在屏幕上确定。按钮,用鼠标在屏幕上确定。(5)确定绘制螺钉的其他参数)确定绘制螺钉的其他参数 因因为为螺螺钉钉的的中中心心线线可可能能与与部部件件图图上上已已有有的的
10、中中心心线线重重合合,所所以以提提供供了了“绘绘制制中中心心线线”切切换换开开关关。当当该该开开关关处处于于打打开开状状态时绘制中心线。态时绘制中心线。对对话话框框右右下下角角的的三三个个颜颜色色块块是是确确定定三三种种线线型型颜颜色色的的图图像像按按钮钮,单单击击之之后后弹弹出出AutoCAD标标准准颜颜色色对对话话框框,选选择择一一种种颜颜色色之之后后,相相应应的的图图像像按按钮钮的的颜颜色色随随之之改改变变。图图像像按按钮钮的的含含义义,在在其其左左侧侧用用text(文本)控件辅助说明。文本)控件辅助说明。(6)绘制螺钉)绘制螺钉 因因为为4种种螺螺钉钉只只是是头头部部不不同同,因因此此
11、编编写写了了4个个分分别别绘绘制制每每种种螺螺钉钉头头部部的的函函数数和和一一个个绘绘制制螺螺柱柱的的函函数数。前前者者调调用用后后者者,单单击击“OK”按按钮钮,即即可可完完成成整整个个螺螺钉钉的的绘制。绘制。13.1.2 定义对话框文件定义对话框文件【例【例13-1】定义绘制多种螺钉命令的对话框定义文件。定义绘制多种螺钉命令的对话框定义文件。/主对话框的名字是主对话框的名字是“main_dlg”,共有两个行共有两个行(row)main_dlg:dialoglabel=确定螺钉种类确定螺钉种类:;:row/第一行开始,该行有一个加框列和一个列表第一行开始,该行有一个加框列和一个列表:boxe
12、d_column/加框列开始,该列有两行,每行有两个图像按钮加框列开始,该列有两行,每行有两个图像按钮label=“选择螺钉种类选择螺钉种类:”;:row/列内第一行开始,该行有两个图像按钮列内第一行开始,该行有两个图像按钮:image_button/图像按钮图像按钮1color=-2;width=15;aspect_ratio=0.66;key=screw_0;:image_button/图像按钮图像按钮2color=-2;width=15;aspect_ratio=0.66;key=screw_1;/列内第一行结束列内第一行结束:row/加框列内第二行开始,该行有两个图像按钮加框列内第二行
13、开始,该行有两个图像按钮:image_button/图像按钮图像按钮3color=-2;width=15;aspect_ratio=0.66;key=screw_2;:image_button/图像按钮图像按钮4color=-2;width=15;aspect_ratio=0.66;key=screw_3;/加框列内第二行和加框列结束加框列内第二行和加框列结束:list_boxlabel=螺钉种类螺钉种类;/列表开始列表开始list=GB/T 65-2000nGB/T 68-2000nGB/T 5780-2000nGB/T 70.1-2000;/初值初值key=s_type;width=15;
14、fixed_width=true;/列表结束列表结束/第一行结束第一行结束:row/第二行开始,该行有两个按钮和两个间隔第二行开始,该行有两个按钮和两个间隔spacer_1;/第一个间隔第一个间隔:buttonlabel=继续继续;key=accept;is_default=true;fixed_width=true;/继续继续按钮按钮:buttonlabel=“退出退出”;key=cancel;fixed_width=true;/退出退出按钮按钮spacer_1;/第二个间隔第二个间隔/第二行结束,以上两个按钮的关键字只能是第二行结束,以上两个按钮的关键字只能是accept和和cancel。
15、/“main_dlg”主对话框定义结束主对话框定义结束/子对话框的名字是子对话框的名字是“children_children_dlgdlg”,共有两个行共有两个行(row)row)children_children_dlgdlg:dialog:dialog label=label=确定螺钉参数确定螺钉参数;:rowrow /第一行开始,该行有一个图像和两个列表第一行开始,该行有一个图像和两个列表:imageimagecolor=-2;color=-2;width=22;width=22;aspect_ratio=0.6;aspect_ratio=0.6;key=id_key=id_imgimg
16、;/图像图像:list_boxlist_boxlabel=“label=“螺钉大径螺钉大径&d”;d”;/大径列表开始大径列表开始key=s_d;key=s_d;edit_width=5;edit_width=5;height=8;height=8;list=M1.6nM2nM2.5nM3nM4nM5nM6nM8nM10nM12nM14nM16nM20list=M1.6nM2nM2.5nM3nM4nM5nM6nM8nM10nM12nM14nM16nM20;fixed_height=true;fixed_height=true;/大径列表结束大径列表结束:list_boxlist_boxlabe
17、l=label=螺钉长度螺钉长度&L;L;/长度列表开始长度列表开始key=s_l;key=s_l;edit_width=5;edit_width=5;height=8;height=8;list=2n2.5n3n4n5n6n8n10n12n(14)n16n20n25n30n35nlist=2n2.5n3n4n5n6n8n10n12n(14)n16n20n25n30n35n40n45n50n;40n45n50n;fixed_height=true;fixed_height=true;/长度列表开始长度列表开始/第一行结束第一行结束:rowrow/第二行开始,该行有两个列第二行开始,该行有两个列
18、:columncolumn/第一列开始,该列有两个加框列和一个行第一列开始,该列有两个加框列和一个行:boxed_columnboxed_columnlabel=label=定位点定位点;/加框列,有两个编辑框和一个按钮加框列,有两个编辑框和一个按钮:edit_boxedit_boxlabel=“label=“定位点定位点&x x坐标坐标:”;:”;/定位点定位点x x编辑框编辑框key=p_x;key=p_x;edit_width=8;edit_width=8;value=150;value=150;:edit_boxedit_boxlabel=“label=“定位点定位点&y y坐标坐标:
19、”;:”;/定位点定位点y y编辑框编辑框key=p_y;key=p_y;edit_width=8;edit_width=8;value=100;value=100;:buttonbuttonlabel=“label=“光标拾取光标拾取”;”;/光标拾取按钮光标拾取按钮key=p_p;key=p_p;:boxed_columnboxed_columnlabel=label=旋转角旋转角;/加框列,有一个编辑框和一个按钮加框列,有一个编辑框和一个按钮:edit_boxedit_boxlabel=“&Angle:”;label=“&Angle:”;/旋转角旋转角alfalf编辑框编辑框key=ke
20、y=alfalf;edit_width=8;edit_width=8;value=0;value=0;:buttonbuttonlabel=label=光标拾取光标拾取;key=p_a;key=p_a;ok_cancelok_cancel;/“OK”/“OK”和和“Cancel”Cancel”按钮行按钮行/第一列结束第一列结束:columncolumn/第二列开始,该列有两个加框列第二列开始,该列有两个加框列:boxed_columnboxed_column/第一个加框列,该列有一个切换开关和两个编辑框第一个加框列,该列有一个切换开关和两个编辑框:toggletogglelabel=label
21、=自定义尺寸自定义尺寸;/切换开关切换开关key=user_dim;key=user_dim;value=0;value=0;:edit_boxedit_boxlabel=label=自定义大径自定义大径&d:;d:;key=user_d;key=user_d;edit_width=8;edit_width=8;value=10;value=10;:edit_boxedit_boxlabel=label=自定义长度自定义长度&L:;L:;key=user_l;key=user_l;edit_width=8;edit_width=8;value=50;value=50;:boxed_column
22、boxed_column/第二个加框列,该列有一个切换开关和三个行第二个加框列,该列有一个切换开关和三个行:toggletogglelabel=label=绘制中心线绘制中心线;/切换开关切换开关key=key=cenlinecenline;value=1;value=1;:rowrow/加框列内第一行,有一个文本和一个图像按钮加框列内第一行,有一个文本和一个图像按钮:texttextvalue=value=中心线颜色:中心线颜色:;:image_buttonimage_buttoncolor=3;color=3;height=2;height=2;key=key=ccolorccolor;:
23、rowrow/加框列内第二行加框列内第二行:texttextvalue=value=细实线颜色:细实线颜色:;:image_buttonimage_buttoncolor=4;height=2;key=color=4;height=2;key=tcolortcolor;:rowrow/加框列内第三行加框列内第三行:texttextvalue=value=粗实线颜色:粗实线颜色:;:image_buttonimage_buttoncolor=5;height=2;key=color=5;height=2;key=scolorscolor;/第二个加框列结束第二个加框列结束/第二列结束第二列结束
24、/第二行结束第二行结束/子对话框子对话框”children_children_dlgdlg”结束结束/对话框文件结束对话框文件结束13.1.3 定义定义AutoLISP程序源文件程序源文件 1.函数说明函数说明 (1)screw:绘制螺钉主函数,定义名字为绘制螺钉主函数,定义名字为screw的的AutoCAD命令。命令。(2)initdlg1:初始化主对话框函数。初始化主对话框函数。(3)initdlg2:初始化子对话框函数,螺钉种类初始化子对话框函数,螺钉种类s_t是该函数的参数。是该函数的参数。(4)f_img:初初始始化化图图像像函函数数,将将幻幻灯灯片片显显示示到到图图像像上上。图图像
25、像的的关关键键字字key和包括路径的幻灯片文件名是该函数的参数。和包括路径的幻灯片文件名是该函数的参数。(5)c_c:获取获取AutoCAD标准颜色函数标准颜色函数 (6)c_img:初初始始化化颜颜色色图图像像按按钮钮函函数数,设设置置图图像像按按钮钮的的颜颜色色。图图像像按按钮关键字钮关键字key和颜色和颜色color是该函数的参数。是该函数的参数。(7)f_stype:螺螺钉钉种种类类列列表表的的动动作作函函数数,选选择择列列表表的的某某一一项项时时,相相应应的的图像按钮同时被选中。图像按钮同时被选中。(8)f_user:自自定定义义尺尺寸寸切切换换开开关关的的动动作作函函数数,若若该该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Autolisp 综合实例 综合 实例
限制150内