《计算机图形学8.ppt》由会员分享,可在线阅读,更多相关《计算机图形学8.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机图形学考试题n n写一篇计算机图形学的综述。内容包括几何建模、变换处理、图形输入/输出等。n n计算机图形学在.方面的应用,自由命题。n n高等职业技术教化中CG/CAD教学的探讨计算机图形学Computer Graphics五五.图形软件的定制图形软件的定制 1 概述概述 图形软件的探讨和开发的模式:图形软件的探讨和开发的模式:1)完全自主开发)完全自主开发 国内开发的自主版权图形软件:国内开发的自主版权图形软件:开目开目CAD、CAXA等等 2)在通用几何平台上开发)在通用几何平台上开发 当前最流行的两种几何造型平台:当前最流行的两种几何造型平台:Parasolid ACIS 3)在
2、通用图形支撑软件上定制图形应用软件)在通用图形支撑软件上定制图形应用软件2AutoCAD 软件的定制(用户化开发)软件的定制(用户化开发)3 AutoCAD是开放式结构的通用绘图系统,是开放式结构的通用绘图系统,用户可以依据须要扩展和调整用户可以依据须要扩展和调整 AutoCAD 的功能。的功能。AutoCAD 用支持文件保存用户自定义、加载用支持文件保存用户自定义、加载 AutoLISP 和和 ObjectARX 应用程序以及描述文字字体等。很多支持文件是文本文件,可以用文本编应用程序以及描述文字字体等。很多支持文件是文本文件,可以用文本编辑器进行修改。辑器进行修改。(1)AutoCAD中自
3、定义的支持文件中自定义的支持文件文件文件 说明说明*.ahp AutoCAD 帮助文件。相关的帮助索引文件的扩展名为帮助文件。相关的帮助索引文件的扩展名为.hdx。asi.ini 数据库连接的转换映射文件。数据库连接的转换映射文件。*.dcl AutoCAD 对话框限制语言对话框限制语言(DCL)程序文件。程序文件。*.lin AutoCAD 线型定义文件。线型定义文件。acad.lin 标准标准 AutoCAD 线型库文件。线型库文件。acadiso.lin 标准标准 AutoCAD ISO 线型库文件。线型库文件。1)用户自定义用户自定义*.lsp AutoLISP 程序文件。程序文件。a
4、cad.lsp 每次启动每次启动 AutoCAD 时加载的用户自定义时加载的用户自定义 AutoLISP 例例行程序。行程序。acaddoc.lsp 每次起先一个图形时加载的用户自定义每次起先一个图形时加载的用户自定义 AutoLISP 例行程序。例行程序。*.mln 多线库文件。多线库文件。*.mnl AutoCAD 菜单运用的菜单运用的 AutoLISP 例行程序。例行程序。acad.mnl 标准标准 AutoCAD 菜单运用的菜单运用的 AutoLISP 例行程序。例行程序。*.mns AutoCAD 生成的菜单源文件。生成的菜单源文件。acad.mns 标准标准 AutoCAD 菜单的
5、源文件。菜单的源文件。*.mnu AutoCAD 菜单源文件。菜单源文件。acad.mnu 标准标准 AutoCAD 菜单的源文件。菜单的源文件。*.pat AutoCAD 填充图案定义文件。填充图案定义文件。acad.pat 标准标准 AutoCAD 填充图案库文件。填充图案库文件。acadiso.pat 标准标准 AutoCAD ISO 填充图案库文件。填充图案库文件。acad.pgp AutoCAD 程序参数文件。包含外部吩咐和吩咐别名的定义。程序参数文件。包含外部吩咐和吩咐别名的定义。fontmap.ps AutoCAD 字体映射文件。由 PSIN 运用,是 AutoCADPostSc
6、ript_ 说明器能识别的全部字体的书目(或字体映射)。acad.psf AutoCAD PostScript 支持文件,PSOUT 和 PSFILL 吩咐的主要支持文件。acad.rx 列出启动 AutoCAD 时加载的 ObjectARX 应用程序。*.scr AutoCAD 脚本文件。脚本文件包含一组 AutoCAD 吩咐,其运行方式与批处理文件相像。*.shp AutoCAD 形/字体定义文件。编译后形/字体文件的扩展名为.shx。acad.unt AutoCAD 单位定义文件。包含进行单位换算所需的数据。AutoCAD 程序参数文件 acad.pgp 是 ASCII 文本文件,用于保
7、存吩咐定义。可将此文件当作自定义 AutoCAD吩咐的列表。当用户输入不常用的吩咐时,AutoCAD 在 acad.pgp 中查找该吩咐。此文件分成两个部分:第一部分定义外部吩咐,其次部分定义吩咐别名。此文件可以用分号(;)引入说明文字。(2)AutoCAD 2000 中的基本自定义类型中的基本自定义类型一一.在在 AutoCAD AutoCAD 中运行外部程序。中运行外部程序。只要在程序参数文件只要在程序参数文件 acad.pgp acad.pgp 中加入适当的外部吩咐,就中加入适当的外部吩咐,就可以在可以在 AutoCAD AutoCAD 内部复制磁盘或删除文件。对于常常运用的内部复制磁盘
8、或删除文件。对于常常运用的 AutoCAD AutoCAD 吩咐,可以创建它们的简洁缩写,即别名。别名也是吩咐,可以创建它们的简洁缩写,即别名。别名也是在程序参数文件在程序参数文件 acad.pgp acad.pgp 中定义的。中定义的。在 AutoCAD 运行时,用户可调用其他程序或好用工具,例如:Windows 系统吩咐和好用工具,例如 start、type、dir 或 copy 应用程序,例如文本编辑器或字处理器数据库管理程序、电子表格和通讯程序用户供应的程序,例如批处理文件或 Visual Basic 应用程序 定义外部吩咐时,须要指定在 AutoCAD 吩咐提示中运用的吩咐名称,以及
9、传递给操作系统的可执行吩咐字符串。外部吩咐部分中的每行都包括以逗号分隔的五个字段,如下所示:command,executable,flags,*prompt,return_code 在吩咐提示中输入的吩咐。假如此名称是 AutoCAD 内部吩咐名称,则该吩咐将被忽视。这个名称不区分大小写。输入吩咐名时传递给操作系统的固定字符串,可以是能在操作系统提示中执行的任何吩咐,可包含开关或参数。该字符串是否区分大小写由运行的应用程序确定。必要的位编码参数,按随意组合将这些整数值相加以得到所需的结果。此字段可选。它指定显示在 AutoCAD 吩咐行中的提示,提示的响应被添加到 executable 字段供
10、应的字符串后。可选的位编码参数。可将这些整数值按随意组合相加以得到所需的结果。在 acad.pgp 的吩咐别名部分中为常用的 AutoCAD 吩咐、设备驱动程序吩咐或外部吩咐定义别名,这样可以缩短这些吩咐。在 acad.pgp 文件中,由逗号分隔的两个字段定义吩咐别名:abbreviation,*command 创建别名的 AutoCAD 吩咐。必需在吩咐名前输入星号(*)来表示该行为吩咐别名。当用户输入吩咐别名时,AutoCAD 在吩咐提示中显示完整的吩咐名并执行该吩咐。在吩咐提示中输入的吩咐的别名。例如标准 acad.pgp 文件中的吩咐别名:A,*ARC C,*CIRCLE CP,*CO
11、PY吩咐别名部分可包含带特殊的负号(-)前缀的吩咐,如下所示。这运用户可以创建别名来访问某些吩咐的吩咐行形式。BH,*-BHATCHBD,*-BOUNDARY留意 不能在吩咐脚本中运用吩咐别名,同时建议不要在菜单文件中运用吩咐别名。;Examples of external commands for command windowsCATALOG,DIR/W,8,指定文件:,DEL,DEL,8,要删除的文件:,DIR,DIR,8,指定文件:,EDIT,START EDIT,9,要编辑的文件:,SH,1,*操作系统吩咐:,SHELL,1,*操作系统吩咐:,START,START,1,*要启动的应用
12、程序:,TYPE,TYPE,8,要列出的文件:,;-Sample aliases for AutoCAD commands-;These examples include most frequently used commands.3A,*3DARRAY3F,*3DFACE3P,*3DPOLYA,*ARCAA,*AREAAL,*ALIGNAR,*ARRAYATT,*ATTDEF-ATT,*-ATTDEFATE,*ATTEDIT-ATE,*-ATTEDITATTE,*-ATTEDITB,*BLOCK 二二.通过创建帮助文件,可以自定义通过创建帮助文件,可以自定义 AutoCAD 吩咐的帮吩咐的帮
13、助,也可以为自己的应用程序定义帮助。助,也可以为自己的应用程序定义帮助。WinHelp 编译器从特殊编码的编译器从特殊编码的 RTF(超文本格式)文件中生成帮助文件。因为(超文本格式)文件中生成帮助文件。因为 RTF 是是 Microsoft Word 的一种标准输出格式,所以的一种标准输出格式,所以 Word 是常用的是常用的 WinHelp 文件文件编写环境。编写环境。三三.创建自定义线型、填充图案、形和文字样式。创建自定义线型、填充图案、形和文字样式。AutoCAD 线型由线型定义文件定义。线型定义文件的扩展名为线型由线型定义文件定义。线型定义文件的扩展名为.lin。AutoCAD 线型
14、由一系列用逗号分隔的点和划组成,并可包含嵌入的形和文字对象。线型由一系列用逗号分隔的点和划组成,并可包含嵌入的形和文字对象。缺省的线型文件是缺省的线型文件是 acadiso.lin。用户可打印此文件,以便更好地理解如何构造线型。用户可打印此文件,以便更好地理解如何构造线型。仅由点、划和空格组成的线型称为简洁线型;不仅包含点、划和空格,还包含仅由点、划和空格组成的线型称为简洁线型;不仅包含点、划和空格,还包含嵌入的形和文字对象的线型称为困难线型。尽管嵌入的形和文字对象的线型称为困难线型。尽管 AutoCAD 对这两种线型的处理很对这两种线型的处理很相像,但它们的定义有很大区分。相像,但它们的定义
15、有很大区分。有两种方法可创建和修改线型定义:一种是用文本编辑器或字处理器编辑有两种方法可创建和修改线型定义:一种是用文本编辑器或字处理器编辑 LIN 文件,另一种是用文件,另一种是用-LINETYPE 吩咐的吩咐的“创建创建”选项。不能在吩咐行中创建或修改选项。不能在吩咐行中创建或修改困难线型。困难线型。一个线型文件可包含很多线型定义。用户可将自定义线型加入一个线型文件可包含很多线型定义。用户可将自定义线型加入 acad.lin 文件或文件或构造自己的线型库文件。构造自己的线型库文件。LIN文件可通过分号引入注释,以分号起先的行中的任何文件可通过分号引入注释,以分号起先的行中的任何文字都将被忽
16、视。文字都将被忽视。在 LIN 文件中,每个线型用两行来定义。第一行定义线型的名称并供应可选的说明。*linetype-name,description 这一行必需以星号起先,其后紧跟线型名称。假如有说明,则必需用逗号将它与名称分开,而且不能超过 47 个字符。说明帮助用户了解线型的外观,AutoCAD 并不运用它。其次行是描述实际图案的代码。alignment,patdesc-1,patdesc-2,.这一行以对齐方式代码(当前只允许运用 A)起先,其后是用逗号分隔的图案描述(不允许出现空格)。线型不能在创建时自动加载到图形中,而须要用 LINETYPE 吩咐的“加载”选项来加载。3-1 线
17、型的定义线型的定义实例:中心线线型定义*DD1,_._._._.A,.5,-25,0,-25 DD1 是线型的名称,description 字段是 LAYER Ltype?吩咐序列所显示的线型说明。在此例中,说明是点划线图案的简洁表示。说明是可选的,可以是一系列点、空格和划,也可以是犹如“此线型用于隐藏线”的注释。假如要省略说明,则不能在线型名称后面加逗号;假如要包括说明,则其长度不能超过 47 个字符。alignment 字段指定在直线、圆和圆弧末端的图案对齐操作。当前,AutoCAD 只支持一种对齐操作,通过在此字段中输入 A 加以指定。运用 LINETYPE 的“创建”选项时,A 是自动
18、输入的;但假如用文本编辑器创建线型定义,则必需手动加入 A。AutoCAD 拒绝在 alignment 字段中接受任何其他字符。每个 pat-n 字段指定组成线型的一个线段的长度。长度为正时,画一条实线段;长度为负时,画一条空线段;长度为 0 时,画一个点。每个线型至多可以有 12 个线段长度定义,但这些定义必需在一行中,并且总长度不能超过 80 个字符。AutoCAD 通过 A 类对齐保证直线和圆弧的两端都是划。为 AutoCAD 开发填充图案定义须要一个文本编辑器。可将图案加入库文件 acad.pat 或将它单独保存在一个文件中。将图案单独保存时,文件名必需与图案名相同。例如,名为 PIT
19、的图案必需保存在文件 pit.pat 中。不管定义保存在什么文件中,其格式都是一样的。它包括如下格式的标题行:*pattern-name,description 还包括一行或多行如下形式的说明:angle,x-origin,y-origin,delta-x,delta-y,dash-1,dash-2,.例如,图案 L45 用间隔为 0.5 图形单位的 45 度直线进行填充,其定义如下:*L45,45 degree lines45,0,0,0,0.5这个简洁图案指定:直线按 45 度角绘制,填充直线族中的第一条直线穿过图形原点(0,0),且填充直线之间的距离为 0.5 图形单位。L45 是图案的
20、名称,这里的说明字段是图案由 HATCH 吩咐的“?”选项显示时的可选说明。(假如省略说明,则图案名后不能有逗号。)图案定义文件的每一行最多可包含 80 个字符。AutoCAD 忽视空行和分号右边的文字。3-2 填充图案定义填充图案定义 用用 AutoCAD 可以定义文字字体和用作图形符号的形。可以定义文字字体和用作图形符号的形。“形形”是一种对是一种对象,运用时,首先要用象,运用时,首先要用 LOAD 吩咐加载包含所需形定义的编译后的形文件,吩咐加载包含所需形定义的编译后的形文件,然后用然后用 SHAPE 吩咐将形从该文件插入图形中。将形加入图形时,可进行缩吩咐将形从该文件插入图形中。将形加
21、入图形时,可进行缩放和旋转。放和旋转。AutoCAD SHP 字体是特殊类型的形文件,其定义方式与形的定字体是特殊类型的形文件,其定义方式与形的定义方式相同。义方式相同。与形相比,块更简洁运用,且用途更加广泛。但对与形相比,块更简洁运用,且用途更加广泛。但对 AutoCAD 而言,形而言,形占用空间较小,绘制速度较快。当用户必需重复插入一个简洁图形且速度特占用空间较小,绘制速度较快。当用户必需重复插入一个简洁图形且速度特别重要时,用户定义的形将特别有用。别重要时,用户定义的形将特别有用。AutoCAD 字体和形文件字体和形文件(SHX)从形定义文件从形定义文件(SHP)生成(编译成)。形定义文
22、生成(编译成)。形定义文件可用文本编辑器或能将文件存为件可用文本编辑器或能将文件存为 ASCII 格式的字处理器创建或编辑。每个形(或格式的字处理器创建或编辑。每个形(或字符)的形说明语法都不考虑形说明的最终用法(用作形或字体)。假如形定义文字符)的形说明语法都不考虑形说明的最终用法(用作形或字体)。假如形定义文件被用作字体文件,则文件中的第一个条目必需描述字体本身,而不是该文件中的件被用作字体文件,则文件中的第一个条目必需描述字体本身,而不是该文件中的形;假如第一个条目描述一个形,则该文件被用作形文件。形;假如第一个条目描述一个形,则该文件被用作形文件。AutoCAD 附带两个样板形文件:附
23、带两个样板形文件:pc.shx 和和 es.shx。其中,一个用于印刷电路布。其中,一个用于印刷电路布局,另一个用于电子图表。查看这两个文件的内容并修改它们的形说明,有助于局,另一个用于电子图表。查看这两个文件的内容并修改它们的形说明,有助于驾驭驾驭 AutoCAD 形定义。形定义。3-3 形定义形定义 形定义文件的每一行最多可包含形定义文件的每一行最多可包含 128 个字符,超过此长度的行不能编译。个字符,超过此长度的行不能编译。AutoCAD 忽视空行和分号右边的文字。利用分号可以在形定义文件中包含注释。忽视空行和分号右边的文字。利用分号可以在形定义文件中包含注释。每个形说明都有一个标题行
24、(格式如下),以及一行或多行定义字节。这些每个形说明都有一个标题行(格式如下),以及一行或多行定义字节。这些定义字节之间用逗号分隔,最终以定义字节之间用逗号分隔,最终以 0 结束。结束。*shapenumber,defbytes,shapename specbyte1,specbyte2,specbyte3,.,0型编号:数字,在文件中唯一,在型编号:数字,在文件中唯一,在 1 到到 258(对(对 Unicode 字体最多可达字体最多可达 65535)之间,带前缀星号)之间,带前缀星号(*)。字体(包含每个字符的形定义的文件)的编。字体(包含每个字符的形定义的文件)的编号要与每个字符的号要与
25、每个字符的 ASCII 码对应;其他形可指定随意数字。码对应;其他形可指定随意数字。用于描述形的数据字节用于描述形的数据字节(specbytes)的数目,包括末尾的零。的数目,包括末尾的零。每个形最多可有每个形最多可有 2,000 个数据字节。个数据字节。形的名称。形名称必需大写,以便于区分。形的名称。形名称必需大写,以便于区分。包含小写字符的名称被忽视,并且通常用作包含小写字符的名称被忽视,并且通常用作字体形定义的标签。字体形定义的标签。形定义字节。每个定义字节都是一个代码,或者定义矢量长度和方向,或者是特殊代形定义字节。每个定义字节都是一个代码,或者定义矢量长度和方向,或者是特殊代码的对应
26、值之一。在形定义文件中,定义字节可以用十进制或十六进制表示。假如形码的对应值之一。在形定义文件中,定义字节可以用十进制或十六进制表示。假如形定义字节的第一个字符为定义字节的第一个字符为 0(零),则后面的两个字符说明为十六进制值。(零),则后面的两个字符说明为十六进制值。简洁的形定义字节在一个定义字节(一个 specbyte 字段)中,包含矢量长度和方向的编码。每个矢量的长度和方向代码是一个三字符的字符串。第一个字符必需为 0,用于指示 AutoCAD 将后面的两个字符说明为十六进制值。其次个字符指定矢量的长度。有效的十六进制值包括从 1(一单位长度)到 F(十五单位长度)。第三个字符指定矢量
27、的方向。下图展示了方向代码。矢量方向代码上图中的全部矢量都按同样的长度定义绘制。对角矢量长度延长,以匹配最接近的正交矢量的 X 或 Y位移。0123456789ABCDEF00:指示后面两个字符是16进制矢量的长度,4个二进制位表示1F矢量的方向4个二进制位表示0F13下例构造名为下例构造名为 DBOX 的形,指定形的编号为的形,指定形的编号为 230。*230,6,DBOX 014,010,01C,018,012,0 上述定义字节序列定义了一个单位长度、单位宽度的方框,以及从左下角到上述定义字节序列定义了一个单位长度、单位宽度的方框,以及从左下角到右上角的对角线。将文件保存为右上角的对角线。
28、将文件保存为 dbox.shx 后,用后,用 COMPILE 吩咐生成吩咐生成 dbox.shx 文件。用文件。用 LOAD 吩咐加载包含此定义的形文件,然后如下运用吩咐加载包含此定义的形文件,然后如下运用 SHAPE 吩咐:吩咐:吩咐:吩咐:shape 输入形名称(或输入形名称(或?):):dbox 指定插入点:指定插入点:1,1 指定高度指定高度:2 指定旋转角度指定旋转角度:0 结果形如下图所示:结果形如下图所示:(1,1)201401001C018012 除定义矢量之外,定义字节可用下列特殊代码创建其他格式、指定特除定义矢量之外,定义字节可用下列特殊代码创建其他格式、指定特定操作。运用
29、特殊代码时,或者三字符中的其次个字符必需为定操作。运用特殊代码时,或者三字符中的其次个字符必需为 0,或者干脆,或者干脆指定代码数字(例如,指定代码数字(例如,008 和和 8 都是有效的特殊代码定义)。都是有效的特殊代码定义)。规范字节代码规范字节代码代码代码说明说明 000形定义结束形定义结束001激活绘图模式(落笔)激活绘图模式(落笔)002停止绘图模式(提笔)停止绘图模式(提笔)003将矢量长度除以下一字节将矢量长度除以下一字节 (代码(代码 3 和和 4 限制每个矢量的相对限制每个矢量的相对尺寸)尺寸)004将矢量长度乘以下一字节将矢量长度乘以下一字节005将当前位置压入堆栈将当前位
30、置压入堆栈 压入(保存)和弹出(复原)当前坐标位压入(保存)和弹出(复原)当前坐标位置,可置,可006从堆栈弹出当前位置从堆栈弹出当前位置 从形中的其他点返回该点。从形中的其他点返回该点。007绘制编号由下一字节指定的子形绘制编号由下一字节指定的子形008由下两个字节指定的由下两个字节指定的 X-Y 位移位移 可用可用 X-Y 位移绘制非标准矢量,位移绘制非标准矢量,后跟两后跟两 个定义字节,个定义字节,X-Y 位移范围为位移范围为-128 到到+127。前面的。前面的+可选,可用可选,可用括号增加可读性。括号增加可读性。特殊代码特殊代码009多个多个 X-Y 位移,以位移,以(0,0)终止终
31、止 可绘制一系列非标准矢量。此代码后面可可绘制一系列非标准矢量。此代码后面可跟随意数量的跟随意数量的 X-Y 位移对,由位移对,由(0,0)对终止。对终止。00A(或(或 10)由下两个字节定义的八分圆弧由下两个字节定义的八分圆弧00B(或(或11)由下五个字节定义的分数圆弧由下五个字节定义的分数圆弧00C(或(或12)由由 X-Y 位移和凸度定义的圆弧位移和凸度定义的圆弧00D(或(或13)多个指定凸度的圆弧多个指定凸度的圆弧00E(或(或14)仅对垂直文字执行下一吩咐仅对垂直文字执行下一吩咐 01234567八分圆弧定义:半径:1 到 255 之间的随意值圆弧的方向(正:逆时针;负:顺时针
32、)s起先八分圆,值为 0 到 7c跨越的八分圆数,值为 0 到 7。其中0 表示整个圆10,radius,(-)0SC0:16进制标记实例实例;(C)Copyright 1997 by Autodesk,Inc.;ltypeshp.SHP-shapes for complex linetypes;*130,6,TRACK1014,002,01C,001,01C,0*131,3,ZIG012,01E,0*132,6,BOX014,020,02C,028,014,0*133,4,CIRC110,1,-040,0*134,6,BAT025,10,2,-044,02B,0四四.创建自定义菜单和工具栏,
33、以修改创建自定义菜单和工具栏,以修改 AutoCAD AutoCAD 用户界面。用户界面。菜单在很大程度上确定了菜单在很大程度上确定了 AutoCAD AutoCAD 界面的外观。假如界面的外观。假如 AutoCAD AutoCAD 中的标准菜单不包含用户常常运用的吩咐,那么用户中的标准菜单不包含用户常常运用的吩咐,那么用户可以依据实际须要自定义菜单,或者向菜单中添加所需的吩咐可以依据实际须要自定义菜单,或者向菜单中添加所需的吩咐和宏,或者将吩咐分组、合并到单个菜单项中,并将最常用的和宏,或者将吩咐分组、合并到单个菜单项中,并将最常用的吩咐放在菜单上最简洁选取的位置,工作效率会显著提高。菜吩咐
34、放在菜单上最简洁选取的位置,工作效率会显著提高。菜单文件定义了选择定点设备按钮后执行的操作。同样,下拉菜单文件定义了选择定点设备按钮后执行的操作。同样,下拉菜单、屏幕、数字化仪和图像控件菜单的功能和外观,以及工具单、屏幕、数字化仪和图像控件菜单的功能和外观,以及工具栏和加速键,均在菜单文件定义。栏和加速键,均在菜单文件定义。菜单文件实际指一组文件,这些文件共同定义和限制菜单区域的外观和功能。下表描述了 AutoCAD 的菜单文件类型:AutoCAD 菜单文件文件类型说明MNU样板菜单文件。MNC编译后的菜单文件。此二进制文件包含定义菜单功能和外观的吩咐字符串和菜单语法。MNR菜单资源文件。此二
35、进制文件包含由菜单运用的位图。MNS源菜单文件(由 AutoCAD 生成)。MNT菜单资源文件。在 MNR 文件无效(例如,只读)时生成该文件。MNL与菜单配套的 AutoLISP 程序。这些文件包含由菜单文件运用的 AutoLISP 表达式。当加载同名的菜单文件时,这些文件也载入内存。菜单文件划分为与 AutoCAD 界面的特定区域相关的几个部分。依据其功能,每个菜单区域可由一个或多个部分定义。每个部分中都包含菜单项,菜单项由名称标记、标签和菜单宏等元素组成。菜单文件的各部分用*section_name 格式的部分标签标识。下表列出了部分标签及其相关的菜单区域:部分标签 菜单区域*MENUG
36、ROUP 菜单文件组名*BUTTONSn 定点设备按钮菜单*AUXn 系统定点设备菜单*POPn 下拉/快捷菜单区域*TOOLBARS 工具栏定义*IMAGE 图像控件菜单区域*SCREEN 屏幕菜单区域*TABLETn 数字化仪菜单区域*HELPSTRINGS 当突出显示下拉菜单和快捷菜单项时,或当光标位于工具栏按钮上时,显示在状态栏中的文字*ACCELERATORS 加速键定义4-1菜单结构菜单结构菜单项的基本语法在全部支持菜单项的菜单部分中都是一样的。每个菜单菜单项的基本语法在全部支持菜单项的菜单部分中都是一样的。每个菜单项由名称标记、标签和菜单宏组成(除了项由名称标记、标签和菜单宏组成
37、(除了 Image 部分不允许名称标记)。部分不允许名称标记)。一个菜单项通常占文件的一行,格式如下:一个菜单项通常占文件的一行,格式如下:name_tag label menu_macro 菜单项实例:菜单项实例:CC_quit是菜单宏,当用户选择此菜单项时,执行菜单宏。ID_Quit ExitCC_quitID_Quit 是名称标记Exit是标签 在菜单中显示 Exit名称标记是字母和下划线(_)字符组成的字符串,干脆放置在菜单项标签之前。在菜单文件中,此字符串唯一标识一个菜单项。菜单项标签的格式和用法在每个菜单部分中都有所不同。标签内容包含在方括号()中,定义用户所看到的菜单显示或外观。
38、菜单宏中的每个字符(包括空格)都有重要含义。4-2 菜单项的基本语法菜单项的基本语法菜单宏中运用的特殊字符:;产生 ENTERM 产生 ENTERI 产生 TABSPACEBAR输入空格;菜单项中吩咐序列之间的空格等价于按 SPACEBAR 暂停以等候用户输入(不能用在加速键部分)_ 转换 AutoCAD 吩咐及其后的关键字+持续菜单宏到下一行(假如是最终一个字符)=*显示当前顶层的图像、下拉或快捷菜单*CC 重复项的前缀$加载菜单部分或输入条件 DIESEL 宏表达式($M=)的特殊字符B 切换捕获开或关(CTRL+B)C 取消吩咐(ESC)D 切换坐标显示开或关(CTRL+D)E 设置下一
39、个等轴测平面(CTRL+E)G 切换栅格开或关(CTRL+G)H 产生退格O 切换正交模式开或关(CTRL+O)P 切换 MENUECHO 开或关Q 回显全部提示、状态列表和打印输入(CTRL+Q)T 打开或关闭数字化仪(CTRL+T)V 切换当前视口(CTRL+V)Z 禁止在菜单项末尾自动增加 SPACEBAR 的空字符4-3 创建下拉菜单创建下拉菜单 下拉菜单显示为级联菜单(也称为步进菜单或层次菜单)。下拉菜单项与其他下拉菜单显示为级联菜单(也称为步进菜单或层次菜单)。下拉菜单项与其他菜单部分中的项相像,定义菜单宏的方式也与定义标准屏幕或数字化仪菜单的方式相菜单部分中的项相像,定义菜单宏的
40、方式也与定义标准屏幕或数字化仪菜单的方式相像。像。下拉菜单在下拉菜单在*POP1 到到*POP499 菜单部分中定义。加载每个菜单文件时,菜单部分中定义。加载每个菜单文件时,AutoCAD 都要查找都要查找 POPn 菜单部分。对于菜单部分。对于 POP1 到到 POP16 菜单部分,菜单部分,AutoCAD 构构造包含这些部分的标题的菜单栏。假如未定义造包含这些部分的标题的菜单栏。假如未定义 POPn 部分,部分,AutoCAD 插入缺省的插入缺省的“文文件件”和和“编辑编辑”菜单。对于任何大于菜单。对于任何大于 POP16 并小于并小于 POp500 的菜单部分,的菜单部分,AutoCAD
41、 用用 MENULOAD 吩咐或通过菜单交换把它们插入到菜单栏。吩咐或通过菜单交换把它们插入到菜单栏。MyToolsSave Ctrl+SShow MyToolbarHide MyToolbarEdit MyMenuReload MyMenuEdit PGPReload PGP 下例展示了用于创建下拉或快捷菜下例展示了用于创建下拉或快捷菜单的语法。单的语法。*POP13*MYTOOLSM_Tools&MyToolsM_Save&SavetCtrl+SCC_qsave -M_ShwTB Show MyToolbarCC_-toolbar mytools sM_HidTB Hide MyToolb
42、arCC_-toolbar mytools h -M_EMenu Edit MyMenuCCP(commandnotepad(findfilemy.mnu)PM_LMenu Reload MyMenuCCP(command_menumy.mnu)P -M_EPgp Edit PGPCCP(commandnotepad(findfileacad.pgp)PM_LPgp Reload PGPCC_re-init 16 每个菜单部分都可拥有一个或多个别名,这些别名由菜单部分标签后的每个菜单部分都可拥有一个或多个别名,这些别名由菜单部分标签后的*alias 标签定义。在上例中,标签定义。在上例中,*M
43、YTOOLS 是是 POP13 菜单的别名。留意菜单的别名。留意 POPn 菜单菜单部分不再支持部分不再支持*submenu 语法。出现在标签部分后面以及菜单项前面的语法。出现在标签部分后面以及菜单项前面的*alias 语语法是有效的。法是有效的。下拉菜单标签的语法下拉菜单标签的语法下表描述一些特殊字符,这些字符在下拉或快捷菜单标签中都拥有特殊的功能。下表描述一些特殊字符,这些字符在下拉或快捷菜单标签中都拥有特殊的功能。字符说明-下拉菜单和快捷菜单中的菜单项分隔符(运用时,不能包括任何其他字符)。+持续宏到下一行(假如是最终一个字符)。-指出下拉菜单或快捷菜单具有子菜单。-指出子菜单中的最终一
44、个下拉菜单项或快捷菜单项。-.指出子菜单中的最终一个下拉菜单项,并且结束父菜单。(每个、-和和-Point Filters特殊字符特殊字符-指出该菜单项有子菜单指出该菜单项有子菜单-.YZ.YZ特殊字符特殊字符 Text-Attributes-Extract.CCddattext特殊字符特殊字符-Pline4.4 工具栏工具栏*TOOLBARS 部分指定工具栏的缺省布局和内容。它包含每个菜单所定义工具栏的部分指定工具栏的缺省布局和内容。它包含每个菜单所定义工具栏的子菜单。子菜单。创建工具栏创建工具栏 工具栏中可包括五种不同类型的项。下例供应了每种项的语法。除分隔条以工具栏中可包括五种不同类型的
45、项。下例供应了每种项的语法。除分隔条以外,全部行都以标准的名称标记起先,名称标记用于关联帮助信息和该项。在下外,全部行都以标准的名称标记起先,名称标记用于关联帮助信息和该项。在下例中,例中,*TOOLS1 声明是子菜单,它用别名声明是子菜单,它用别名 TOOLS1 作标签来引用随后的工具栏作标签来引用随后的工具栏定义。定义。*TOOLBARS*TOOLS1TAG1 Toolbar(tbarname,orient,visible,xval,yval,rows)TAG2 Button(btnname,id_small,id_large)macro TAG3 Flyout(flyname,id_sm
46、all,id_large,icon,alias)macro TAG4 Control(element)-工具栏子菜单的第一行工具栏子菜单的第一行(TAG1)是工具栏定义,它定义工具栏的特性。子菜单是工具栏定义,它定义工具栏的特性。子菜单中其余的行是其余工具栏项的混合。上例的其次行中其余的行是其余工具栏项的混合。上例的其次行(TAG2)定义一个按钮。第三行定义一个按钮。第三行(TAG3)定义一个弹出控件。第四行定义一个特殊的控件元素。第五行定义一个分定义一个弹出控件。第四行定义一个特殊的控件元素。第五行定义一个分隔条隔条(-)。工具栏定义工具栏定义工具栏定义运用关键字工具栏定义运用关键字 Too
47、lbar,并在其后用括号包含一系列选项。,并在其后用括号包含一系列选项。TAG1 Toolbar(tbarname,orient,visible,xval,yval,rows)字符串,是工具栏的名称。该字符串必需由字母数字型的字符组成,并且除了连字符串,是工具栏的名称。该字符串必需由字母数字型的字符组成,并且除了连字符字符(-)和下划线和下划线(_)以外不能包含其他标点符号。此名称与别名协作运用,使以外不能包含其他标点符号。此名称与别名协作运用,使得可以在程序中引用工具栏。得可以在程序中引用工具栏。指定方向的关键字。有效值包括指定方向的关键字。有效值包括 Floating、Top、Bottom
48、、Left 和和 Right,不区分大小写。,不区分大小写。指定可见性的关键字。有效值为指定可见性的关键字。有效值为 Show 和和 Hide,不区分大小写。,不区分大小写。数字值,按像素指定数字值,按像素指定 X 坐标,测量坐标,测量从屏幕左边到工具栏左端的距离。从屏幕左边到工具栏左端的距离。数字值,按像素指定数字值,按像素指定 Y 坐标,坐标,测量从屏幕上边到工具栏上端测量从屏幕上边到工具栏上端的距离。的距离。数字值,指定行数。数字值,指定行数。按钮定义按钮定义按钮定义运用关键字按钮定义运用关键字 Button,并在其后用括号包含一系列选项。,并在其后用括号包含一系列选项。TAG2 But
49、ton(btnname,id_small,id_large)macro 字符串,是按钮的名称。该字符串必需由字母数字型的字符组成,并且除了连字符字符串,是按钮的名称。该字符串必需由字母数字型的字符组成,并且除了连字符(-)和下划线和下划线(_)以外不能包含其他标点符号。当光标停留在该按钮上时,此字符串以外不能包含其他标点符号。当光标停留在该按钮上时,此字符串显示为工具栏提示。显示为工具栏提示。字符串,是小图像资源(字符串,是小图像资源(16 x 15 位图)的位图)的 ID 字符串。字符串。该字符串必需由字母数字型的字符组成,并且除了连字该字符串必需由字母数字型的字符组成,并且除了连字符符(-
50、)和下划线和下划线(_)以外不能包含其他标点符号。也可以外不能包含其他标点符号。也可指定一个用户定义的位图。指定一个用户定义的位图。字符串,是大图像资源(字符串,是大图像资源(24 x 22 位图)的位图)的 ID 字字符串。该字符串必需由字母数字型的字符组成,符串。该字符串必需由字母数字型的字符组成,并且除了连字符并且除了连字符(-)和下划线和下划线(_)以外不能包含以外不能包含其他标点符号。也可指定一个用户定义的位图其他标点符号。也可指定一个用户定义的位图定义后的吩咐字符串,它遵循吩咐定义后的吩咐字符串,它遵循吩咐字符串的标准菜单项语法。字符串的标准菜单项语法。弹出定义弹出定义弹出定义运用