![计算机图形学8讲课稿_第1页](http://file4.renrendoc.com/view/b3675e48fdd8ac360163d4ae2a719da7/b3675e48fdd8ac360163d4ae2a719da71.gif)
![计算机图形学8讲课稿_第2页](http://file4.renrendoc.com/view/b3675e48fdd8ac360163d4ae2a719da7/b3675e48fdd8ac360163d4ae2a719da72.gif)
![计算机图形学8讲课稿_第3页](http://file4.renrendoc.com/view/b3675e48fdd8ac360163d4ae2a719da7/b3675e48fdd8ac360163d4ae2a719da73.gif)
![计算机图形学8讲课稿_第4页](http://file4.renrendoc.com/view/b3675e48fdd8ac360163d4ae2a719da7/b3675e48fdd8ac360163d4ae2a719da74.gif)
![计算机图形学8讲课稿_第5页](http://file4.renrendoc.com/view/b3675e48fdd8ac360163d4ae2a719da7/b3675e48fdd8ac360163d4ae2a719da75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学81概述图形软件的研究和开发的模式:1)完全自主开发
国内开发的自主版权图形软件:开目CAD、CAXA等2)在通用几何平台上开发
当前最流行的两种几何造型平台:ParasolidACIS3)在通用图形支撑软件上定制图形应用软件AutoCAD软件的定制(用户化开发)
AutoCAD是开放式结构的通用绘图系统,用户可以根据需要扩展和调整AutoCAD的功能。
AutoCAD用支持文件保存用户自定义、加载AutoLISP和ObjectARX应用程序以及描述文字字体等。许多支持文件是文本文件,可以用文本编辑器进行修改。(1)AutoCAD中自定义的支持文件文件 说明*.ahp AutoCAD帮助文件。相关的帮助索引文件的扩展名为.hdx。asi.ini 数据库连接的转换映射文件。*.dcl AutoCAD对话框控制语言(DCL)程序文件。*.linAutoCAD线型定义文件。acad.lin 标准AutoCAD线型库文件。acadiso.lin标准AutoCADISO线型库文件。1)用户自定义*.lsp AutoLISP程序文件。acad.lsp 每次启动AutoCAD时加载的用户自定义AutoLISP例行程序。acaddoc.lsp每次开始一个图形时加载的用户自定义AutoLISP例行程序。*.mln 多线库文件。*.mnl AutoCAD菜单使用的AutoLISP例行程序。acad.mnl标准AutoCAD菜单使用的AutoLISP例行程序。*.mns AutoCAD生成的菜单源文件。acad.mns标准AutoCAD菜单的源文件。*.mnu AutoCAD菜单源文件。acad.mnu标准AutoCAD菜单的源文件。*.pat AutoCAD填充图案定义文件。acad.pat 标准AutoCAD填充图案库文件。acadiso.pat标准AutoCADISO填充图案库文件。acad.pgpAutoCAD程序参数文件。包含外部命令和命令别名的定义。fontmap.ps AutoCAD字体映射文件。由PSIN使用,是AutoCADPostScript_解释器能识别的全部字体的目录(或字体映射)。acad.psf AutoCADPostScript支持文件,PSOUT和PSFILL命令的主要支持文件。acad.rx 列出启动AutoCAD时加载的ObjectARX应用程序。*.scr AutoCAD脚本文件。脚本文件包含一组AutoCAD命令,其运行方式与批处理文件相似。*.shp AutoCAD形/字体定义文件。编译后形/字体文件的扩展名为.shx。acad.untAutoCAD单位定义文件。包含进行单位换算所需的数据。
AutoCAD程序参数文件acad.pgp是ASCII文本文件,用于保存命令定义。可将此文件当作自定义AutoCAD命令的列表。当用户输入不常用的命令时,AutoCAD在acad.pgp中查找该命令。此文件分成两个部分:第一部分定义外部命令,第二部分定义命令别名。此文件可以用分号(;)引入说明文字。(2)AutoCAD2000中的基本自定义类型一.在AutoCAD中运行外部程序。
只要在程序参数文件acad.pgp中加入适当的外部命令,就可以在AutoCAD内部复制磁盘或删除文件。对于经常使用的AutoCAD命令,可以创建它们的简单缩写,即别名。别名也是在程序参数文件acad.pgp中定义的。●在AutoCAD运行时,用户可调用其他程序或实用工具,例如:Windows系统命令和实用工具,例如start、type、dir或copy 应用程序,例如文本编辑器或字处理器 数据库管理程序、电子表格和通讯程序 用户提供的程序,例如批处理文件或VisualBasic应用程序
定义外部命令时,需要指定在AutoCAD命令提示中使用的命令名称,以及传递给操作系统的可执行命令字符串。外部命令部分中的每行都包括以逗号分隔的五个字段,如下所示:command,[executable],flags[,[*]prompt[,return_code]]
在命令提示中输入的命令。如果此名称是AutoCAD内部命令名称,则该命令将被忽略。这个名称不区分大小写。输入命令名时传递给操作系统的固定字符串,可以是能在操作系统提示中执行的任何命令,可包含开关或参数。该字符串是否区分大小写由运行的应用程序决定。必要的位编码参数,按任意组合将这些整数值相加以得到所需的结果。此字段可选。它指定显示在AutoCAD命令行中的提示,提示的响应被添加到executable字段提供的字符串后。可选的位编码参数。可将这些整数值按任意组合相加以得到所需的结果。●在acad.pgp的命令别名部分中为常用的AutoCAD命令、设备驱动程序命令或外部命令定义别名,这样可以缩短这些命令。在acad.pgp文件中,由逗号分隔的两个字段定义命令别名:abbreviation,*command创建别名的AutoCAD命令。必须在命令名前输入星号(*)来表示该行为命令别名。当用户输入命令别名时,AutoCAD在命令提示中显示完整的命令名并执行该命令。在命令提示中输入的命令的别名。例如标准acad.pgp文件中的命令别名:A,*ARCC,*CIRCLECP,*COPY命令别名部分可包含带特殊的负号(-)前缀的命令,如下所示。这使用户可以创建别名来访问某些命令的命令行形式。BH,*-BHATCHBD,*-BOUNDARY注意不能在命令脚本中使用命令别名,同时建议不要在菜单文件中使用命令别名。;ExamplesofexternalcommandsforcommandwindowsCATALOG,DIR/W,8,指定文件:,DEL,DEL,8,要删除的文件:,DIR,DIR,8,指定文件:,EDIT,STARTEDIT,9,要编辑的文件:,SH,,1,*操作系统命令:,SHELL,,1,*操作系统命令:,START,START,1,*要启动的应用程序:,TYPE,TYPE,8,要列出的文件:,;--SamplealiasesforAutoCADcommands--;Theseexamplesincludemostfrequentlyusedcommands.3A,*3DARRAY3F,*3DFACE3P,*3DPOLYA,*ARCAA,*AREAAL,*ALIGNAR,*ARRAYATT,*ATTDEF-ATT,*-ATTDEFATE,*ATTEDIT-ATE,*-ATTEDITATTE,*-ATTEDITB,*BLOCK
二.通过创建帮助文件,可以自定义AutoCAD命令的帮助,也可以为自己的应用程序定义帮助。WinHelp编译器从特殊编码的RTF(超文本格式)文件中生成帮助文件。因为RTF是MicrosoftWord的一种标准输出格式,所以Word是常用的WinHelp文件编写环境。三.创建自定义线型、填充图案、形和文字样式。
AutoCAD线型由线型定义文件定义。线型定义文件的扩展名为.lin。AutoCAD线型由一系列用逗号分隔的点和划组成,并可包含嵌入的形和文字对象。缺省的线型文件是acadiso.lin。用户可打印此文件,以便更好地理解如何构造线型。
仅由点、划和空格组成的线型称为简单线型;不仅包含点、划和空格,还包含嵌入的形和文字对象的线型称为复杂线型。尽管AutoCAD对这两种线型的处理很相似,但它们的定义有很大区别。有两种方法可创建和修改线型定义:一种是用文本编辑器或字处理器编辑LIN文件,另一种是用-LINETYPE命令的“创建”选项。不能在命令行中创建或修改复杂线型。
一个线型文件可包含许多线型定义。用户可将自定义线型加入acad.lin文件或构造自己的线型库文件。LIN文件可通过分号引入注释,以分号开始的行中的任何文字都将被忽略。
在LIN文件中,每个线型用两行来定义。第一行定义线型的名称并提供可选的说明。*linetype-name[,description]这一行必须以星号开始,其后紧跟线型名称。如果有说明,则必须用逗号将它与名称分开,而且不能超过47个字符。说明帮助用户了解线型的外观,AutoCAD并不使用它。第二行是描述实际图案的代码。alignment,patdesc-1,patdesc-2,...这一行以对齐方式代码(当前只允许使用A)开始,其后是用逗号分隔的图案描述(不允许出现空格)。线型不能在创建时自动加载到图形中,而需要用LINETYPE命令的“加载”选项来加载。3-1线型的定义实例:中心线线型定义*DD1,____.____.____.____.A,.5,-25,0,-25DD1是线型的名称,description字段是LAYERLtype?命令序列所显示的线型说明。在此例中,说明是点划线图案的简单表示。说明是可选的,可以是一系列点、空格和划,也可以是如同“此线型用于隐藏线”的注释。如果要省略说明,则不能在线型名称后面加逗号;如果要包括说明,则其长度不能超过47个字符。alignment字段指定在直线、圆和圆弧末端的图案对齐操作。当前,AutoCAD只支持一种对齐操作,通过在此字段中输入A加以指定。使用LINETYPE的“创建”选项时,A是自动输入的;但如果用文本编辑器创建线型定义,则必须手动加入A。AutoCAD拒绝在alignment字段中接受任何其他字符。每个pat-n字段指定组成线型的一个线段的长度。长度为正时,画一条实线段;长度为负时,画一条空线段;长度为0时,画一个点。每个线型至多可以有12个线段长度定义,但这些定义必须在一行中,并且总长度不能超过80个字符。AutoCAD通过A类对齐保证直线和圆弧的两端都是划。
为AutoCAD开发填充图案定义需要一个文本编辑器。可将图案加入库文件acad.pat或将它单独保存在一个文件中。将图案单独保存时,文件名必须与图案名相同。例如,名为PIT的图案必须保存在文件pit.pat中。不管定义保存在什么文件中,其格式都是一样的。它包括如下格式的标题行:*pattern-name[,description]还包括一行或多行如下形式的说明:angle,x-origin,y-origin,delta-x,delta-y[,dash-1,dash-2,...]例如,图案L45用间隔为0.5图形单位的45度直线进行填充,其定义如下:*L45,45degreelines45,0,0,0,0.5这个简单图案指定:直线按45度角绘制,填充直线族中的第一条直线穿过图形原点(0,0),且填充直线之间的距离为0.5图形单位。L45是图案的名称,这里的说明字段是图案由HATCH命令的“?”选项显示时的可选说明。(如果省略说明,则图案名后不能有逗号。)图案定义文件的每一行最多可包含80个字符。AutoCAD忽略空行和分号右边的文字。3-2填充图案定义
用AutoCAD可以定义文字字体和用作图形符号的形。“形”是一种对象,使用时,首先要用LOAD命令加载包含所需形定义的编译后的形文件,然后用SHAPE命令将形从该文件插入图形中。将形加入图形时,可进行缩放和旋转。AutoCADSHP字体是特殊类型的形文件,其定义方式与形的定义方式相同。与形相比,块更容易使用,且用途更加广泛。但对AutoCAD而言,形占用空间较小,绘制速度较快。当用户必须重复插入一个简单图形且速度非常重要时,用户定义的形将非常有用。AutoCAD字体和形文件(SHX)从形定义文件(SHP)生成(编译成)。形定义文件可用文本编辑器或能将文件存为ASCII格式的字处理器创建或编辑。每个形(或字符)的形说明语法都不考虑形说明的最后用法(用作形或字体)。如果形定义文件被用作字体文件,则文件中的第一个条目必须描述字体本身,而不是该文件中的形;如果第一个条目描述一个形,则该文件被用作形文件。AutoCAD附带两个样板形文件:pc.shx和es.shx。其中,一个用于印刷电路布局,另一个用于电子图表。查看这两个文件的内容并修改它们的形说明,有助于掌握AutoCAD形定义。3-3形定义形定义文件的每一行最多可包含128个字符,超过此长度的行不能编译。AutoCAD忽略空行和分号右边的文字。利用分号可以在形定义文件中包含注释。每个形说明都有一个标题行(格式如下),以及一行或多行定义字节。这些定义字节之间用逗号分隔,最后以0结束。*shapenumber,defbytes,shapenamespecbyte1,specbyte2,specbyte3,...,0型编号:数字,在文件中唯一,在1到258(对Unicode字体最多可达65535)之间,带前缀星号(*)。字体(包含每个字符的形定义的文件)的编号要与每个字符的ASCII码对应;其他形可指定任意数字。用于描述形的数据字节(specbytes)的数目,包括末尾的零。每个形最多可有2,000个数据字节。形的名称。形名称必须大写,以便于区分。包含小写字符的名称被忽略,并且通常用作字体形定义的标签。形定义字节。每个定义字节都是一个代码,或者定义矢量长度和方向,或者是特殊代码的对应值之一。在形定义文件中,定义字节可以用十进制或十六进制表示。如果形定义字节的第一个字符为0(零),则后面的两个字符解释为十六进制值。
简单的形定义字节在一个定义字节(一个specbyte字段)中,包含矢量长度和方向的编码。每个矢量的长度和方向代码是一个三字符的字符串。第一个字符必须为0,用于指示AutoCAD将后面的两个字符解释为十六进制值。第二个字符指定矢量的长度。有效的十六进制值包括从1(一单位长度)到F(十五单位长度)。第三个字符指定矢量的方向。下图展示了方向代码。矢量方向代码上图中的所有矢量都按同样的长度定义绘制。对角矢量长度延长,以匹配最接近的正交矢量的X或Y位移。0123456789ABCDEF00:指示后面两个字符是16进制矢量的长度,4个二进制位表示1~F矢量的方向4个二进制位表示0~F13下例构造名为DBOX的形,指定形的编号为230。*230,6,DBOX014,010,01C,018,012,0上述定义字节序列定义了一个单位长度、单位宽度的方框,以及从左下角到右上角的对角线。将文件保存为dbox.shx后,用COMPILE命令生成dbox.shx文件。用LOAD命令加载包含此定义的形文件,然后如下使用SHAPE命令:命令:shape输入形名称(或?):dbox指定插入点:1,1指定高度<当前值>:2指定旋转角度<当前值>:0结果形如下图所示:(1,1)201401001C018012除定义矢量之外,定义字节可用下列特殊代码创建其他格式、指定特定操作。使用特殊代码时,或者三字符中的第二个字符必须为0,或者直接指定代码数字(例如,008和8都是有效的特殊代码定义)。规范字节代码代码 说明
000 形定义结束001 激活绘图模式(落笔)002 停止绘图模式(提笔)003 将矢量长度除以下一字节(代码3和4控制每个矢量的相对尺寸)004 将矢量长度乘以下一字节005 将当前位置压入堆栈压入(保存)和弹出(恢复)当前坐标位置,可006 从堆栈弹出当前位置从形中的其他点返回该点。007 绘制编号由下一字节指定的子形008 由下两个字节指定的X-Y位移可用X-Y位移绘制非标准矢量,后跟两个定义字节,X-Y位移范围为-128到+127。前面的+可选,可用括号增强可读性。特殊代码009 多个X-Y位移,以(0,0)终止可绘制一系列非标准矢量。此代码后面可跟任意数量的X-Y位移对,由(0,0)对终止。00A(或10) 由下两个字节定义的八分圆弧00B(或11) 由下五个字节定义的分数圆弧00C(或12) 由X-Y位移和凸度定义的圆弧00D(或13) 多个指定凸度的圆弧00E(或14) 仅对垂直文字执行下一命令01234567八分圆弧定义:半径:1到255之间的任意值圆弧的方向(正:逆时针;负:顺时针)s开始八分圆,值为0到7c跨越的八分圆数,值为0到7。其中0表示整个圆10,radius,(-)0SC0:16进制标记实例;;;;(C)Copyright1997byAutodesk,Inc.;;;ltypeshp.SHP-shapesforcomplexlinetypes;;;*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四.创建自定义菜单和工具栏,以修改AutoCAD用户界面。
菜单在很大程度上决定了AutoCAD界面的外观。如果AutoCAD中的标准菜单不包含用户经常使用的命令,那么用户可以根据实际需要自定义菜单,或者向菜单中添加所需的命令和宏,或者将命令分组、合并到单个菜单项中,并将最常用的命令放在菜单上最容易选取的位置,工作效率会显著提高。菜单文件定义了选择定点设备按钮后执行的操作。同样,下拉菜单、屏幕、数字化仪和图像控件菜单的功能和外观,以及工具栏和加速键,均在菜单文件定义。菜单文件实际指一组文件,这些文件共同定义和控制菜单区域的外观和功能。下表描述了AutoCAD的菜单文件类型:AutoCAD菜单文件文件类型 说明MNU 样板菜单文件。MNC 编译后的菜单文件。此二进制文件包含定义菜单功能和外观的命令字符串和菜单语法。MNR 菜单资源文件。此二进制文件包含由菜单使用的位图。MNS 源菜单文件(由AutoCAD生成)。MNT 菜单资源文件。在MNR文件无效(例如,只读)时生成该文件。MNL 与菜单配套的AutoLISP程序。这些文件包含由菜单文件使用的AutoLISP表达式。当加载同名的菜单文件时,这些文件也载入内存。
菜单文件划分为与AutoCAD界面的特定区域相关的几个部分。按照其功能,每个菜单区域可由一个或多个部分定义。每个部分中都包含菜单项,菜单项由名称标记、标签和菜单宏等元素组成。菜单文件的各部分用***section_name格式的部分标签标识。下表列出了部分标签及其相关的菜单区域:部分标签 菜单区域***MENUGROUP 菜单文件组名***BUTTONSn 定点设备按钮菜单***AUXn 系统定点设备菜单***POPn下拉/快捷菜单区域***TOOLBARS 工具栏定义***IMAGE 图像控件菜单区域***SCREEN 屏幕菜单区域***TABLETn 数字化仪菜单区域***HELPSTRINGS 当突出显示下拉菜单和快捷菜单项时,或当光标位于工具栏按钮上时,显示在状态栏中的文字***ACCELERATORS 加速键定义4-1菜单结构●菜单项的基本语法在所有支持菜单项的菜单部分中都是一致的。每个菜单项由名称标记、标签和菜单宏组成(除了Image部分不允许名称标记)。一个菜单项通常占文件的一行,格式如下:name_taglabelmenu_macro
菜单项实例:^C^C_quit是菜单宏,当用户选择此菜单项时,执行菜单宏。ID_Quit[Exit]^C^C_quitID_Quit是名称标记[Exit]是标签在菜单中显示Exit名称标记是字母和下划线(_)字符组成的字符串,直接放置在菜单项标签之前。在菜单文件中,此字符串唯一标识一个菜单项。菜单项标签的格式和用法在每个菜单部分中都有所不同。标签内容包含在方括号([])中,定义用户所看到的菜单显示或外观。菜单宏中的每个字符(包括空格)都有重要含义。4-2菜单项的基本语法●菜单宏中使用的特殊字符:; 产生ENTER^M 产生ENTER^I 产生TABSPACEBAR 输入空格;菜单项中命令序列之间的空格等价于按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的空字符4-3创建下拉菜单●下拉菜单显示为级联菜单(也称为步进菜单或层次菜单)。下拉菜单项与其他菜单部分中的项相似,定义菜单宏的方式也与定义标准屏幕或数字化仪菜单的方式相似。
●下拉菜单在***POP1到***POP499菜单部分中定义。加载每个菜单文件时,AutoCAD都要查找POPn菜单部分。对于POP1到POP16菜单部分,AutoCAD构造包含这些部分的标题的菜单栏。如果未定义POPn部分,AutoCAD插入缺省的“文件”和“编辑”菜单。对于任何大于POP16并小于POp500的菜单部分,AutoCAD用MENULOAD命令或通过菜单交换把它们插入到菜单栏。MyToolsSaveCtrl+SShowMyToolbarHideMyToolbarEditMyMenuReloadMyMenuEditPGPReloadPGP●下例展示了用于创建下拉或快捷菜单的语法。***POP13**MYTOOLSM_Tools[&MyTools]M_Save[&Save\tCtrl+S]^C^C_qsave[--]M_ShwTB[ShowMyToolbar]^C^C_-toolbarmytoolssM_HidTB[HideMyToolbar]^C^C_-toolbarmytoolsh[--]M_EMenu[EditMyMenu]^C^C^P(command"notepad"(findfile"my.mnu"))^PM_LMenu[ReloadMyMenu]^C^C^P(command"_menu""my.mnu")^P[--]M_EPgp[EditPGP]^C^C^P(command"notepad"(findfile"acad.pgp"))^PM_LPgp[ReloadPGP]^C^C_re-init16每个菜单部分都可拥有一个或多个别名,这些别名由菜单部分标签后的**alias标签定义。在上例中,**MYTOOLS是POP13菜单的别名。注意POPn菜单部分不再支持**submenu语法。出现在标签部分后面以及菜单项前面的**alias语法是有效的。●下拉菜单标签的语法下表描述一些特殊字符,这些字符在下拉或快捷菜单标签中都拥有特殊的功能。字符 说明-- 下拉菜单和快捷菜单中的菜单项分隔符(使用时,不能包括任何其他字符)。+ 延续宏到下一行(如果是最后一个字符)。-> 指出下拉菜单或快捷菜单具有子菜单。<- 指出子菜单中的最后一个下拉菜单项或快捷菜单项。<-<-... 指出子菜单中的最后一个下拉菜单项,并且结束父菜单。(每个<-结束一级父菜单。)$( 如果作为第一个字符,则使下拉菜单或快捷菜单项标签求DIESEL字符串宏的值。~ 禁用菜单项的前缀符。!. 给菜单项打上复选标记的前缀符。& 直接放在下拉菜单或快捷菜单标签中一个字符之前,把该字符指定为菜单的加速键。例如,S&le显示为Sample。/c 指定下拉菜单或快捷菜单标签的菜单加速键。例如,/aSample显示为Sample。\t 把标签中这两个字符右边的文字推到菜单的右边。上表列出了可用作菜单标签中第一个字符的所有非字母数字型字符。未列在上表中的非字母数字型字符留待将来用作特殊菜单字符。●下拉菜单栏标题下拉菜单的第一个标签定义了它的菜单栏标题,随后的标签则定义菜单和子菜单项。***POP2ID_MnEdit [编辑(&E)]ID_U [放弃(&U)\tCtrl+Z]_uID_Redo [重做(&R)\tCtrl+Y]^C^C_redo在***POP2部分标签的下一行中,标签[编辑(&E)]使“编辑(E)”显示为菜单栏标题,字母E带下划线,表明它是菜单的加速键。与菜单标题相关的名称标记(ID_MnEdit)可用于启用或禁用这整个菜单。下拉菜单的标题不能与菜单宏关联。●级联子菜单下拉菜单的标签用特殊字符(例如->、<-和<-<-...)来控制级联菜单的层次结构。[->PointFilters]特殊字符->指出该菜单项有子菜单[<-.YZ].YZ特殊字符<-指出该项是子菜单的最后一项[->Text][->Attributes][<-<-Extract...]^C^Cddattext特殊字符<-<-...指出该项是子菜单的最后一项,也是父菜单的最后一项。●菜单项标签的分隔要创建分隔条,可使用两个连字符作为标签:[--]因为每个下拉菜单的宽度是由其最长标签决定的,所以上述标记将扩展为一个分隔条,并充满菜单的整个宽度。用户不能从菜单中选择分隔条,任何分配给它们的菜单宏都将被忽略。●禁用标签以波浪号(~)开始的菜单项标签将被禁用(变暗)。根据惯例,这表示该项暂时不可用。与该菜单项相关的任何命令都不会产生,并且不能访问它的任何子菜单。例如,下列菜单标签都被禁用。[~Line][~->Pline]4.4工具栏***TOOLBARS部分指定工具栏的缺省布局和内容。它包含每个菜单所定义工具栏的子菜单。●创建工具栏工具栏中可包括五种不同类型的项。下例提供了每种项的语法。除分隔条以外,所有行都以标准的名称标记开始,名称标记用于关联帮助信息和该项。在下例中,**TOOLS1声明是子菜单,它用别名TOOLS1作标签来引用随后的工具栏定义。***TOOLBARS**TOOLS1TAG1[Toolbar("tbarname",orient,visible,xval,yval,rows)]TAG2[Button("btnname",id_small,id_large)]macroTAG3[Flyout("flyname",id_small,id_large,icon,alias)]macroTAG4[Control(element)][--]工具栏子菜单的第一行(TAG1)是工具栏定义,它定义工具栏的特性。子菜单中其余的行是其余工具栏项的混合。上例的第二行(TAG2)定义一个按钮。第三行(TAG3)定义一个弹出控件。第四行定义一个特殊的控件元素。第五行定义一个分隔条(--)。●工具栏定义工具栏定义使用关键字Toolbar,并在其后用括号包含一系列选项。TAG1[Toolbar("tbarname",orient,visible,xval,yval,rows)]字符串,是工具栏的名称。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。此名称与别名配合使用,使得可以在程序中引用工具栏。指定方向的关键字。有效值包括Floating、Top、Bottom、Left和Right,不区分大小写。指定可见性的关键字。有效值为Show和Hide,不区分大小写。数字值,按像素指定X坐标,测量从屏幕左边到工具栏左端的距离。数字值,按像素指定Y坐标,测量从屏幕上边到工具栏上端的距离。数字值,指定行数。●按钮定义按钮定义使用关键字Button,并在其后用括号包含一系列选项。TAG2[Button("btnname",id_small,id_large)]macro
字符串,是按钮的名称。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。当光标停留在该按钮上时,此字符串显示为工具栏提示。字符串,是小图像资源(16x15位图)的ID字符串。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。也可指定一个用户定义的位图。字符串,是大图像资源(24x22位图)的ID字符串。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。也可指定一个用户定义的位图定义后的命令字符串,它遵循命令字符串的标准菜单项语法。●弹出定义弹出定义使用关键字Flyout,并在其后用括号包含一系列选项。TAG3[Flyout("flyname",id_small,id_large,icon,alias)]macro字符串,是弹出控件的名称。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。当光标停留在该弹出控件上时,此字符串显示为工具栏提示。字符串,是小图像资源(16x15位图)的ID字符串。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。也可指定一个用户定义的位图。字符串,是大图像资源(24x22位图)的ID字符串。该字符串必须由字母数字型的字符组成,并且除了连字符(-)和下划线(_)以外不能包含其他标点符号。也可指定一个用户定义的位图。布尔型关键字,用于控制显示自己的图标或显示上一次选定的图标(另一个图标)。有效值为OwnIcon和OtherIcon,不区分大小写。对要显示为弹出控件的工具栏的引用。定义后的命令字符串●控件定义控件定义使用关键字Control,并在其后用括号包含指定所需控件元素类型的名称。TAG4[Control(element)]element参数可能的值如下(它们不区分大小写)_Color:指定颜色控件元素。此元素是一个下拉列表,它提供当前颜色的定义。_Dimstyle:指定标注样式控件元素。此元素是一个下拉列表,它提供当前标注样式的定义。_Layer:指定图层控件元素。此元素是一个下拉列表,它提供图形中当前图层的控件。_Linetype:指定线型控件元素。此元素是一个下拉列表,它提供当前线型的定义。_Lineweight:指定线宽控件元素。此元素是一个下拉列表,它提供当前线宽的定义。_PlotStyle:指定打印样式控件元素。此元素是一个下拉列表,它提供当前打印样式的定义。_Refblkname:指定外部参照名称控件元素。它在编辑模式显示当前外部参照名称。_UCSManager:指定UCS控件元素。此元素是一个下拉列表,它提供当前UCS的定义。_View:指定视图控件元素。此元素是一个下拉列表,它提供当前标准三维视图的定义。_ViewportScale:指定视口缩放比例控件元素。此元素是一个下拉列表,它在布局模式下提供视口缩放比例的定义。●用户定义的位图用户定义的位图可用于代替id_small和id_big图像资源的名称。对于id_small参数,用户定义的位图必须是16像素宽、15像素高,并且必须位于库搜索路径中。对于id_big参数,如果指定的位图不是24x22,则AutoCAD自动缩放到该尺寸。可用文件名和.bmp扩展名指定用户定义的位图。TAG34[Button("MyCommand",mycmd16.bmp,mycmd24.bmp)]^C^CMYCMD4.5图像控件菜单图像控件菜单主要用来当用户选择一个图形符号时提供图像。图像控件菜单通过在菜单文件中提供***IMAGE部分来定义。AutoCAD按每20个一组显示图像,并用滚动列表包含相关的幻灯片名称或文字。图像控件子菜单的长度没有限制:如果图像控件子菜单包含的幻灯片超过20个,AutoCAD将提供“下一个”和“上一个”按钮,用户可用这两个按钮浏览图像。●图像控件菜单项图像部分使用与工具栏和屏幕部分相似的子菜单。与弹出式菜单部分一样,子菜单的第一行是它的标题。该标题显示为包含该图像的对话框的标签。每个子菜单应该至少用一个空行分隔,使它与前一个子菜单的项分开。图像控件菜单项用标签来定义滚动列表的文字和图像本身。标签后面是关联的菜单宏。图像控件菜单不能包含名称标记。○
图像控件菜单项标签图像控件菜单中的标签通常指向幻灯文件名,而不是显示在屏幕上的文字标签。幻灯文件可以是单个幻灯片,也可以是幻灯库的一部分。显示的幻灯文件名称应该与VSLIDE命令中输入的名称完全相同。幻灯文件中包含要显示的图像。SLIDELIB命令用来把多个幻灯文件结合到一个幻灯库中。图像控件菜单标签显示在滚动列表中,该列表中的每个标签最多可有19个字符。通常列表中显示的是幻灯文件名,但也可以使用下列图标菜单标签选项。○图像控件菜单宏除了不能使用菜单宏重复功能以外,图像控件菜单宏执行的功能与其他菜单宏相同。这些菜单宏可包含菜单命令(包括$I=命令),因此可以构造级联的图像控件菜单。即选择某个图像控件菜单项后,它将显示另一个图像控件菜单。因为这些菜单是顺序激活,而不是嵌套激活的,所以对所创建菜单结构的复杂度没有限制。●显示图像控件菜单图像控件菜单必须加载之后才能显示。加载一个图像控件菜单语法如下:$I=[menugroup.]menuname
显示当前加载的图像控件菜单的宏命令:
$I=*举例:加载图像菜单IMAGE_POLY,并将它显示在基本菜单中的宏命令:
$I=image_poly$I=*从一个局部加载的菜单组MYGROUP中加载并显示图像菜单MYBLOCKS。
$I=mygroup.myblocks$I=*也可以用AutoLISPmenucmd函数来加载并显示图像控件菜单。(menucmd"I=mygroup.myblocks")(menucmd"I=*")○名为**3DOBJECTS的样板图像控件子菜单:**3DOBJECTS[三维对象][acad(box3d,长方体表面)]^c^cai_box[acad(Pyramid,棱锥面)]^c^cai_pyramid[acad(Wedge,楔体表面)]^c^cai_wedge[acad(Dome,上半球面)]^c^cai_dome[acad(Sphere,球面)]^c^cai_sphere[acad(Cone,圆锥面)]^c^cai_cone[acad(Torus,圆环面)]^c^cai_torus[acad(Dish,下半球面)]^c^cai_dish[acad(Mesh,网格)]^c^cai_mesh●样板图像控件菜单○用于插入各种电子元件的图像控件菜单:。(文本标签是与包含各种插座的图像控件子菜单进行交换的菜单项)***IMAGE**IPARTS[ElectronicParts][cap]^Cinsertcap[res]^Cinsertres[neon]^Cinsertneon[triode]^Cinserttriode[tetrode]^Cinserttetrode[Fasteners]$I=ifast$I=***IFAST[Fasteners][nut632]...○要激活此图像控件菜单,可从任何菜单中选择如下所示的菜单项。[Electronicparts]$I=iparts$I=*●为图像控件菜单准备幻灯片
保持简单。当图像控件菜单显示时,用户必须等所有的图像都显示完毕后才能进行选择。如果要用图像控件菜单显示大量复杂的符号,则请使用这些符号的简单形式,而不要使用其完整的图像。图像应该尽可能简单,但同时也应该容易区分。
充满空间。屏幕空间有限,而且图像只显示在屏幕的很小一部分空间中,因此在为图像制作幻灯片时,请确保在输入MSLIDE命令之前用图像充满整个屏幕。如果图像又宽又短或者又长又窄,则在显示幻灯片之前,用PAN命令居中显示图像时,屏幕菜单的显示效果最佳。
图像以3:2的宽高比(3单位宽度比2单位高度)显示。如果绘图区域的宽高比不是3:2,则很难在图像控件菜单正中产生幻灯图像。如果工作在宽高比为3:2的浮动视口中,则可以定位图像并可保证图像在图像控件菜单中显示时不变形。
不要把图像作为将抽象概念编码为符号的手段。
可将任何由AutoCAD生成的幻灯片用作图像。但图像控件菜单的理想用法需要用户精心准备用作图像的幻灯片。需遵守如下原则:2)编程接口除了命令行和菜单界面以外,AutoCAD还提供了命令脚本功能和应用编程接口(API),用户可用此接口控制图形和数据库。编程接口包括ActiveXAutomation、VBA(VisualBasicforApplications)、AutoLISP、VisualLISP和ObjectARX。用户所使用的接口类型由应用程序的需要和编程经验决定。一.命令脚本AutoCAD提供从文本文件中读取命令的脚本功能,可连续执行一系列命令。用户可以在启动AutoCAD时调用脚本,也可以用SCRIPT命令在AutoCAD中运行脚本。脚本功能模块提供了一种简单方法,用于创建连续显示的产品演示和商业展示。用户可以用文本编辑器(例如MicrosoftWin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北师数学六下第三单元教学分析
- 2024-2025学年安徽省合肥市六校联盟高一(上)期末地理试卷
- 2024-2025学年天津市红桥区高一上学期期末考试物理试题(解析版)
- 2023-2024学年广东省揭阳市揭西县高二下学期第一次月考物理试卷(解析版)
- 现代人健康饮食模式与环境保护的关联
- 江苏省2025年普通高中学业水平合格性考试调研物理试卷(解析版)
- 湖南省岳阳市临湘市2024-2025学年高二上学期11月期中考试物理试题(解析版)
- 知识产权教育电商平台商业价值的保护伞
- 电商行业的绿色包装与可持续发展
- 一建《法规及相关知识》试题库资料练习含【参考答案-】卷7
- NB/T 11526-2024煤矿微震监测系统通用技术条件
- 2025年福建长汀金龙稀土有限公司招聘笔试参考题库含答案解析
- (2024)云南省公务员考试《行测》真题及答案解析
- 公司安全事故隐患内部举报、报告奖励制度
- 统编版语文五年级下册 《古诗三首》公开课一等奖创新教学设计及反思
- 工程伦理-第章工程与伦理通用PPT课件
- 我眼中的中国发展(课堂PPT)
- 稻谷品质测定指标及方法
- 公司面试评价表
- 航空煤油 MSDS 安全技术说明书
- 机关事业单位工作人员年考核民主测评表
评论
0/150
提交评论