清华大学CAD二次开发电子教案第13章

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

} //“main_dlg”主对话框定义结束
//子对话框的名字是“children_dlg”,共有两个行(row)
children_dlg:dialog{
label="确定螺钉参数"; :row{ //第一行开始,该行有一个图像和两个列表 :image{color=-2; width=22; aspect_ratio=0.6; key="id_img";}//图像 :list_box{label = “螺钉大径&d”; //大径列表开始 key = "s_d"; edit_width =5; height=8; list="M1.6\nM2\nM2.5\nM3\nM4\nM5\nM6\nM8\nM10\nM12\nM14\nM16\nM20";
:button{label = "光标拾取<"; key = "p_a";}} ok_cancel;//“OK”和“Cancel”按钮行 }//第一列结束 :column{//第二列开始,该列有两个加框列 :boxed_column{//第一个加框列,该列有一个切换开关和两个编辑框
:toggle{label="自定义尺寸";//切换开关
列表处于禁用状态,此时在自定义尺寸的编辑框输入数据,即可绘制出非标 准的螺钉。 实例二是定义范成法加工齿轮的命令。调用该命令即可仿真演示范成法加 工齿轮的过程,逼真地演示了生成渐开线齿形的原理。该实例利用图元名作 为选择图形对象的手段,利用面域作为加工的刀具和对象,利用布尔差运算 完成了齿轮的加工。在调用命令的过程中,被加工齿轮的模数、压力角从下 拉列表中选择,齿数、变位系利用具有互动关系的编辑框和滑动条输入,通 过互鎻按钮确定齿廓精度。齿轮加工完毕,显示其几何参数,并可以将其参 数输入到指定的文件。
(6)绘制螺钉
因为4种螺钉只是头部不同,因此编 写了4个分别绘制每种螺钉头部的函数 和一个绘制螺柱的函数。前者调用后者, 单击“OK”按钮,即可完成整个螺钉的 绘制。
13.1.2 定义对话框文件
【例13-1】 定义绘制多种螺钉命令的对话框定义文件。
//主对话框的名字是“main_dlg”,共有两个行(row)
fixed_height=true;}//大径列表结束
:list_box{label = "螺钉长度&L"; //长度列表开始 key = "s_l";
edit_width =5;
height=8; list="2\n2.5\n3\n4\n5\n6\n8\n10\n12\n(14)\n16\n\20\n\25\n30\n35\n\ 40\n45\n50\n"; fixed_height=true;}//长度列表开始 }//第一行结束 :row{//第二行开始,该行有两个列 :column{//第一列开始,该列有两个加框列和一个行
key="user_dim"; value="0";}
:edit_box{label = "自定义大径&d:";
key = "user_d"; edit_width =8; value="10";}
:edit_box{label = "自定义长度&L:";
key = "user_l"; edit_width =8;
width=15;
aspect_ratio=0.66; key="screw_0";} :image_button{ //图像按钮2
color=-2;
width=15;
aspect_ratio=0.66;
key="screw_1";} }//列内第一行结束 :row{ //加框列内第二行开始,该行有两个图像按钮 :image_button{//图像按钮3
} //第二行结束
}//子对话框” children_dlg”结束
//对话框文件结束
13.1.3 定义AutoLISP程序源文件 1. 函数说明
(1) screw:绘制螺钉主函数,定义名字为screw的AutoCAD命令。 (2)initdlg1:初始化主对话框函数。 (3)initdlg2:初始化子对话框函数,螺钉种类s_t是该函数的参数。 (4)f_img:初始化图像函数,将幻灯片显示到图像上。图像的关键字 key和包括路径的幻灯片文件名是该函数的参数。 (5)c_c:获取AutoCAD标准颜色函数 (6)c_img:初始化颜色图像按钮函数,设置图像按钮的颜色。图像按 钮关键字key和颜色color是该函数的参数。
图13-2确定螺钉参数对话框
(4)确定螺钉的几何参数 通过“螺钉大径d”的列表选择螺钉 的大径d。 通过“螺钉长度L”的列表选择螺钉 的的长度L。 如果需要绘制非标准尺寸的螺钉, 打开“自定义尺寸”切换开关。“螺 钉大径d”和“螺钉长度L”列表从可用 改变为禁用的状态,“自定义大径d” 和“自定义长度L”编辑框从禁用改变 为可用的状态。通过“自定义大径d” 和“自定义长度L”编辑框输入自定义 的螺钉尺寸。 螺钉的定位点和旋转角既可以在相 应的编辑框输入数值,也可以单击 “光标拾取<”按钮,用鼠标在屏幕上 确定。
13 .1 定义绘制多种螺钉的命令
螺钉是最常用的标准件,它的结构、尺寸参数在国家标准中有详细的规 定。螺钉是由标准件厂专门生产的,一般的厂家只是选用螺钉。因此只有在 绘制部件图时才绘制螺钉。 传统的手工绘制螺钉的步骤是:
① 根据具体的应用场合确定螺钉的种类,初步计算所需螺钉的大径和长度;
② 查阅机械零件设计手册,确定螺钉的大径、长度和其他有关结构的尺寸; ③ 根据指定的位置和方向绘制螺钉(通常是外形图)。 在CAD环境下,计算机提供螺钉的种类和标准数据供设计人员选择,设计 人员只需确定螺钉的位置和方向,其余的工作,主要是繁琐的绘图由计算机
value="50";}}
:boxed_column{//第二个加框列,该列有一个切换开关和三个行 :toggle{label="绘制中心线";//切换开关
key="cenline";
value=1;} :row{//加框列内第一行,有一个文本和一个图像按钮
:text{value="中心线颜色:";}
(5)确定绘制螺钉的其他参数 因为螺钉的中心线可能与部件图上已 有的中心线重合,所以提供了“绘制中 心线”切换开关。当该开关处于打开状 态时绘制中心线。 对话框右下角的三个颜色块是确定三 种线型颜色的图像按钮,单击之后弹出 AutoCAD标准颜色对话框,选择一种颜 色之后,相应的图像按钮的颜色随之改 变。图像按钮的含义,在其左侧用text (文本)控件辅助说明。
:image_button{color=3; height=来自百度文库; key="ccolor";}}
:row{//加框列内第二行
:text{value="细实线颜色:";} :image_button{color=4;height=2;key="tcolor";}}
:row{//加框列内第三行
:text{value="粗实线颜色:";} :image_button{color=5;height=2;key="scolor";}} } //第二个加框列结束 }//第二列结束
color=-2;width=15;aspect_ratio=0.66;key="screw_2";}
:image_button{//图像按钮4 color=-2;
width=15;
aspect_ratio=0.66; key="screw_3";}
}}//加框列内第二行和加框列结束
:list_box{label = "螺钉种类"; //列表开始 list="GB/T 65-2000\nGB/T 68-2000\nGB/T 5780-2000\nGB/T 70.1-2000";//初值 key = "s_type"; width=15; fixed_width=true;}//列表结束 } //第一行结束
第13章 综合应用实例
本章介绍两个以对话框设计为主的两个综合应用实例。
实例一是定义绘制多种螺钉的命令。该实例建立了互动关系的图像按钮和 列表,供用户直观地选择螺钉种类;通过“自定义尺寸”切换开关控制一些 控件的状态,若该切换开关关闭,表示绘制标准螺钉,标准螺钉的数据只需
在列表中选择,自定义尺寸的编辑框处于禁用状态;反之,螺钉的标准数据
(7)f_stype:螺钉种类列表的动作函数,选择列表的某一项时,相应的 图像按钮同时被选中。
(8)f_user:自定义尺寸切换开关的动作函数,若该切换开关为开,禁 用标准尺寸列表,允许用户输入任意尺寸,否则,只能从标准尺寸表选择参 数。切换开关的状态user_md是该函数的参数。
(9)getdata:获取所有控件当前值的函数。 (10)drarscrew:绘制螺钉函数。螺钉种类s_t、大径d、长度l、定位点p0、 旋转角alf、中心线状态cen_md、中心线颜色cc、细实线颜色tc、粗实线颜色 sc是该函数的参数。 (11)drawwhorl:绘制螺钉本体(不包括头部)的函数。螺钉种类s_t、定 位点p0、大径d、长度l、旋转角alf、中心线状态cen_md、中心线颜色cc、细 实线颜色tc、粗实线颜色sc是该函数的参数。
:row{ //第二行开始,该行有两个按钮和两个间隔 spacer_1; //第一个间隔 :button{label="继续";
key="accept";
is_default=true; fixed_width=true;} //"继续"按钮
:button{label=“退出”;
key="cancel"; fixed_width=true;} //"退出"按钮 spacer_1; //第二个间隔 }//第二行结束,以上两个按钮的关键字只能是"accept"和"cancel"。
2. 使用说明
(1)安装和加载 从电子教案中找出上述文件并复制到指定的路径,加载13-1.lsp。 (2)调用绘制螺钉的命令 种类确定螺钉的种类
在“command:”提示下,输入screw命令,弹出图13-1所示确定螺钉种类 对话框。
图13-1确定螺钉种类对话框
(3)确定螺钉的种类 图13-1所示对话框提供了互动的图像按钮和螺钉种类的列表,通过该对话框 选择一种螺钉,单击“继续”按钮,弹出图13-2所示确定螺钉参数的对话框。
去完成。
13.1.1 文件和使用说明 1. 文件说明
本程序由以下三种类型的10个文件组成。
(1)对话框定义文件 文件名为13-1.dcl,存放在d:example\dcl\路径下。该文件定义了确定螺钉 种类的主对话框main_dlg和确定螺钉参数的子对话框children_dlg。 (2)AutoLISP源文件 文件名为13-1.lsp,存放在自定的路径下。该文件是驱动对话框并绘制各种 螺钉的AutoLISP源程序。 (3)幻灯片文件 显示在主对话框的幻灯片文件有:13-1scr0.sld、13-1scr1.sld、13-1scr2.sld 和 13-1scr3.sld 。 显 示 在 子 对 话 框 的 幻 灯 片 文 件 有 : 13-1screw0.sld 、 131screw1.sld、13-1screw2.sld和13-1screw3.sld。它们存放在d:example\sld\路 径下。
:boxed_column{label="定位点";//加框列,有两个编辑框和一个按钮
:edit_box{label = “定位点&x坐标:”;//定位点x编辑框
key = "p_x";
edit_width =8; value="150";}
:edit_box{label = “定位点&y坐标:”;//定位点y编辑框
key = "p_y"; edit_width =8;
value="100";}
:button{label = “光标拾取<”;//光标拾取按钮 key = "p_p";}}
:boxed_column{label="旋转角";//加框列,有一个编辑框和一个按钮
:edit_box{label = “&Angle:”;//旋转角alf编辑框 key = "alf"; edit_width =8; value="0";}
main_dlg:dialog{
label="确定螺钉种类:"; :row{ //第一行开始,该行有一个加框列和一个列表 :boxed_column{ //加框列开始,该列有两行,每行有两个图像按钮 label=“选择螺钉种类:”; :row{ //列内第一行开始,该行有两个图像按钮 :image_button{ //图像按钮1 color=-2;
相关文档
最新文档