計算機圖形學(xué)8講課稿_第1頁
計算機圖形學(xué)8講課稿_第2頁
計算機圖形學(xué)8講課稿_第3頁
計算機圖形學(xué)8講課稿_第4頁
計算機圖形學(xué)8講課稿_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機圖形學(xué)81概述圖形軟件的研究和開發(fā)的模式:1)完全自主開發(fā)

國內(nèi)開發(fā)的自主版權(quán)圖形軟件:開目CAD、CAXA等2)在通用幾何平臺上開發(fā)

當(dāng)前最流行的兩種幾何造型平臺:ParasolidACIS3)在通用圖形支撐軟件上定制圖形應(yīng)用軟件AutoCAD軟件的定制(用戶化開發(fā))

AutoCAD是開放式結(jié)構(gòu)的通用繪圖系統(tǒng),用戶可以根據(jù)需要擴展和調(diào)整AutoCAD的功能。

AutoCAD用支持文件保存用戶自定義、加載AutoLISP和ObjectARX應(yīng)用程序以及描述文字字體等。許多支持文件是文本文件,可以用文本編輯器進行修改。(1)AutoCAD中自定義的支持文件文件 說明*.ahp AutoCAD幫助文件。相關(guān)的幫助索引文件的擴展名為.hdx。asi.ini 數(shù)據(jù)庫連接的轉(zhuǎn)換映射文件。*.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程序參數(shù)文件。包含外部命令和命令別名的定義。fontmap.ps AutoCAD字體映射文件。由PSIN使用,是AutoCADPostScript_解釋器能識別的全部字體的目錄(或字體映射)。acad.psf AutoCADPostScript支持文件,PSOUT和PSFILL命令的主要支持文件。acad.rx 列出啟動AutoCAD時加載的ObjectARX應(yīng)用程序。*.scr AutoCAD腳本文件。腳本文件包含一組AutoCAD命令,其運行方式與批處理文件相似。*.shp AutoCAD形/字體定義文件。編譯后形/字體文件的擴展名為.shx。acad.untAutoCAD單位定義文件。包含進行單位換算所需的數(shù)據(jù)。

AutoCAD程序參數(shù)文件acad.pgp是ASCII文本文件,用于保存命令定義。可將此文件當(dāng)作自定義AutoCAD命令的列表。當(dāng)用戶輸入不常用的命令時,AutoCAD在acad.pgp中查找該命令。此文件分成兩個部分:第一部分定義外部命令,第二部分定義命令別名。此文件可以用分號(;)引入說明文字。(2)AutoCAD2000中的基本自定義類型一.在AutoCAD中運行外部程序。

只要在程序參數(shù)文件acad.pgp中加入適當(dāng)?shù)耐獠棵睿涂梢栽贏utoCAD內(nèi)部復(fù)制磁盤或刪除文件。對于經(jīng)常使用的AutoCAD命令,可以創(chuàng)建它們的簡單縮寫,即別名。別名也是在程序參數(shù)文件acad.pgp中定義的?!裨贏utoCAD運行時,用戶可調(diào)用其他程序或?qū)嵱霉ぞ?,例如:Windows系統(tǒng)命令和實用工具,例如start、type、dir或copy 應(yīng)用程序,例如文本編輯器或字處理器 數(shù)據(jù)庫管理程序、電子表格和通訊程序 用戶提供的程序,例如批處理文件或VisualBasic應(yīng)用程序

定義外部命令時,需要指定在AutoCAD命令提示中使用的命令名稱,以及傳遞給操作系統(tǒng)的可執(zhí)行命令字符串。外部命令部分中的每行都包括以逗號分隔的五個字段,如下所示:command,[executable],flags[,[*]prompt[,return_code]]

在命令提示中輸入的命令。如果此名稱是AutoCAD內(nèi)部命令名稱,則該命令將被忽略。這個名稱不區(qū)分大小寫。輸入命令名時傳遞給操作系統(tǒng)的固定字符串,可以是能在操作系統(tǒng)提示中執(zhí)行的任何命令,可包含開關(guān)或參數(shù)。該字符串是否區(qū)分大小寫由運行的應(yīng)用程序決定。必要的位編碼參數(shù),按任意組合將這些整數(shù)值相加以得到所需的結(jié)果。此字段可選。它指定顯示在AutoCAD命令行中的提示,提示的響應(yīng)被添加到executable字段提供的字符串后??蛇x的位編碼參數(shù)。可將這些整數(shù)值按任意組合相加以得到所需的結(jié)果?!裨赼cad.pgp的命令別名部分中為常用的AutoCAD命令、設(shè)備驅(qū)動程序命令或外部命令定義別名,這樣可以縮短這些命令。在acad.pgp文件中,由逗號分隔的兩個字段定義命令別名:abbreviation,*command創(chuàng)建別名的AutoCAD命令。必須在命令名前輸入星號(*)來表示該行為命令別名。當(dāng)用戶輸入命令別名時,AutoCAD在命令提示中顯示完整的命令名并執(zhí)行該命令。在命令提示中輸入的命令的別名。例如標準acad.pgp文件中的命令別名:A,*ARCC,*CIRCLECP,*COPY命令別名部分可包含帶特殊的負號(-)前綴的命令,如下所示。這使用戶可以創(chuàng)建別名來訪問某些命令的命令行形式。BH,*-BHATCHBD,*-BOUNDARY注意不能在命令腳本中使用命令別名,同時建議不要在菜單文件中使用命令別名。;ExamplesofexternalcommandsforcommandwindowsCATALOG,DIR/W,8,指定文件:,DEL,DEL,8,要刪除的文件:,DIR,DIR,8,指定文件:,EDIT,STARTEDIT,9,要編輯的文件:,SH,,1,*操作系統(tǒng)命令:,SHELL,,1,*操作系統(tǒng)命令:,START,START,1,*要啟動的應(yīng)用程序:,TYPE,TYPE,8,要列出的文件:,;--SamplealiasesforAutoCADcommands--;Theseexamplesincludemostfrequentlyusedcommands.3A,*3DARRAY3F,*3DFACE3P,*3DPOLYA,*ARCAA,*AREAAL,*ALIGNAR,*ARRAYATT,*ATTDEF-ATT,*-ATTDEFATE,*ATTEDIT-ATE,*-ATTEDITATTE,*-ATTEDITB,*BLOCK

二.通過創(chuàng)建幫助文件,可以自定義AutoCAD命令的幫助,也可以為自己的應(yīng)用程序定義幫助。WinHelp編譯器從特殊編碼的RTF(超文本格式)文件中生成幫助文件。因為RTF是MicrosoftWord的一種標準輸出格式,所以Word是常用的WinHelp文件編寫環(huán)境。三.創(chuàng)建自定義線型、填充圖案、形和文字樣式。

AutoCAD線型由線型定義文件定義。線型定義文件的擴展名為.lin。AutoCAD線型由一系列用逗號分隔的點和劃組成,并可包含嵌入的形和文字對象。缺省的線型文件是acadiso.lin。用戶可打印此文件,以便更好地理解如何構(gòu)造線型。

僅由點、劃和空格組成的線型稱為簡單線型;不僅包含點、劃和空格,還包含嵌入的形和文字對象的線型稱為復(fù)雜線型。盡管AutoCAD對這兩種線型的處理很相似,但它們的定義有很大區(qū)別。有兩種方法可創(chuàng)建和修改線型定義:一種是用文本編輯器或字處理器編輯LIN文件,另一種是用-LINETYPE命令的“創(chuàng)建”選項。不能在命令行中創(chuàng)建或修改復(fù)雜線型。

一個線型文件可包含許多線型定義。用戶可將自定義線型加入acad.lin文件或構(gòu)造自己的線型庫文件。LIN文件可通過分號引入注釋,以分號開始的行中的任何文字都將被忽略。

在LIN文件中,每個線型用兩行來定義。第一行定義線型的名稱并提供可選的說明。*linetype-name[,description]這一行必須以星號開始,其后緊跟線型名稱。如果有說明,則必須用逗號將它與名稱分開,而且不能超過47個字符。說明幫助用戶了解線型的外觀,AutoCAD并不使用它。第二行是描述實際圖案的代碼。alignment,patdesc-1,patdesc-2,...這一行以對齊方式代碼(當(dāng)前只允許使用A)開始,其后是用逗號分隔的圖案描述(不允許出現(xiàn)空格)。線型不能在創(chuàng)建時自動加載到圖形中,而需要用LINETYPE命令的“加載”選項來加載。3-1線型的定義實例:中心線線型定義*DD1,____.____.____.____.A,.5,-25,0,-25DD1是線型的名稱,description字段是LAYERLtype?命令序列所顯示的線型說明。在此例中,說明是點劃線圖案的簡單表示。說明是可選的,可以是一系列點、空格和劃,也可以是如同“此線型用于隱藏線”的注釋。如果要省略說明,則不能在線型名稱后面加逗號;如果要包括說明,則其長度不能超過47個字符。alignment字段指定在直線、圓和圓弧末端的圖案對齊操作。當(dāng)前,AutoCAD只支持一種對齊操作,通過在此字段中輸入A加以指定。使用LINETYPE的“創(chuàng)建”選項時,A是自動輸入的;但如果用文本編輯器創(chuàng)建線型定義,則必須手動加入A。AutoCAD拒絕在alignment字段中接受任何其他字符。每個pat-n字段指定組成線型的一個線段的長度。長度為正時,畫一條實線段;長度為負時,畫一條空線段;長度為0時,畫一個點。每個線型至多可以有12個線段長度定義,但這些定義必須在一行中,并且總長度不能超過80個字符。AutoCAD通過A類對齊保證直線和圓弧的兩端都是劃。

為AutoCAD開發(fā)填充圖案定義需要一個文本編輯器??蓪D案加入庫文件acad.pat或?qū)⑺鼏为毐4嬖谝粋€文件中。將圖案單獨保存時,文件名必須與圖案名相同。例如,名為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可以定義文字字體和用作圖形符號的形?!靶巍笔且环N對象,使用時,首先要用LOAD命令加載包含所需形定義的編譯后的形文件,然后用SHAPE命令將形從該文件插入圖形中。將形加入圖形時,可進行縮放和旋轉(zhuǎn)。AutoCADSHP字體是特殊類型的形文件,其定義方式與形的定義方式相同。與形相比,塊更容易使用,且用途更加廣泛。但對AutoCAD而言,形占用空間較小,繪制速度較快。當(dāng)用戶必須重復(fù)插入一個簡單圖形且速度非常重要時,用戶定義的形將非常有用。AutoCAD字體和形文件(SHX)從形定義文件(SHP)生成(編譯成)。形定義文件可用文本編輯器或能將文件存為ASCII格式的字處理器創(chuàng)建或編輯。每個形(或字符)的形說明語法都不考慮形說明的最后用法(用作形或字體)。如果形定義文件被用作字體文件,則文件中的第一個條目必須描述字體本身,而不是該文件中的形;如果第一個條目描述一個形,則該文件被用作形文件。AutoCAD附帶兩個樣板形文件:pc.shx和es.shx。其中,一個用于印刷電路布局,另一個用于電子圖表。查看這兩個文件的內(nèi)容并修改它們的形說明,有助于掌握AutoCAD形定義。3-3形定義形定義文件的每一行最多可包含128個字符,超過此長度的行不能編譯。AutoCAD忽略空行和分號右邊的文字。利用分號可以在形定義文件中包含注釋。每個形說明都有一個標題行(格式如下),以及一行或多行定義字節(jié)。這些定義字節(jié)之間用逗號分隔,最后以0結(jié)束。*shapenumber,defbytes,shapenamespecbyte1,specbyte2,specbyte3,...,0型編號:數(shù)字,在文件中唯一,在1到258(對Unicode字體最多可達65535)之間,帶前綴星號(*)。字體(包含每個字符的形定義的文件)的編號要與每個字符的ASCII碼對應(yīng);其他形可指定任意數(shù)字。用于描述形的數(shù)據(jù)字節(jié)(specbytes)的數(shù)目,包括末尾的零。每個形最多可有2,000個數(shù)據(jù)字節(jié)。形的名稱。形名稱必須大寫,以便于區(qū)分。包含小寫字符的名稱被忽略,并且通常用作字體形定義的標簽。形定義字節(jié)。每個定義字節(jié)都是一個代碼,或者定義矢量長度和方向,或者是特殊代碼的對應(yīng)值之一。在形定義文件中,定義字節(jié)可以用十進制或十六進制表示。如果形定義字節(jié)的第一個字符為0(零),則后面的兩個字符解釋為十六進制值。

簡單的形定義字節(jié)在一個定義字節(jié)(一個specbyte字段)中,包含矢量長度和方向的編碼。每個矢量的長度和方向代碼是一個三字符的字符串。第一個字符必須為0,用于指示AutoCAD將后面的兩個字符解釋為十六進制值。第二個字符指定矢量的長度。有效的十六進制值包括從1(一單位長度)到F(十五單位長度)。第三個字符指定矢量的方向。下圖展示了方向代碼。矢量方向代碼上圖中的所有矢量都按同樣的長度定義繪制。對角矢量長度延長,以匹配最接近的正交矢量的X或Y位移。0123456789ABCDEF00:指示后面兩個字符是16進制矢量的長度,4個二進制位表示1~F矢量的方向4個二進制位表示0~F13下例構(gòu)造名為DBOX的形,指定形的編號為230。*230,6,DBOX014,010,01C,018,012,0上述定義字節(jié)序列定義了一個單位長度、單位寬度的方框,以及從左下角到右上角的對角線。將文件保存為dbox.shx后,用COMPILE命令生成dbox.shx文件。用LOAD命令加載包含此定義的形文件,然后如下使用SHAPE命令:命令:shape輸入形名稱(或?):dbox指定插入點:1,1指定高度<當(dāng)前值>:2指定旋轉(zhuǎn)角度<當(dāng)前值>:0結(jié)果形如下圖所示:(1,1)201401001C018012除定義矢量之外,定義字節(jié)可用下列特殊代碼創(chuàng)建其他格式、指定特定操作。使用特殊代碼時,或者三字符中的第二個字符必須為0,或者直接指定代碼數(shù)字(例如,008和8都是有效的特殊代碼定義)。規(guī)范字節(jié)代碼代碼 說明

000 形定義結(jié)束001 激活繪圖模式(落筆)002 停止繪圖模式(提筆)003 將矢量長度除以下一字節(jié)(代碼3和4控制每個矢量的相對尺寸)004 將矢量長度乘以下一字節(jié)005 將當(dāng)前位置壓入堆棧壓入(保存)和彈出(恢復(fù))當(dāng)前坐標位置,可006 從堆棧彈出當(dāng)前位置從形中的其他點返回該點。007 繪制編號由下一字節(jié)指定的子形008 由下兩個字節(jié)指定的X-Y位移可用X-Y位移繪制非標準矢量,后跟兩個定義字節(jié),X-Y位移范圍為-128到+127。前面的+可選,可用括號增強可讀性。特殊代碼009 多個X-Y位移,以(0,0)終止可繪制一系列非標準矢量。此代碼后面可跟任意數(shù)量的X-Y位移對,由(0,0)對終止。00A(或10) 由下兩個字節(jié)定義的八分圓弧00B(或11) 由下五個字節(jié)定義的分數(shù)圓弧00C(或12) 由X-Y位移和凸度定義的圓弧00D(或13) 多個指定凸度的圓弧00E(或14) 僅對垂直文字執(zhí)行下一命令01234567八分圓弧定義:半徑:1到255之間的任意值圓弧的方向(正:逆時針;負:順時針)s開始八分圓,值為0到7c跨越的八分圓數(shù),值為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四.創(chuàng)建自定義菜單和工具欄,以修改AutoCAD用戶界面。

菜單在很大程度上決定了AutoCAD界面的外觀。如果AutoCAD中的標準菜單不包含用戶經(jīng)常使用的命令,那么用戶可以根據(jù)實際需要自定義菜單,或者向菜單中添加所需的命令和宏,或者將命令分組、合并到單個菜單項中,并將最常用的命令放在菜單上最容易選取的位置,工作效率會顯著提高。菜單文件定義了選擇定點設(shè)備按鈕后執(zhí)行的操作。同樣,下拉菜單、屏幕、數(shù)字化儀和圖像控件菜單的功能和外觀,以及工具欄和加速鍵,均在菜單文件定義。菜單文件實際指一組文件,這些文件共同定義和控制菜單區(qū)域的外觀和功能。下表描述了AutoCAD的菜單文件類型:AutoCAD菜單文件文件類型 說明MNU 樣板菜單文件。MNC 編譯后的菜單文件。此二進制文件包含定義菜單功能和外觀的命令字符串和菜單語法。MNR 菜單資源文件。此二進制文件包含由菜單使用的位圖。MNS 源菜單文件(由AutoCAD生成)。MNT 菜單資源文件。在MNR文件無效(例如,只讀)時生成該文件。MNL 與菜單配套的AutoLISP程序。這些文件包含由菜單文件使用的AutoLISP表達式。當(dāng)加載同名的菜單文件時,這些文件也載入內(nèi)存。

菜單文件劃分為與AutoCAD界面的特定區(qū)域相關(guān)的幾個部分。按照其功能,每個菜單區(qū)域可由一個或多個部分定義。每個部分中都包含菜單項,菜單項由名稱標記、標簽和菜單宏等元素組成。菜單文件的各部分用***section_name格式的部分標簽標識。下表列出了部分標簽及其相關(guān)的菜單區(qū)域:部分標簽 菜單區(qū)域***MENUGROUP 菜單文件組名***BUTTONSn 定點設(shè)備按鈕菜單***AUXn 系統(tǒng)定點設(shè)備菜單***POPn下拉/快捷菜單區(qū)域***TOOLBARS 工具欄定義***IMAGE 圖像控件菜單區(qū)域***SCREEN 屏幕菜單區(qū)域***TABLETn 數(shù)字化儀菜單區(qū)域***HELPSTRINGS 當(dāng)突出顯示下拉菜單和快捷菜單項時,或當(dāng)光標位于工具欄按鈕上時,顯示在狀態(tài)欄中的文字***ACCELERATORS 加速鍵定義4-1菜單結(jié)構(gòu)●菜單項的基本語法在所有支持菜單項的菜單部分中都是一致的。每個菜單項由名稱標記、標簽和菜單宏組成(除了Image部分不允許名稱標記)。一個菜單項通常占文件的一行,格式如下:name_taglabelmenu_macro

菜單項實例:^C^C_quit是菜單宏,當(dāng)用戶選擇此菜單項時,執(zhí)行菜單宏。ID_Quit[Exit]^C^C_quitID_Quit是名稱標記[Exit]是標簽在菜單中顯示Exit名稱標記是字母和下劃線(_)字符組成的字符串,直接放置在菜單項標簽之前。在菜單文件中,此字符串唯一標識一個菜單項。菜單項標簽的格式和用法在每個菜單部分中都有所不同。標簽內(nèi)容包含在方括號([])中,定義用戶所看到的菜單顯示或外觀。菜單宏中的每個字符(包括空格)都有重要含義。4-2菜單項的基本語法●菜單宏中使用的特殊字符:; 產(chǎn)生ENTER^M 產(chǎn)生ENTER^I 產(chǎn)生TABSPACEBAR 輸入空格;菜單項中命令序列之間的空格等價于按SPACEBAR\ 暫停以等候用戶輸入(不能用在加速鍵部分)_ 轉(zhuǎn)換AutoCAD命令及其后的關(guān)鍵字+ 延續(xù)菜單宏到下一行(如果是最后一個字符)=* 顯示當(dāng)前頂層的圖像、下拉或快捷菜單*^C^C 重復(fù)項的前綴$ 加載菜單部分或輸入條件DIESEL宏表達式($M=)的特殊字符^B 切換捕捉開或關(guān)(CTRL+B)^C 取消命令(ESC)^D 切換坐標顯示開或關(guān)(CTRL+D)^E 設(shè)置下一個等軸測平面(CTRL+E)^G 切換柵格開或關(guān)(CTRL+G)^H 產(chǎn)生退格^O 切換正交模式開或關(guān)(CTRL+O)^P 切換MENUECHO開或關(guān)^Q 回顯所有提示、狀態(tài)列表和打印輸入(CTRL+Q)^T 打開或關(guān)閉數(shù)字化儀(CTRL+T)^V 切換當(dāng)前視口(CTRL+V)^Z 禁止在菜單項末尾自動增加SPACEBAR的空字符4-3創(chuàng)建下拉菜單●下拉菜單顯示為級聯(lián)菜單(也稱為步進菜單或?qū)哟尾藛危?。下拉菜單項與其他菜單部分中的項相似,定義菜單宏的方式也與定義標準屏幕或數(shù)字化儀菜單的方式相似。

●下拉菜單在***POP1到***POP499菜單部分中定義。加載每個菜單文件時,AutoCAD都要查找POPn菜單部分。對于POP1到POP16菜單部分,AutoCAD構(gòu)造包含這些部分的標題的菜單欄。如果未定義POPn部分,AutoCAD插入缺省的“文件”和“編輯”菜單。對于任何大于POP16并小于POp500的菜單部分,AutoCAD用MENULOAD命令或通過菜單交換把它們插入到菜單欄。MyToolsSaveCtrl+SShowMyToolbarHideMyToolbarEditMyMenuReloadMyMenuEditPGPReloadPGP●下例展示了用于創(chuàng)建下拉或快捷菜單的語法。***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語法。出現(xiàn)在標簽部分后面以及菜單項前面的**alias語法是有效的。●下拉菜單標簽的語法下表描述一些特殊字符,這些字符在下拉或快捷菜單標簽中都擁有特殊的功能。字符 說明-- 下拉菜單和快捷菜單中的菜單項分隔符(使用時,不能包括任何其他字符)。+ 延續(xù)宏到下一行(如果是最后一個字符)。-> 指出下拉菜單或快捷菜單具有子菜單。<- 指出子菜單中的最后一個下拉菜單項或快捷菜單項。<-<-... 指出子菜單中的最后一個下拉菜單項,并且結(jié)束父菜單。(每個<-結(jié)束一級父菜單。)$( 如果作為第一個字符,則使下拉菜單或快捷菜單項標簽求DIESEL字符串宏的值。~ 禁用菜單項的前綴符。!. 給菜單項打上復(fù)選標記的前綴符。& 直接放在下拉菜單或快捷菜單標簽中一個字符之前,把該字符指定為菜單的加速鍵。例如,S&le顯示為Sample。/c 指定下拉菜單或快捷菜單標簽的菜單加速鍵。例如,/aSample顯示為Sample。\t 把標簽中這兩個字符右邊的文字推到菜單的右邊。上表列出了可用作菜單標簽中第一個字符的所有非字母數(shù)字型字符。未列在上表中的非字母數(shù)字型字符留待將來用作特殊菜單字符?!裣吕藛螜跇祟}下拉菜單的第一個標簽定義了它的菜單欄標題,隨后的標簽則定義菜單和子菜單項。***POP2ID_MnEdit [編輯(&E)]ID_U [放棄(&U)\tCtrl+Z]_uID_Redo [重做(&R)\tCtrl+Y]^C^C_redo在***POP2部分標簽的下一行中,標簽[編輯(&E)]使“編輯(E)”顯示為菜單欄標題,字母E帶下劃線,表明它是菜單的加速鍵。與菜單標題相關(guān)的名稱標記(ID_MnEdit)可用于啟用或禁用這整個菜單。下拉菜單的標題不能與菜單宏關(guān)聯(lián)?!窦壜?lián)子菜單下拉菜單的標簽用特殊字符(例如->、<-和<-<-...)來控制級聯(lián)菜單的層次結(jié)構(gòu)。[->PointFilters]特殊字符->指出該菜單項有子菜單[<-.YZ].YZ特殊字符<-指出該項是子菜單的最后一項[->Text][->Attributes][<-<-Extract...]^C^Cddattext特殊字符<-<-...指出該項是子菜單的最后一項,也是父菜單的最后一項。●菜單項標簽的分隔要創(chuàng)建分隔條,可使用兩個連字符作為標簽:[--]因為每個下拉菜單的寬度是由其最長標簽決定的,所以上述標記將擴展為一個分隔條,并充滿菜單的整個寬度。用戶不能從菜單中選擇分隔條,任何分配給它們的菜單宏都將被忽略?!窠脴撕炓圆ɡ颂?~)開始的菜單項標簽將被禁用(變暗)。根據(jù)慣例,這表示該項暫時不可用。與該菜單項相關(guān)的任何命令都不會產(chǎn)生,并且不能訪問它的任何子菜單。例如,下列菜單標簽都被禁用。[~Line][~->Pline]4.4工具欄***TOOLBARS部分指定工具欄的缺省布局和內(nèi)容。它包含每個菜單所定義工具欄的子菜單?!駝?chuàng)建工具欄工具欄中可包括五種不同類型的項。下例提供了每種項的語法。除分隔條以外,所有行都以標準的名稱標記開始,名稱標記用于關(guān)聯(lián)幫助信息和該項。在下例中,**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)定義一個彈出控件。第四行定義一個特殊的控件元素。第五行定義一個分隔條(--)?!窆ぞ邫诙x工具欄定義使用關(guān)鍵字Toolbar,并在其后用括號包含一系列選項。TAG1[Toolbar("tbarname",orient,visible,xval,yval,rows)]字符串,是工具欄的名稱。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。此名稱與別名配合使用,使得可以在程序中引用工具欄。指定方向的關(guān)鍵字。有效值包括Floating、Top、Bottom、Left和Right,不區(qū)分大小寫。指定可見性的關(guān)鍵字。有效值為Show和Hide,不區(qū)分大小寫。數(shù)字值,按像素指定X坐標,測量從屏幕左邊到工具欄左端的距離。數(shù)字值,按像素指定Y坐標,測量從屏幕上邊到工具欄上端的距離。數(shù)字值,指定行數(shù)?!癜粹o定義按鈕定義使用關(guān)鍵字Button,并在其后用括號包含一系列選項。TAG2[Button("btnname",id_small,id_large)]macro

字符串,是按鈕的名稱。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。當(dāng)光標停留在該按鈕上時,此字符串顯示為工具欄提示。字符串,是小圖像資源(16x15位圖)的ID字符串。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。也可指定一個用戶定義的位圖。字符串,是大圖像資源(24x22位圖)的ID字符串。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。也可指定一個用戶定義的位圖定義后的命令字符串,它遵循命令字符串的標準菜單項語法?!駨棾龆x彈出定義使用關(guān)鍵字Flyout,并在其后用括號包含一系列選項。TAG3[Flyout("flyname",id_small,id_large,icon,alias)]macro字符串,是彈出控件的名稱。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。當(dāng)光標停留在該彈出控件上時,此字符串顯示為工具欄提示。字符串,是小圖像資源(16x15位圖)的ID字符串。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。也可指定一個用戶定義的位圖。字符串,是大圖像資源(24x22位圖)的ID字符串。該字符串必須由字母數(shù)字型的字符組成,并且除了連字符(-)和下劃線(_)以外不能包含其他標點符號。也可指定一個用戶定義的位圖。布爾型關(guān)鍵字,用于控制顯示自己的圖標或顯示上一次選定的圖標(另一個圖標)。有效值為OwnIcon和OtherIcon,不區(qū)分大小寫。對要顯示為彈出控件的工具欄的引用。定義后的命令字符串●控件定義控件定義使用關(guān)鍵字Control,并在其后用括號包含指定所需控件元素類型的名稱。TAG4[Control(element)]element參數(shù)可能的值如下(它們不區(qū)分大小寫)_Color:指定顏色控件元素。此元素是一個下拉列表,它提供當(dāng)前顏色的定義。_Dimstyle:指定標注樣式控件元素。此元素是一個下拉列表,它提供當(dāng)前標注樣式的定義。_Layer:指定圖層控件元素。此元素是一個下拉列表,它提供圖形中當(dāng)前圖層的控件。_Linetype:指定線型控件元素。此元素是一個下拉列表,它提供當(dāng)前線型的定義。_Lineweight:指定線寬控件元素。此元素是一個下拉列表,它提供當(dāng)前線寬的定義。_PlotStyle:指定打印樣式控件元素。此元素是一個下拉列表,它提供當(dāng)前打印樣式的定義。_Refblkname:指定外部參照名稱控件元素。它在編輯模式顯示當(dāng)前外部參照名稱。_UCSManager:指定UCS控件元素。此元素是一個下拉列表,它提供當(dāng)前UCS的定義。_View:指定視圖控件元素。此元素是一個下拉列表,它提供當(dāng)前標準三維視圖的定義。_ViewportScale:指定視口縮放比例控件元素。此元素是一個下拉列表,它在布局模式下提供視口縮放比例的定義?!裼脩舳x的位圖用戶定義的位圖可用于代替id_small和id_big圖像資源的名稱。對于id_small參數(shù),用戶定義的位圖必須是16像素寬、15像素高,并且必須位于庫搜索路徑中。對于id_big參數(shù),如果指定的位圖不是24x22,則AutoCAD自動縮放到該尺寸??捎梦募?bmp擴展名指定用戶定義的位圖。TAG34[Button("MyCommand",mycmd16.bmp,mycmd24.bmp)]^C^CMYCMD4.5圖像控件菜單圖像控件菜單主要用來當(dāng)用戶選擇一個圖形符號時提供圖像。圖像控件菜單通過在菜單文件中提供***IMAGE部分來定義。AutoCAD按每20個一組顯示圖像,并用滾動列表包含相關(guān)的幻燈片名稱或文字。圖像控件子菜單的長度沒有限制:如果圖像控件子菜單包含的幻燈片超過20個,AutoCAD將提供“下一個”和“上一個”按鈕,用戶可用這兩個按鈕瀏覽圖像?!駡D像控件菜單項圖像部分使用與工具欄和屏幕部分相似的子菜單。與彈出式菜單部分一樣,子菜單的第一行是它的標題。該標題顯示為包含該圖像的對話框的標簽。每個子菜單應(yīng)該至少用一個空行分隔,使它與前一個子菜單的項分開。圖像控件菜單項用標簽來定義滾動列表的文字和圖像本身。標簽后面是關(guān)聯(lián)的菜單宏。圖像控件菜單不能包含名稱標記?!?/p>

圖像控件菜單項標簽圖像控件菜單中的標簽通常指向幻燈文件名,而不是顯示在屏幕上的文字標簽。幻燈文件可以是單個幻燈片,也可以是幻燈庫的一部分。顯示的幻燈文件名稱應(yīng)該與VSLIDE命令中輸入的名稱完全相同?;脽粑募邪@示的圖像。SLIDELIB命令用來把多個幻燈文件結(jié)合到一個幻燈庫中。圖像控件菜單標簽顯示在滾動列表中,該列表中的每個標簽最多可有19個字符。通常列表中顯示的是幻燈文件名,但也可以使用下列圖標菜單標簽選項?!饒D像控件菜單宏除了不能使用菜單宏重復(fù)功能以外,圖像控件菜單宏執(zhí)行的功能與其他菜單宏相同。這些菜單宏可包含菜單命令(包括$I=命令),因此可以構(gòu)造級聯(lián)的圖像控件菜單。即選擇某個圖像控件菜單項后,它將顯示另一個圖像控件菜單。因為這些菜單是順序激活,而不是嵌套激活的,所以對所創(chuàng)建菜單結(jié)構(gòu)的復(fù)雜度沒有限制?!耧@示圖像控件菜單圖像控件菜單必須加載之后才能顯示。加載一個圖像控件菜單語法如下:$I=[menugroup.]menuname

顯示當(dāng)前加載的圖像控件菜單的宏命令:

$I=*舉例:加載圖像菜單IMAGE_POLY,并將它顯示在基本菜單中的宏命令:

$I=image_poly$I=*從一個局部加載的菜單組MYGROUP中加載并顯示圖像菜單MYBLOCKS。

$I=mygroup.myblocks$I=*也可以用AutoLISPmenucmd函數(shù)來加載并顯示圖像控件菜單。(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,圓環(huán)面)]^c^cai_torus[acad(Dish,下半球面)]^c^cai_dish[acad(Mesh,網(wǎng)格)]^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=*●為圖像控件菜單準備幻燈片

保持簡單。當(dāng)圖像控件菜單顯示時,用戶必須等所有的圖像都顯示完畢后才能進行選擇。如果要用圖像控件菜單顯示大量復(fù)雜的符號,則請使用這些符號的簡單形式,而不要使用其完整的圖像。圖像應(yīng)該盡可能簡單,但同時也應(yīng)該容易區(qū)分。

充滿空間。屏幕空間有限,而且圖像只顯示在屏幕的很小一部分空間中,因此在為圖像制作幻燈片時,請確保在輸入MSLIDE命令之前用圖像充滿整個屏幕。如果圖像又寬又短或者又長又窄,則在顯示幻燈片之前,用PAN命令居中顯示圖像時,屏幕菜單的顯示效果最佳。

圖像以3:2的寬高比(3單位寬度比2單位高度)顯示。如果繪圖區(qū)域的寬高比不是3:2,則很難在圖像控件菜單正中產(chǎn)生幻燈圖像。如果工作在寬高比為3:2的浮動視口中,則可以定位圖像并可保證圖像在圖像控件菜單中顯示時不變形。

不要把圖像作為將抽象概念編碼為符號的手段。

可將任何由AutoCAD生成的幻燈片用作圖像。但圖像控件菜單的理想用法需要用戶精心準備用作圖像的幻燈片。需遵守如下原則:2)編程接口除了命令行和菜單界面以外,AutoCAD還提供了命令腳本功能和應(yīng)用編程接口(API),用戶可用此接口控制圖形和數(shù)據(jù)庫。編程接口包括ActiveXAutomation、VBA(VisualBasicforApplications)、AutoLISP、VisualLISP和ObjectARX。用戶所使用的接口類型由應(yīng)用程序的需要和編程經(jīng)驗決定。一.命令腳本AutoCAD提供從文本文件中讀取命令的腳本功能,可連續(xù)執(zhí)行一系列命令。用戶可以在啟動AutoCAD時調(diào)用腳本,也可以用SCRIPT命令在AutoCAD中運行腳本。腳本功能模塊提供了一種簡單方法,用于創(chuàng)建連續(xù)顯示的產(chǎn)品演示和商業(yè)展示。用戶可以用文本編輯器(例如MicrosoftWin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論