计算机辅助设计二次开发案例教程ch08.ppt_第1页
计算机辅助设计二次开发案例教程ch08.ppt_第2页
计算机辅助设计二次开发案例教程ch08.ppt_第3页
计算机辅助设计二次开发案例教程ch08.ppt_第4页
计算机辅助设计二次开发案例教程ch08.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第8章 开发用户菜单 谢安俊 Email: 转载请注明 主要内容 用户菜单的介绍 1 自定义菜单文件 2 3 4 子菜单 装载/卸载菜单文件 5 快捷键 2 主要内容 特定帮助菜单 6 图像控件菜单 7 8 9 综合案例 工具栏菜单 10 小结 3 教学目标 本章通过实例分析引入菜单文件设计 的内容,掌握常用菜单文件的设计方法,装 载/卸载菜单、切换下拉菜单。 教学要求 利用AutoCAD提供的菜单开发工具, 会编写下拉菜单、编写快捷菜单、切换下拉 菜单、定义快捷键、编写访问在线帮助的菜 单、定制工具栏和图像菜单,熟练使用 MENU/MENULOAD(装载/卸载)菜单文件,掌 握菜单文件的调试技巧。 第7章 Visual LISP程序设计 4 8.1 用户菜单的介绍 AutoCAD菜单为二次开发AutoCAD应 用程 序提供了一个强大的开发工具。 AutoCAD软件包带有一个名为 acad.mnu 的标准菜单文件(在文件夹SUPPORT中) 。当 启动AutoCAD时,菜单文件 acad.mnu 自动 被装载并显示在AutoCAD的用户界面中 。 8.1.1 初步认识和使用菜单文件 acad.mnu的部分源程序如下: 5 *MENUGROUP=ACAD / Begin AutoCAD Digitizer Button Menus *BUTTONS1 $M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,5),GRIP_),$P0=A CAD.GRIPS + $P0=*); $P0=SNAP $p0=* CC B O . / Begin AutoCAD Pull-down Menus *POP1 *FILE ID_MnFile 文件(C 19 OFFSETCCOFFSET 20 EXTENDCCEXTEND 21 - 22 EXITC 23 *POP3 24 显示 25 REDRAWREDRAW 26 REGENCCREGEN 27 - 28 ZOOM-ALLCCZOOM A 29 ZOOM-windowZOOM W 30 ZOOM-ALLZOOM PREV 31 - 32 EXITC 33 *POP4 34 实用命令 35 SAVECCSAVE 36 QUITCCQUIT 37 EXITC 10 8.2 自定义菜单文件 程序说明如下: 该菜单有4个不同的命令,分成了4个区域 POP1、POP2、POP3和POP4,每一个区域都 有一个标签。 第1行,* * *MENUGROUP=MYMENU,菜单 文件名为MYMENU。 第2行,POPL是第一个下拉菜单的区域标签。 AutoCAD菜单中的所有区域标签,都是以3个星 号(* * *)开头的,后面跟的是区域标签名称,如 POP1。 第3行,在绘图这个菜单中,绘图是菜单标签 ,当光标移到这个菜单栏区域内,它就显示菜 单。 11 / 我的第一个菜单文件 MyMENU.mnu 1 *MENUGROUP=MYMENU 2 *POP1 3 绘图 4 LINE*CCLINE 5 PLINECCPLINE 6 - 7 CIR-C,RCCCIRCLE 8 CIR-C,DCCCIRCLED 9 CIR-2PCCCIRCLE 2P 10 CIR-3PCCCIRCLE 2P 11 - 12 ExitC 13*POP2 14 编辑 15 ERASE*CCERASE 16 MOVECCMOVE 17 COPYCCCOPY / 我的第一个菜单文件 MyMENU.mnu 1 *MENUGROUP=MYMENU 2 *POP1 3 空行(关闭 POP1) 4 LINE*CCLINE 5 PLINECCPLINE 6 - 7 CIR-C,RCCCIRCLE 8 CIR-C,DCCCIRCLED 9 CIR-2PCCCIRCLE 2P 10 CIR-3PCCCIRCLE 2P 11 - 12 ExitC *POP2 14 编辑 15 ERASE*CCERASE 16 MOVECCMOVE 17 COPYCCCOPY 用空行代替第3行程序绘图,菜单中的“绘图”(POP1)将无效; 第二个菜单“编辑”(POP2)将在它的位置上显示。 12 8.2 自定义菜单文件 分组菜单线条 / 我的第一个菜单文件 MyMENU.mnu 1 *MENUGROUP=MYMENU 2 *POP1 3 绘图 4 LINE*CCLINE 5 PLINECCPLINE 6 - 7 CIR-C,RCCCIRCLE 8 CIR-C,DCCCIRCLED 9 CIR-2PCCCIRCLE 2P 10 CIR-3PCCCIRCLE 2P 11 - 12 ExitC 13*POP2 14 编辑 15 ERASE*CCERASE 16 在任一个菜单区域中,为了区 分两组命令,可以使用由两个 或两个以上连字号(-)组成的 线条。 13 8.3 装载/卸载菜单文件 8.3.1 全局装载/卸载菜单文件 当进入AutoCAD图形编辑器时, AutoCAD将自动装载acad.mnu文件。但也可以 使用AutoCAD的MENU命令全局装载自定义的 菜单文件,而原来的菜单文件就自动被卸载了 。 输入MENU命令,打开“选择菜单 文件”对话框,如图所示。选择要装载的 菜单文件,然后单击“打开”按钮。也可以 在命令行中装载指定的菜单文件。 14 8.3 装载/卸载菜单文件 在装载菜单文件的过程中,不希望出现 对话框,也可以通过设置系统变量来强制 关闭对话框,按以下命令执行。 系统变量FILEDIA控制对话框的显示, “1”表示激活对话框显示;“0”表示强制关 闭对话框。 Command: FILEDIA Enter new value for FILEDIA : 0 15 8.3.2 装载/卸载局部菜单文件 MENULOAD命令是从基本菜单中装载/卸载局 部菜单,从而从菜单栏添加/删除菜单。 16 8.3.2 装载/卸载局部菜单文件 (1) 当装载一菜单文件(MNU文件)时,AutoCAD编译 菜单文件,并生成MNC和MNR文件。MNC文件是 一个编译的菜单文件。MNR文件包含菜单中使用的 位图。 (2) 当装载一菜单文件时, AutoCAD也创建一个 MNS文件。这是一个ASCII文件,跟最初装载的菜 单文件MNU文件是一样的。每次改变该文件的内容 时,AutoCAD就改变MNS文件。 17 8.4 子 菜 单 8.4.1 子菜单定义 子菜单的定义由两个星号及后面跟着的 子菜单名称组成。每一个菜单可以有任何数目 的子菜单,而每一个子菜单必须有一个唯一的 名称。 18 8.4 子 菜 单 8.4.2 子菜单索引 子菜单索引是用来引用或装载子菜单的。它 由一个($)符号及后面跟着的指定菜单区域的字 母组成。菜单区域后面跟着(=)字符以及用户想 要激活的子菜单的名称。子菜单的名称不应包 括(*)。 / AutoCAD Screen Menus *SCREEN *S AutoCAD CCP(ai_rootmenus) P * * * * $S=ACAD.OSNAP 文件 $Sc=ACAD.01_FILE 编辑 $S=ACAD.02_EDIT 视图 1 $S=ACAD.03_VIEW1 视图 2 $S=ACAD.04_VIEW2 / AutoCAD Screen SubMenus *01_FILE 新建 CC_new 打开 CC_open 保存 CC_qsave 19 8.4 子 菜 单 8.4.3 子菜单显示 当在菜单中装载了一个子菜单时,子菜单中的 命令不会自动显示在屏幕上。只有用特殊的命令$Pn = * 时,才能使子菜单中的命令显示在屏幕上。其中Pn指定 菜单区域的字母,其中n表示指定菜单区域的数目。 20 8.4 子 菜 单 8.4.4 下拉菜单和快捷菜单中的层叠子菜单 在下拉菜单和快捷菜单中使用层叠子菜单,AutoCAD 提供 了一些特殊的字符。“ - ”定义了一个层叠子菜单,“曲面( 5 ID_2 _Button(“阀门_2“, “val_2.bmp“, “ICON_16_BLANK“)CC-insert 阀门_2; 6 ID_3 _Button(“阀门_3“, “val_3.bmp“, “ICON_16_BLANK“)CC-insert 阀门_3; 7 ID_4 _Button(“阀门_4“, “val_4.bmp“, “ICON_16_BLANK“)CC-insert 阀门_4; 8 ID_5 _Button(“阀门_5“, “val_8.bmp“, “ICON_16_BLANK“)CC-insert 阀门_5; 9 ID_6 _Button(“阀门_6“, “val_6.bmp“, “ICON_16_BLANK“)CC-insert 阀门_6; 10 ID_7 _Button(“阀门_7“, “val_7.bmp“, “ICON_16_BLANK“)CC-insert 阀门_7; 11 ID_8 _Button(“阀门_8“, “val_8.bmp“, “ICON_16_BLANK“)CC-insert 阀门_8; 12 ID_14 _Button(“阀门_9“, “val_9.bmp“, “ICON_16_BLANK“)CC-insert 阀门_9; 13 ID_15 _Button(“阀门_10“, “val_10.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _10; 14 ID_18 _Button(“阀门_11“, “val_11.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _11; 15 ID_19 _Button(“阀门_12“, “val_12.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _12; 16 ID_20 _Button(“阀门_13“, “val_13.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _13; 17 ID_21 _Button(“阀门_14“, “val_14.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _14; 18 ID_23 _Button(“阀门_15“, “val_18.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _15; 19 ID_24 _Button(“阀门_16“, “val_16.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _16; 20 ID_25 _Button(“阀门_17“, “val_17.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _17; 21 ID_26 _Button(“阀门_18“, “val_18.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _18; 22 ID_27 _Button(“阀门_19“, “val_19.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _19; 23 ID_28 _Button(“阀门_20“, “val_20.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _20; 24 ID_29 _Button(“阀门_21“, “val_21.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _12; 25 ID_30 _Button(“阀门_22“, “val_22.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _22; 26 ID_31 _Button(“阀门_23“, “val_23.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _23; 27 ID_32 _Button(“阀门_24“, “val_24.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _24; 28 ID_33 _Button(“阀门_25“, “val_28.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _25; 29 ID_34 _Button(“阀门_26“, “val_26.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _26; 30 ID_35 _Button(“阀门_27“, “val_27.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _27; 31 ID_36 _Button(“阀门_28“, “val_28.bmp“, “ICON_16_BLANK“)CC-insert 阀门 _28; 37 8.8 工具栏菜单 程序简要说明如下: 第1行是工具栏的区域标签。 第2行是子菜单标签。 第3行即TAG1,ID_ 0是菜单项中的名称标识符; “阀门”是工具栏的名称;_Floating是工具栏在屏幕上 的定 位,表示浮动的;_Hide 显示状态,表示隐藏状态; 195,236是工具栏左端的坐标;1表示工具栏只有 一列。 第4行即TAG2,ID_ 1是菜单项中的名称标识符; “阀门_1”是按钮或控件的名称;val_1.bmp是按钮或 控件的 图像文件名称;ICON_16_BLANK表示1616位图; CC-insert阀门_1是命令宏,执行插入文件名为 阀 门_1.dwg的图形块。 38 8.8 工具栏菜单 8.8.2 定制用户的工具栏(val_1.bmp至 val_28.bmp 位图文件) 选择“视图”|“工具栏”命令,则打开“工具栏”对话框。或在 AutoCAD的命令行中输入TOOLBAR命令来打开对话框。 (2) 在“工具栏”对话框右边的“菜单组”列表框中选择 mycad选 项,然后再单击“新建”按钮,如下图所示。 39 8.8 工具栏菜单 (3) 在“工具栏名称”文本框中输入“阀门”,然后 单击 “确定”按钮退出对话框。这时,工具栏对话框左 边的 “工具栏”列表框中增加了新建的“阀门”选项,屏 幕上 出现一小的工具栏图例符号,如下图所示。 40 8.8 工具栏菜单 (4) 接着选择对话框中的“命令”选项卡,出现两个新的 列表框:左边是“分类”,右边是“命令”。在“分类”列表框 中选择“用户定义”选项,然后将右边的“命令”列表框中的 “用户定义按钮”拖入新建的“阀门”工具栏,如下图所示。 图8.18 将用户定义按钮拖入新建的“阀门”工具栏 41 8.8 工具栏菜单 (5) 单击图8.18中新工具栏中的正方形框,就 会在“自定义”对话框中,选择“按钮特性”选项卡, 如图8.19(a)所示,单击“编辑”按钮,出现“按钮编 辑器”对话框,如图8.19(b)所示。按钮编辑器中 提供各种工具来绘制和编辑图形。 (a) “按钮特性”选项卡 (b) “按钮编辑器”对话框 图8.19 编辑按钮特性 42 8.8 工具栏菜单 选中“栅格”复选框,然后用画笔和画线、圆及橡皮 擦按钮完成阀门_1的图形,如下图所示。 (6) 单击“另存为”按钮,将图像文件保存在指定的目录下, 然后单击“关闭”按钮,退出。 43 8.8 工具栏菜单 (7) 在下图中左下方“与此按钮关联的宏”文本框中输入 命令 宏 “-insert 阀门_1;”然后单击“应用”按钮,画好的阀 门图例 符号就自动显示在阀门工具栏中。重复步骤(4)到步骤 (7)完 成工具栏中所有的图像命令的制作。 44 8.9 综 合 案 例 1. 案例说明 工具栏菜单是化工工艺流程CAD软件的主要用户界面 。化工流程设计包括了阀门、过滤器、泵、塔、加热炉 、罐和容器、压缩机、转化器、管线、仪表等多种专业 的图例符号。 本章的综合案例是在例8-2的基础上设计一个弹出新按 钮“阀门”,通过该按钮能使阀门的工具栏图像命令显示 在屏幕上,如图8.22所示。 图8.22 阀门_1 工具栏菜单设计 45 8.9 综 合 案 例 2. “阀门”工具栏菜单的设计过程 按题目要求只需要在例8-2的基础上加入新的 工具栏 子菜单,定义成专业图库,采用TAG1和TAG3 来定 制。实现这一功能的程序如下。 1 *TOOLBARS 2 *专业图库 3 ID_1 _Toolbar(“专业图库“, _Left, _Show, 0, 0, 1) 4 ID_262 _Flyout(“阀门“, valves.bmp, ICON

温馨提示

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

评论

0/150

提交评论