• AUTOCAD Study


    AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD 2000或2002,最新版本是AutoCAD 2004,其二次开发语言及工具也在不断地涌现,本文做了一些介绍。

    1 AutoLISP

    AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。

    3 ADS

    ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。

    4 ObjectARX

    ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(Auto CAD数据库)和AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(Auto CAD实时扩展)、AcGi(Auto CAD图形接口)、AcGe(Auto CAD几何库)、ADSRX(Auto CAD开发系统实时扩展)。ObjectARX 还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。

    5 VisualLISP

    VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD 2000中默认的代码编辑工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于Auto CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。

    6 VBA

    VBA 即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

    菜单文件的类型、结构和使用
    34.1.1 菜单文件简介
        菜单文件用于定义菜单,AutoCAD系统中所使用的菜单均保存在相应的菜单文件中。AutoCAD中的菜单是人机交互的主要方式,并且具有几种不同的形式,即菜单区域。在菜单文件中对以下几种菜单区域的功能和外观进行了定义:
        (1) 定点设备按钮菜单
        (2) 下拉菜单和快捷菜单
        (3) 工具栏
        (4) 图像控件菜单
        (5) 屏幕菜单
        (6) 数字化仪菜单
        (7) 帮助字符串和工具栏提示
        (8) 键盘加速键
        在AutoCAD启动时,系统会自动装入菜单文件ACAD.MNC(或ACAD.MNS、ACAD.MNU)。用户可以根据需要通过修改菜单文件来定制菜单,也可以创建自定义的菜单文件。
    34.1.2 菜单文件的类型
        在AutoCAD 2002系统中,可以看到如下几种类型的菜单文件,具体内容见表34-1。
    表34-1 菜单文件类型说明

    文件类型

    说明

    *.MNU

    样板菜单文件(文本文件),记录着菜单的功能和结构。

    *.MNC

    编译后的菜单文件(二进制文件),可被AutoCAD直接使用,包含定义菜单功能和外观的命令字符串和菜单语法。

    *.MNR

    菜单资源文件(二进制文件),包含由菜单使用的位图(.BMP)。

    *.MNS

    菜单源文件(文本文件,由AutoCAD生成)

    *.MNT

    菜单资源文件。在*.MNR文件无效(例如,只读)时生成该文件。

    *.MNL

    与菜单配套的 AutoLISP 程序。这些文件包含由菜单文件使用的 AutoLISP 表达式。当加载同名的菜单文件时,这些文件也载入内存。

        MNS文件是ASCII文件,最初与MNU文件相同。用户在AutoCAD界面中修改菜单文件的内容后(如修改菜单栏),MNS文件也被修改。MNS文件不能直接为AutoCAD使用,而是需编辑为同名的MNC文件。
        每当AutoCAD编译一个MNC文件后,便会生成一个菜单源文件(MNR文件),该文件包含菜单中要用到的位图。
        生成MNS文件后,如果修改了MNU文件,必须重新加载MNU文件以便AutoCAD生成新的MNS和MNC文件,确认所做的修改。
        用户可直接对其中文本格式的菜单文件进行编辑,以实现对菜单的定制。当然,前提是用户应对菜单文件的结构和格式有着充分的了解。
    34.1.3 菜单文件的结构
        AutoCAD采用层次结构来管理菜单文件,首先菜单文件按其功能的不同分为几个部分,每个部分中都包含菜单项,它为与菜单选项相关的外观和操作提供指示。菜单文件的各部分用部分标签来标识,其格式为:
        ***section_name
        表34-2中列出了各个部分标签及其说明。
    表34-2 部分标签及说明

    部分标签

    说明

    ***MENUGROUP

    定义菜单文件组

    ***BUTTONSn

    定义定点设备按钮功能

    ***AUXn

    定义系统定点设备菜单

    ***POPn

    定义下拉菜单和快捷菜单

    ***TOOLBARS

    定义工具栏按钮功能

    ***IMAGE

    定义图像控件菜单

    ***SCREEN

    定义屏幕菜单

    ***TABLETn

    定义数字化仪菜单

    ***HELPSTRINGS

    定义菜单项和工具栏按钮的提示信息

    ***ACCELERATORS

    定义加速键

        菜单文件中各部分中的第二层结构用**标识,第二层结构下则为菜单项的具体定义。
        菜单文件中的注释行以“//”为标识,菜单编译器将忽略“//”开始的行。
        注意 菜单文件不要求包括所有的菜单部分,而只需要适用于应用程序的菜单部分。因此用户在编写菜单文件时,可以将菜单划分为几个小菜单文件,以便按需加载或卸载,使开发和维护工作更加容易。
    34.1.4 菜单文件的加载
        1. 基本菜单与局部菜单
        在AutoCAD中加载菜单文件时,分为使用基本菜单和局部菜单的两种情况。基本菜单是菜单界面的基础,如果用户将某个菜单文件作为基本菜单加载,则系统自动取消原有的菜单文件,即新的基本菜单将替换原来的菜单。
        加载基本菜单的方法为:
        命令行:menu
        调用该命令后,系统弹出“Select Menu File(选择菜单文件)”对话框,提示用户选择要加载的菜单文件。
        局部菜单可以与基本菜单一起使用,即用户加载局部菜单时,原有菜单并不发生变化。使用局部菜单可使用户在菜单栏上增加或重新调整菜单。加载局部菜单后,该菜单所定义的全部菜单区域都被载入AutoCAD 且都可以使用,但下拉菜单并不直接显示出来,需要用户使用菜单命令,用AutoLISP将它们插入到菜单栏中。
        加载局部菜单的方法为:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menu…(菜单)】
        命令行:menuload
        调用该命令后,将弹出“Menu Customization(菜单自定义)”对话框,如图34-1所示。

        在该对话框中,用户单击Browse...按钮,弹出“Select Menu File(选择菜单文件)”对话框,选择需加载的菜单文件并返回。这时,“File Name(文件名称)”编辑框中将显示出将被加载的菜单文件名称,用户单击Load按钮后,该文件的组名将出现在“Menu Groups(菜单组)”列表框里,即该菜单文件被加载到系统中。
        与基本菜单不同的是,局部菜单还可以根据需要进行卸载。卸载局部菜单不会影响到其他未卸载菜单的使用。
        卸载局部菜单的方法为:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menu…(菜单)】
        命令行:menuunload
        调用该命令后,将弹出与图34-1完全相同的“Menu Customization(菜单自定义)”对话框。用户在“Menu Groups(菜单组)”列表框里选择需卸载的菜单项,然后单击Unload按钮即可进行卸载。
        当用户退出AutoCAD时,AutoCAD记录基本菜单的名称、最多24个局部菜单(由它们的菜单组定义)的名称和最多24个当前菜单栏中存在的菜单,并在下一次启动时加载该菜单文件。这确保AutoCAD界面在各任务期间保持不变。
        2. 菜单文件加载过程
        如果用户使用对话框来选择需要加载的菜单文件,系统将根据用户所选择的菜单文件类型进行如下操作:
        (1) 如果用户选择了MNC文件,则系统直接加载它。
        (2) 如果用户选择了MNS文件,则系统在同一目录查找与其同名的MNC文件。如果找到该文件就加载它,否则系统将编译MNS文件来生成MNC文件并加载它。
        (3) 如果用户选择的是MNU文件,则系统将其编译成MNC和MNS文件,并加载MNC文件。
        (4) 无论采用上述何种方式,系统都在加载MNC文件后,查找相应的LISP菜单文件(MNL文件)。如果找到该文件,执行文件中的AutoLISP表达式。
        当系统变量FILEDIA设为0时,用户需要在命令行中指定要加载的菜单文件。这种情况下AutoCAD将按下面的顺序查找、加载菜单文件:
        (1) 根据搜索路径搜索源菜单文件(MNS文件)
        如果找到了MNS文件,AutoCAD在同一目录查找编译后的同名菜单文件(MNC文件)。如果找到同名的MNC文件,而且该文件的日期比相应的MNS文件要晚,则AutoCAD加载该文件。否则AutoCAD编译MNS文件,在同一目录中生成新的MNC文件,并加载它。
        如果没有找到MNS文件,AutoCAD根据搜索路径查找编译后的同名菜单文件(MNC文件)。如果找到该文件,加载它。
        如果既没有找到MNS文件,也没有找到MNC文件,AutoCAD将根据搜索路径查找同名的菜单样板文件(MNU文件)。如果找到了文件,将其编译成MNC和MNS文件,加载MNC文件。
        如果没有找到上述任一文件,AutoCAD给出提示信息,并提示使用其他菜单文件名。
        (2) 加载MNC文件后,AutoCAD查找LISP菜单文件(MNL文件)。如果找到该文件,执行文件中的AutoLISP表达式。


    菜单定义详解
    34.2.1 菜单项语法
        菜单项由名称标记、标签和菜单宏组成(除了Image部分不允许名称标记)。一个菜单项通常占文件的一行,格式如下:
        name_tag label menu_macro
        其中各项说明如下:
        (1) name_tag:名称标记用于在菜单文件中唯一地标识一个菜单项,由字母和下划线“_”组成,放置在菜单项标签之前。
        (2) label:标签内容包含在方括号中,其格式和用法在每个菜单部分中都有所不同,具体定义详见下面对各菜单部分的介绍。
        (3) menu_macro:菜单宏由一系列特殊字符构成(见表34-3),用于定义一个命令及其参数系列。
    表34-3 菜单宏中使用的特殊字符

    字符

    说明

    ;

    产生 ENTER

    ^M

    产生 ENTER

    ^I

    产生 TAB

    SPACEBAR

    输入空格;菜单项中命令序列之间的空格等价于按 SPACEBAR

    \

    暂停以等候用户输入(不能用在加速键部分)

    _

    转换 AutoCAD 命令及其后的关键字

    +

    延续菜单宏到下一行(如果是最后一个字符)

    =*

    显示当前顶层的图像、下拉或快捷菜单

    *^C^C

    重复项的前缀

    $

    加载菜单部分或输入条件 DIESEL 宏表达式 ($M=) 的特殊字符

    ^B

    切换捕捉开或关 (CTRL+B)

    ^C

    取消命令 (ESC)

    ^D

    切换坐标显示开或关 (CTRL+D)

    ^E

    设置下一个等轴测平面 (CTRL+E)

    ^G

    切换栅格开或关 (CTRL+G)

    ^H

    产生退格

    ^O

    切换正交模式开或关 (CTRL+O)

    ^P

    切换 MENUECHO 开或关

    ^Q

    回显所有提示、状态列表和打印输入 (CTRL+Q)

    ^T

    打开或关闭数字化仪 (CTRL+T)

    ^V

    切换当前视口 (CTRL+V)

    ^Z

    禁止在菜单项末尾自动增加 SPACEBAR 的空字符

        例如,某菜单项定义如下:
        ID_New [&New... Ctrl+N]^C^C_new
        其中“ID_New”是名称标记;标签中的“&New... Ctrl+N”给出了在菜单中的显示内容;“^C^C_new”为菜单宏。
    34.2.2 菜单组
        菜单文件中的菜单组部分用“***MENUGROUP”标签进行标识,该标签定义了菜单组名,即将菜单文件的内容定义为某个组的成员。菜单组定义是一个字符串,最多可包括32个字母数字型的字符(不允许使用空格和标点符号)。例如,“acad.mns”文件中菜单组的定义为:
        ***MENUGROUP=ACAD
        使用菜单组的目的是在使用局部菜单时,将组中的项与其他项区分开来,以进行单独的加载或卸载。因此,该标签必须在使用名称标记机制的菜单部分之前使用。
        每个菜单都有自己的菜单组标签。但多个局部菜单可使用相同的名称标记。因此,名称标记只需在定义该标记的菜单文件中唯一。
    菜单组部分不包含菜单项。
    34.2.3 按钮和辅助菜单
        菜单文件中的按钮菜单部分用“***BUTTONSn”标签进行标识,辅助菜单部分用“***AUXn”标签进行标识。这两部分的格式是完全一样的。不同之处在于系统鼠标使用辅助菜单,而其他定点设备(比如,数字化仪或其他输入设备)则使用按钮菜单。所有对辅助菜单的引用都适用于按钮菜单:例如BUTTONS1菜单的功能与AUX1菜单的功能相同。
        用户可通过对系统鼠标的操作来调用相应的菜单,具体对应关系如表34-4所示。
    表34-4 按钮及相关的菜单部分

    键/按钮序列

    菜单部分

    单击按钮

    AUX1和BUTTONS1

    SHIFT+单击按钮

    AUX2和BUTTONS2

    CTRL+单击按钮

    AUX3和BUTTONS3

    CTRL+SHIFT+单击按钮

    AUX4和BUTTONS4

        注意 按钮和辅助部分仅在用作主菜单时有效,而在用作子菜单时被忽略。
    34.2.4 下拉菜单和快捷菜单
        下拉和快捷菜单都显示为级联菜单(也称为步进菜单或层次菜单)。因此,这些菜单无须交换菜单区域,即可进行逻辑分组。
        菜单文件中的下拉菜单部分用“***POP1”~“***POP499”标签进行标识;而快捷菜单部分用“***POP0”和“***POP500”~“***POP999”进行标识。其中,POP0菜单部分定义缺省的对象捕捉快捷菜单,POP500~POP999菜单部分用来定义上下文相关快捷菜单。
         每个菜单部分都可拥有一个或多个别名,这些别名由菜单部分标签后的**alias标签定义。AutoCAD通过别名(如**GRIPS)引用上下文菜单并在特定情况下使用它们。
        1. 菜单项的定义
        下拉菜单项的定义中,标签项包含了该菜单项的菜单栏标题,以及定义菜单和子菜单项。例如在ACAD.MNS文件中的下拉菜单的“**FILE”部分定义如下:
        ***POP1
        **FILE
        ID_MnFile [&File]
        ID_New [&New... Ctrl+N]^C^C_new
        ID_Open [&Open... Ctrl+O]^C^C_open
        ID_DWG_CLOSE [&Close]^C^C_close
        ID_PartialOp [$(if,$(eq,$(getvar,fullopen),0),,~)Partia&l Load]^C^C_partiaload
        [--]
        ID_Save [&Save Ctrl+S]^C^C_qsave
        ID_Saveas [Save &As...]^C^C_saveas
        ID_ETransmit [e&Transmit...]^C^C_etransmit
        ID_Publish [Publish to &Web...]^C^C_publishtoweb
        ID_Export [&Export...]^C^C_export
        [--]
        ID_PlotSetup [Pa&ge Setup...]^C^C_pagesetup
        ID_PlotMgr [Plotter &Manager...]^C^C_plottermanager
        ID_PlotStyMgr [Plot St&yle Manager...]^C^C_stylesmanager
        ID_Preview [Plot Pre&view]^C^C_preview
        ID_Print [&Plot... Ctrl+P]^C^C_plot
        [--]
        ID_MnDrawing [->Drawing &Utilities]
        ID_Audit [&Audit]^C^C_audit
        ID_Recover [&Recover...]^C^C_recover
        [--]
        ID_BupdateA [&Update Block Icons]^C^C_blockicon
        [--]
        ID_Purge [<-&Purge...]^C^C_purge
        ID_SendMail [Sen&d...]
        ID_Props [Drawing Propert&ies...]^C^C_dwgprops
        [--]
        ID_MRU [Drawing History]
        [--]
        ID_APP_EXIT [E&xit]^C^C_quit
        其中,在标签部分除了定义该菜单项的菜单栏标题外,还使用一些特殊字符来定义菜单的加速键、级联子菜单以及菜单项的显示控制等。这些特殊字符的作用详见表34-5。
    表34-5 特殊标签字符

    字符

    说明

    --

    菜单项分隔符(使用时,不能包括任何其他字符)。

    +

    延续宏到下一行(如果是最后一个字符)。

    ->

    指出该项具有子菜单。

    <-

    指出该项是子菜单中的最后一项。

    <-<-...

    指出子菜单中的最后一个下拉菜单项或快捷菜单项,并且结束父菜单。(每个<-结束一级父菜单。)

    $(

    如果作为第一个字符,则使下拉菜单或快捷菜单项标签求 DIESEL 字符串宏的值。

    ~

    指定该菜单项被禁用(变暗)。与该菜单项相关的任何命令都不会产生,并且不能访问它的任何子菜单。

    !.

    给该菜单项打上复选标记。

    &

    直接放在下拉菜单或快捷菜单标签中一个字符之前,把该字符指定为菜单的加速键。例如,S&ample 显示为Sample。

    /

    指定下拉菜单或快捷菜单标签的菜单加速键。例如,/aSample显示为“Sample”。

    \t

    指定其右边的文字在菜单的右侧显示。

        2. 菜单的引用
        可以用相对和绝对两种方法引用下拉菜单和快捷菜单。相对引用使用菜单组和名称标记,绝对引用使用菜单项在菜单结构中的绝对位置。建议使用前一种方法,因为该方法的动态特性使得不管菜单的当前状态如何,该菜单都能正确地发挥其功能。
        在菜单文件中,下拉菜单最多可包含999个菜单项,而光标菜单最多可包含499个菜单项。如果菜单文件中的菜单项超出了这些限制,AutoCAD将忽略多余的项。
    34.2.5 工具栏
        菜单文件中的工具栏部分用“***TOOLBARS”标签进行标识,该部分定义了工具栏的缺省布局和内容,以及每个菜单所定义工具栏的子菜单。
        子菜单定义用“**toolbar-name”进行标识,并可定义别名。引用工具栏的格式为
        menugroup.toolbar-name
        如果不包括menugroup,则AutoCAD缺省将该工具栏显示在基本菜单中。
        在工具栏的定义包括五种不同类型的项。其中分隔条的用法同下拉菜单和快捷菜单,其余四种都以标准的名称标记开始,具体格式如下:
        1. 工具栏定义
        该项定义了工具栏的特性,其格式为:
        TAG [Toolbar ("tbarname", orient, visible, xval, yval, rows)]
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Toolbar:关键字,表示该行是工具栏定义;
        (3) tbarname:工具栏的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。此名称与别名配合使用,使得可以在程序中引用工具栏。
        (4) orient:指定方向的关键字。有效值包括Floating、Top、Bottom、Left和Right,不区分大小写。
        (5) visible:指定可见性的关键字。有效值为Show和Hide,不区分大小写。
        (6) xval:按像素指定X坐标,即从屏幕左边到工具栏左端的距离。
        (7) yval:按像素指定Y坐标,即从屏幕上边到工具栏上端的距离。
        (8) rows:指定行数。
        例如,在ACAD.MNS文件中工具栏“Draw”的定义如下:
        ID_TbDraw [_Toolbar("Draw", _Left, _Show, 1, 0, 1)]
        2. 按钮定义
        该项定义了工具栏中的图标按钮,其格式为:
        TAG [Button ("btnname", id_small, id_large)]macro
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Button:关键字,表示该行是按钮定义;
        (3) btnname:按钮的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。当光标停留在该按钮上时,此字符串显示为工具栏提示。
        (4) id_small:小图像资源(16×15位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (5) id_big:大图像资源(24×22位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (6) macro:菜单宏。
        例如,在ACAD.MNS文件中“Draw”工具栏的“Line”按钮定义如下:
        ID_Line [_Button("Line", "ICON_16_LINE", "ICON_16_LINE")]^C^C_line
        3. 弹出式工具栏定义
        该项定义了弹出式工具栏,其格式为:
        TAG [Flyout ("flyname", id_small, id_large, icon, alias)]macro
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Flyout:关键字,表示该行是弹出式工具栏定义;
        (3) flyname:弹出控件的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。当光标停留在该弹出控件上时,此字符串显示为工具栏提示。
        (4) id_small:小图像资源(16×15位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (5) id_big:大图像资源(24×22位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (6) icon:布尔型关键字,用于控制显示自己的图标或显示上一次选定的图标(另一个图标)。有效值为 OwnIcon和OtherIcon,不区分大小写。
        (7) alias:对要显示为弹出控件的工具栏的引用。alias指向按标准**aliasname 语法定义的工具栏子菜单。
        (8) macro:菜单宏。
        例如,在ACAD.MNS文件中“Standard”工具栏的“Zoom”弹出按钮的定义如下:
        ID_TbZoom [_Flyout("Zoom", ICON_16_ZOOM, ICON_16_ZOOM,
        _OtherIcon, ACAD.TB_ZOOM)]
        4. 控件定义
        该项定义了工具栏中的图标按钮,其格式为:
        TAG [Control (element)]
        其中element参数可能的值如下(不区分大小写):
        (1) _Color:指定颜色控件元素。此元素是一个下拉列表,它提供当前颜色的定义。
        (2) _Dimstyle:指定标注样式控件元素。此元素是一个下拉列表,它提供当前标注样式的定义。
        (3) _Layer:指定图层控件元素。此元素是一个下拉列表,它提供图形中当前图层的控件。
        (4) _Linetype:指定线型控件元素。此元素是一个下拉列表,它提供当前线型的定义。
        (5) _Lineweight:指定线宽控件元素。此元素是一个下拉列表,它提供当前线宽的定义。
        (6) _PlotStyle:指定打印样式控件元素。此元素是一个下拉列表,它提供当前打印样式的定义。
        (7) _Refblkname:指定外部参照名称控件元素。它在编辑模式显示当前外部参照名称。
        (8) _UCSManager:指定UCS控件元素。此元素是一个下拉列表,它提供当前UCS的定义。
        (9) _View:指定视图控件元素。此元素是一个下拉列表,它提供当前标准三维视图的定义。
        (10) _ViewportScale:指定视口缩放比例控件元素。此元素是一个下拉列表,它在布局模式下提供视口缩放比例的定义。
        5. 用户定义位图
        用户定义的位图可用于代替id_small和id_big图像资源的名称。对于id_small参数,用户定义的位图尺寸必须为16×15(像素),并且必须位于库搜索路径中。对于id_big参数,如果指定的位图不是24×22(像素),则AutoCAD自动缩放到该尺寸。
    34.2.6 图像控件菜单
        菜单文件中的图像控件菜单部分用“***IMAGE”标签进行标识,该部分定义了带有图像控件的菜单。
        图像控件菜单部分可包含多个子菜单,子菜单之间应至少用一个空行进行分隔。每个子菜单的第一行是它的标题,该标题显示为包含该图像的对话框的标签。
        图像控件菜单项中不能包含名称标记,而只包含标签和菜单宏。其中标签用来定义滚动列表的文字和图像。可用的图像控件菜单项标签格式及用法如表34-6所示。
    表34-6 图像控件菜单项标签格式

    标签格式

    用法

    [sldname]

    幻灯片名sldname显示在列表框中;

    幻灯片sldname 显示为图像。

    [sldname,labeltext]

    文字labeltext显示在列表框中;

    幻灯片sldname显示为图像。

    [sldlib(sldname)]

    幻灯片名 sldname 显示在列表框中;

    幻灯库sldlib中的幻灯片sldname显示为图像。

    [sldlib(sldname,labeltext)]

    文字labeltext显示在列表框中;

    幻灯库sldlib中的幻灯片sldname显示为图像。

    [blank]

    当提供空文字(即不提供文字)作图标标签时,则在列表框中显示分隔行,并显示空图像。

    [ labeltext]

    当标签的第一个字符为空格时,在列表框中显示提供的文本labeltext,并且不显示图像。

        除了不能使用菜单宏重复功能以外,图像控件菜单宏执行的功能与其他菜单宏相同。
        例如,在ACAD.MNS文件中的图像控件菜单的“IMAGE_3DOBJECTS”子菜单定义如下,其对应的图像控件菜单如图34-2所示。
        ***IMAGE
        **IMAGE_3DOBJECTS
        [3D Objects]
        [acad(Box3d,Box3d)]^C^C_ai_box
        [acad(Pyramid,Pyramid)]^C^C_ai_pyramid
        [acad(Wedge,Wedge)]^C^C_ai_wedge
        [acad(Dome,Dome)]^C^C_ai_dome
        [acad(Sphere,Sphere)]^C^C_ai_sphere
        [acad(Cone,Cone)]^C^C_ai_cone
        [acad(Torus,Torus)]^C^C_ai_torus
        [acad(Dish,Dish)]^C^C_ai_dish
        [acad(Mesh,Mesh)]^C^C_ai_mesh

        AutoCAD按每20个一组显示图像,并用滚动列表包含相关的幻灯片名称或文字,最多可显示19个字符。图像控件子菜单的长度没有限制:如果图像控件子菜单包含的幻灯片超过20个,AutoCAD 将提供“下一个”和“上一个”按钮,用户可用这两个按钮浏览图像。
    34.2.7 屏幕菜单
        菜单文件中的屏幕菜单部分用“***SCREEN”标签进行标识,该部分定义了屏幕菜单的结构和功能。屏幕菜单中的主屏幕菜单部分标签由字符串“**S”标识。
        屏幕菜单的菜单项语法如下:
        标签 子菜单标识或菜单宏
        例如在ACAD.MNS文件中主屏幕菜单定义如下,其对应的屏幕菜单如图34-3所示。
        ***SCREEN
        **S
        [AutoCAD ]^C^C^P(ai_rootmenus) ^P
        [* * * * ]$S=ACAD.OSNAP
        [FILE ]$S=ACAD.01_FILE
        [EDIT ]$S=ACAD.02_EDIT
        [VIEW 1 ]$S=ACAD.03_VIEW1
        [VIEW 2 ]$S=ACAD.04_VIEW2
        [INSERT ]$S=ACAD.05_INSERT
        [FORMAT ]$S=ACAD.06_FORMAT
        [TOOLS 1 ]$S=ACAD.07_TOOLS1
        [TOOLS 2 ]$S=ACAD.08_TOOLS2

        [DRAW 1 ]$S=ACAD.09_DRAW1
        [DRAW 2 ]$S=ACAD.10_DRAW2
        [DIMNSION]$S=ACAD.11_DIMENSION
        [MODIFY1 ]$S=ACAD.12_MODIFY1
        [MODIFY2 ]$S=ACAD.13_MODIFY2

        [HELP ]$S=ACAD.14_HELP
        [ASSIST ]$S=ACAD.ASSIST
        [LAST ]$S=ACAD.

        屏幕子菜单的标识如下:
        **menuname [startnum]
        其中各项说明如下:
        (1) menuname:子菜单名,最多33个字符,可包含字母、数字以及“$”、“-”、“_”等符号。
        (2) startnum:可选的整数,用于指定子菜单的开始行。
        例如在ACAD.MNS文件中,对应主屏幕菜单中“FILE”项的子菜单定义如下:
        **01_FILE 3
        [New ]^C^C_new
        [Open ]^C^C_open

        [Qsave ]^C^C_qsave
        [Saveas ]^C^C_saveas
        [Export ]^C^C_export

        [Config ]^C^C_config
        [Plot ]^C^C_plot

        [Audit ]^C^C_audit
        [Recover ]^C^C_recover
        [Purge ]^C^C_-purge

        [Quit ]^C^C_quit
        屏幕菜单显示时,将覆盖上一屏幕菜单的项,它所覆盖的项数等于它所包含的菜单项数。如果屏幕菜单所包含的菜单项数超过屏幕上的菜单框数,或者按钮菜单所包含的菜单项数超过可用的按钮数,超出的项将被忽略。注意,菜单文件中的空行也会在屏幕菜单中显示出来,因此可利用空行加长子菜单,使它能覆盖上一菜单。
    34.2.8 数字化仪菜单
        AutoCAD最多可将数字化仪的四个区域配置为命令输入的菜单区域。在菜单文件中这四个部分的菜单定义分别用“***TABLET1”~“***TABLET4”标签进行标识。
        TABLETn 部分中的菜单项语法与其他部分中的菜单项语法相同。对菜单项标签的处理方法与BUTTONSn部分相同。这些标签可用作注释,不会显示。
    34.2.9 面向菜单的帮助
        菜单文件中的面向菜单的帮助部分用“***HELPSTRINGS”标签进行标识,该部分定义了菜单项描述性信息。当菜单项被选择时,这些信息将出现在状态行上。
        帮助字符串部分的语法如下:
        名称标记 标签
        当某个菜单项突出显示时,AutoCAD在这部分的名称标记中查找对应的项。如果找到了匹配的项,则标签中包含的字符串将显示在状态行中。例如在ACAD.MNS文件中有如下定义:
        ID_LINE [Creates straight line segments: LINE]
        当用户选择绘制直线的菜单项时,状态行中将显示提示:Creates straight line segments: LINE。
    34.2.10 加速键
        菜单文件中的加速键部分用“***ACCELERATORS”标签进行标识,该部分定义了用户能够在AutoCAD中使用的加速键的作用。
    加速键有两种定义方式:
        名称标记 标签
        其中标签内包括一个或多个组合键,以及括在双引号的单个字符或虚键。例如下列定义分别给出了创建新文件和运行VBA两种操作的加速键:
        ID_New [CONTROL+"N"]
        ID_VBARun [ALT+"F8"]
        标签 命令序列
        其中,标签中包含组合键和击键字符串,后面为相应的命令序列。当系统识别出这一击键序列后,将执行其后面的命令序列。除了反斜杠“\”以外,在菜单宏中使用的格式以及特殊字符均可用于该命令序列的定义。例如下面定义了切换正交模式开关的加速键:
        [CONTROL+"L"]^O
        在加速键定义中,可以使用的组合键包括Ctrl键和左右Shift键,并分别用字符串“CONTROL”和“SHIFT”来表示。
        在加速键定义中,可使用的虚键如表34-7所示,这些键在引用时必须括在引号中。
    表34-7 特殊虚键的引用与说明

    虚键

    引用形式

    说明

    F1 键

    F1

    建议最好不要给F1键分配一个菜单宏,因为此键通常与帮助关联。但可以对这个键使用组合键。

    F2 键

    F2

    不可修改,此键用于切换文本窗口的状态。

    F3 键

    F3

    不可修改,此键用于运行OSNAP。

    F4 键

    F4

    不可修改,此键用于切换TABMODE 开关。

    F5 键

    F5

    不可修改,此键用于切换ISOPLANE 开关。

    F6 键

    F6

    不可修改,此键用于切换COORDS 开关。

    F7 键

    F7

    不可修改,此键用于切换GRIDMODE 开关。

    F8 键

    F8

    不可修改,此键用于切换ORTHOMODE 开关。

    F9 键

    F9

    不可修改,此键用于切换SNAPMODE开关。

    F10 键

    F10

    不可修改,此键用于打开或关闭极轴追踪。

    F11 键

    F11

    不可修改,此键用于打开或关闭对象捕捉追踪。

    F12 键

    F12

    由用户自定义

    INS 键

    INSERT

    由用户自定义

    DEL 键

    DELETE

    由用户自定义

    ESC 键

    ESCAPE

    建议最好不要给F1键分配一个菜单宏,因为此键通常与Cancel(取消)关联。

    对该键使用组合键时,不能给CONTROL+ESCAPE和CONTROL+SHIFT+ESCAPE分配菜单宏,因为这两个序列由 Windows 控制。

    上方向键

    UP

    必须与CONTROL组合键配合使用。

    下方向键

    DOWN

    必须与CONTROL组合键配合使用。

    左方向键

    LEFT

    必须与CONTROL组合键配合使用。

    右方向键

    RIGHT

    必须与CONTROL组合键配合使用。

    0 键

    NUMPAD0

    由用户自定义

    1 键

    NUMPAD1

    由用户自定义

    2 键

    NUMPAD2

    由用户自定义

    3 键

    NUMPAD3

    由用户自定义

    4 键

    NUMPAD4

    由用户自定义

    5 键

    NUMPAD5

    由用户自定义

    6 键

    NUMPAD6

    由用户自定义

    7 键

    NUMPAD7

    由用户自定义

    8 键

    NUMPAD8

    由用户自定义

    9 键

    NUMPAD9

    由用户自定义


    自定义菜单文件
    34.3.1 实例1 创建新的菜单文件“user.mns”
        Step 1 定义菜单组
        (1) 打开记事本程序,创建一个新的文本文件。
        (2) 在文件中输入如下代码。
        //
        // Sample Menu File
        //
        ***MENUGROUP=USER
        即定义该菜单文件属于“USER”菜单组。
        Step 2 定义辅助菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***AUX2
        // Shift + button
        $P0=SHORTCUT $p0=*
        该代码定义用户在使用Shift+右键时所调用的快捷菜单“SHORTCUT”。
        Step 3 定义下拉菜单和快捷菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***POP0
        **SHORTCUT
        ID_SM [&Sample Menu]
        ID_S1 [&Polyline \tCtrl+3]^C^C_pline
        ID_S2 [&Array... \tCtrl+4]^C^C_array
        [--]
        ID_S3 [->Sub Menu]
        ID_S31 [Sub Menu1]^C^C
        ID_S32 [<-Sub Menu2...]^C^C
        [--]
        ID_S4 [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*
        ID_S5 [~Disable Menu]^C^C
        ID_S6 [!.Checked Menu]^C^C
        ***POP14
        **PULL_DOWN
        ID_SM [&Sample Menu]
        ID_S1 [&Polyline \tCtrl+3]^C^C_pline
        ID_S2 [&Array... \tCtrl+4]^C^C_array
        [--]
        ID_S3 [->Sub Menu]
        ID_S31 [Sub Menu1]^C^C
        ID_S32 [<-Sub Menu2...]^C^C
        [--]
        ID_S4 [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*
        ID_S5 [~Disable Menu]^C^C
        ID_S6 [!.Checked Menu]^C^C
        注意 上两部分代码分别定义了快捷菜单“SHORTCUT”和下拉菜单“PULL_DOWN”,这两部分定义的菜单项完全一样,不同之间仅在于菜单名称。
        这部分定义的菜单分别给出了菜单的加速键、级联子菜单以及菜单项的显示控制等功能的定义。
        Step 4 定义工具栏
        在上一步骤输入的代码后继续输入如下代码:
        ***TOOLBARS
        **TB_USER1
        ID_TbUser1 [_Toolbar("User Toolbars1", _Floating, _Show, 100, 100, 1)]
        ID_Pline [_Button("Polyline", "ICON_16_PLINE", "ICON_16_PLINE")]^C^C_pline
        ID_Array [_Button("Array", "ICON_16_ARRREC", "ICON_16_ARRREC")]^C^C_array
        ID_Image [_Button("Image", user16.bmp, user32.bmp)]$I=USER.IMAGE_MENU
        $I=USER.*
        **TB_USER2
        ID_TbUser2 [_Toolbar("User Toolbars2", _Floating, _Show, 200, 100, 1)]
        ID_Flyout [_Flyout("Flyout", "ICON_16_PLINE", "ICON_16_PLINE",
        _OtherIcon,USER.TB_USER1)]
        [--]
        [_Control(_Color)]
        [--]
        [_Control(_Layer)]
        以上代码定义了两个工具栏“TB_USER1”和“TB_USER2”。工具栏“TB_USER1”中包括三个按钮“Polyline”、“Array”和“Image”,其中“Image”按钮的图标资源为用户创建的两个位图文件“user16.bmp”和“user32.bmp”,并保存在AutoCAD的库搜索路径中。
        工具栏“TB_USER2”中引用“TB_USER1”来定义了一个弹出式工具栏,同时还定义了两个控件“Color”和“Layer”。
        Step 5 定义图像控件菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***IMAGE
        **IMAGE_MENU
        [Nut Image]
        [user(s1)]^C^C
        [user(s2)]^C^C
        [user(s3)]^C^C
        [user(s4)]^C^C
        [user(s5)]^C^C
        [user(s6)]^C^C
        以上代码定义了一个图像控件菜单,其中所用到的幻灯片和幻灯片库的创建,请参见第31章。由于该定义仅出于演示的目的,因此并没有给出具体的命令序列,用户可根据需要来添加。
        Step 6 定义屏幕菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***SCREEN
        **S
        [Mian Menu]^C^C^P(ai_rootmenus) ^P
        [Polyline ]^C^C_pline
        [Array... ]^C^C_array
        [Sub Menu ]$S=USER.SUBMENU
        [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*

        **SUBMENU 2
        [Prev Menu]$S=
        [Sub Menu1]^C^C
        [Sub Menu2]^C^C
        以上代码定义了带有子菜单的屏幕菜单。
        Step 7 定义加速键
        在上一步骤输入的代码后继续输入如下代码:
        ***ACCELERATORS
        ID_S1 [CONTROL+"3"]
        ID_S2 [CONTROL+"4"]
        ["NUMPAD5"]@x^h
        ["NUMPAD6"]<0
        ["NUMPAD9"]<45
        ["NUMPAD8"]<90
        ["NUMPAD7"]<135
        ["NUMPAD4"]<180
        ["NUMPAD1"]<-135
        ["NUMPAD2"]<-90
        ["NUMPAD3"]<-45
        以上代码中除了定义“Pline”命令和“Array”的快捷键以外,还定义了扩展坐标输入,即数字键区作如下修改:5键输入@符号,其他数字键输入小于号(<)和该键位置在数字键区中表示的角度值。这样用户来输入相对极坐标时可利用数字键快速输入,例如极坐标:@50<45,用户只需按数字键区的5键、数字“50”和数字键区的9键即可。
        Step 8 定义菜单帮助
        在上一步骤输入的代码后继续输入如下代码:
        ***HELPSTRINGS
        ID_S1 [Creates a 2D polyline]
        ID_S2 [Creates multiple copies of objects in a pattern]
        ID_S31 [The sample 1 for Sub Menu]
        ID_S32 [The sample 2 for Sub Menu]
        ID_S4 [The sample for Imeage Menu]
        ID_S5 [The sample for Disable Menu]
        ID_S6 [The sample for Checked Menu]
        以上代码给出了每个菜单项相应的提示。
        Step 9 保存文件
        以“user.mns”为名保存该文件。
        说明 AutoCAD命令前加“_”是为了语言的兼容性。
    34.3.2 自定义菜单文件的使用
        用户编写的菜单文件“USER.MNU”是文本文件。首次使用该菜单文件时,AutoCAD会对其进行编译,编译后生成可被直接使用的二进制菜单文件“USER.MNC”。加载菜单文件的命令如下:
        命令行:menu
        调用该命令后,系统弹出“Select Menu Fl1e(选择菜单文件)”对话框。在该对话框中,指定打开文件类型为“Menu Template(*.MNU)”项,再选择要加载的“USER.MNU”文件,结果如图34-4所示。

         用户可再次使用“menu”命令,加载AutoCAD主目录“Support”子目录中的“acad.mns”文件来恢复原来的系统菜单。
         如果用户希望将自定义的菜单和原来的系统菜单结合起来使用,则可选择菜单【Tools(工具)】→【Customize(自定义)】→【Menus…(菜单)】,系统弹出“Menu Customization(菜单自定义)”对话框,如图34-5所示。

         选择“Menu Groups(菜单组)”选项卡,并单击Browse...按钮选择自定义的“user.mns”菜单文件,然后单击Load...按钮可加载该文件。加载后,在“Menu Groups(菜单组)”列表中将增加用户所定义的菜单组“USER”。

        选择“Menu Bar(菜单栏)”选项卡,如图34-6所示。在“Menu Group(菜单组)”下拉列表中选择“USER”项,此时在“Menus(菜单)”列表中将相应地显示出该菜单文件中定义的菜单项“Sample Menu。选择该项后,再选择“Menu Bar(菜单栏)”列表中的“Help(帮助)”项,然后单击Insert>>按钮,将“Sample Menu”菜单插入到“Window(窗口)”和“Help(帮助)”之间。

        完成上述设置后,单击Close按钮关闭该对话框使用户定义的菜单生效,结果如图34-7所示。
    AutoCAD的自定义命令


    从上面的讲述可以看到,用于通过修改菜单定义文件的方式来自定义菜单,不仅工作繁琐,而且对用户的要求也比较高。因此,AutoCAD提供了自定义命令,允许用户以对话框的方式来进行自定义。
        说明 在AutoCAD 2000、2000i和2002中都具有类似的自定义功能,但具体方法略有不同,本书将以AutoCAD 2002为准来进行介绍。
    34.4.1 自定义菜单栏
        如34.3.2节所述,用户可对AutoCAD窗口中的菜单栏进行定制,命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menus…(菜单)】
        命令行:menuload
        调用该命令后,系统弹出“Menu Customization(菜单自定义)”对话框,参见图34-5。在该对话框的“Menu Bar(菜单栏)”选项卡中(参见图34-6),右侧的“Menu Bar(菜单栏)”列表中显示了当前在AutoCAD系统中所使用的菜单项,用户可单击<<Remove按钮将指定的菜单项从列表中删除(即移到左侧的“Menu Group(菜单组)”下拉列表中),或单击<<Remove all钮将所有菜单项从列表中删除。
        对于“Menu Group(菜单组)”列表中的菜单项,用户可单击Insert >> 按钮将其添加到“Menu Bar(菜单栏)”列表中,该项将插入到指定菜单项之前。
        提示 用户可将<<Remove按钮和Insert >>按钮组合使用来改变菜单项的排列顺序。
    34.4.2 自定义工具栏
        我们已经知道在任一工具栏上单击右键可弹出快捷菜单,并可利用该菜单显示或隐藏指定的工具栏。此外,AutoCAD还提供了更进一步的自定义功能,其命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Toolbars…(工具栏)】
        菜单:【View(视图)】→【Toolbar…(工具栏)】
        快捷菜单:在任一工具栏上单击右键弹出快捷菜单,选择“Customize…(自定义)”项
        命令行:customize、toolbar
        调用该命令后,系统弹出“Customize(自定义)”对话框,并显示“Toolbars(工具栏)”选项卡,如图34-8所示。
        该选项卡中各部分作用如下:
        (1) “Toolbars(工具栏)”列表:以开关的形式显示了指定菜单组所定义的所有工具栏。用户可设置每个项目的开关状态以决定是否显示该工具栏。
        (2) “Menu Group(菜单组)”:显示已加载的菜单组。
        (3) New...按钮:创建新的工具栏;
        (4) Rename...按钮:用于对指定的工具栏重命名。

        (5) Delete按钮:用于删除指定的工具栏。
        (6) “Large Buttons(大按钮)”:指定是否以大图标按钮的形式显示工具栏。
        (7) “Show ToolTips on toolbars(在工具栏上显示工具提示)”:指定是否显示工具提示。
        (8) “Show shortcut keys in ToolTips(在工具提示中显示快捷方式)”:指定是否在工具提示中显示快捷方式。
    34.4.3 自定义键盘
        在AutoCAD中可直接定义菜单项的加速键,其命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Keyboards…(键盘)】】
        命令行:customize
        调用该命令后,系统弹出“Customize(自定义)”对话框,选择其中“Keyboard(键盘)”选项卡,如图34-9所示。

        该选项卡中各部分作用如下:
        (1) “Categories(种类)”下拉列表:显示指定菜单组中定义的所有菜单项。
        (2) “Commands(命令)”:显示指定菜单项中定义的所有命令。
        (3) “Current Keys(当前键)”:显示指定菜单命令的所有加速键定义。
        (4) “Press new shortcut key(键入新的加速键)”:为指定菜单命令定义新的加速键。
        (5) Assign按钮:将新的加速键分配给指定菜单命令。
        (6) Remove按钮:删除指定的加速键。
        (7) Show All...按钮:显示当前定义的所有加速键。
    34.4.4 其他自定义功能
        在“Customize(自定义)”对话框中的“Commands(命令)”选项卡中,显示了当前的菜单项和菜单项中包含的所有命令,如图34-10所示。用户可直接将某个命令拖放到绘图区域中来创建一个新的工具栏,或者将某个命令拖放到已有的工具栏上,该命令将自动添加到工具栏中。

        说明 如果列表中的命令前面没有显示图标,则将其拖放为工具栏按钮时也不显示图标。对于当前工具栏中已有的图标按钮,用户也可将其拖放到其他工具栏上,或拖放到工具栏之外将其删除。
        在“Customize(自定义)”对话框中的“Button Properties(按钮特性)”选项卡中,用户可重新定义工具栏中指定的图标按钮。当用户选择某个工具栏按钮时,该选项卡将显示其当前的特性,并可进行修改。如图34-11所示。
        (1) “Name(名称)”:显示并修改指定图标按钮的名称。
        (2) “Description(说明)”:显示并修改指定图标按钮的说明。
        (3) “Macro associated with this button(与按钮相关联的宏)”:显示并修改指定图标按钮的宏定义。
        (4) “Button Image(按钮图像)”:显示指定图标按钮的图像。用户可单击按钮对其进行修改,或在下面的列表中重新指定。


    小 结
        本章详细介绍了AutoCAD菜单文件的类型、定义、结构和使用方法,并通过实例讲述了自定义菜单文件的创建和使用。
        此外,介绍了AutoCAD系统所提供的几种自定义功能,如自定义菜单栏、工具栏、工具栏按钮和键盘加速键等。
  • 相关阅读:
    NutUI 优秀案例
    前端进阶不可错过的 10 个 Github 仓库
    Oracle Database Appliance ODA开箱视频
    直面ODA(Oracle Database Appliance)RAC一体机
    Ask Maclean论坛礼仪需知及学习oracle的方法论
    My Oracle Support Metalink站点最近将放弃flash界面转而使用ADF HTML
    java设计模式之代理模式
    数学分析原理 定理 6.10
    halcon傅里叶变换
    halconget_system获取HALCON系统参数
  • 原文地址:https://www.cnblogs.com/kentyshang/p/511512.html
Copyright © 2020-2023  润新知