學習錦囊秘笈.JPG (7282 bytes)


圖記1.gif (2842 bytes) 更新日期:88/2/11     主題:自訂功能表 圖記1.gif (2842 bytes)

一. 說明

檔案型態

說 明

MNU

原始檔案功能表 (ASCII)

MNC

編譯後的功能表檔案,此為二進位檔包含定義的功能表、外觀指令字串及功能表語法

MNR

功能表原始檔,此二進位檔包含功能表所使用的點陣圖 (bitmaps)

MNS

原始功能表檔 (AutoCAD 產生的)

MNL

功能表 LISP 檔,包含有功能表檔案所使用的 AutoLISP 程式,當有一個新的功能表載入時,其相同具名的 mnl 也會被同時載入

 

二. 功能表可分為下列八大類:

  1. 下拉式功能表區
  2. 螢幕功能表
  3. 圖像功能表
  4. 指向設備按鈕功能表
  5. 數位板功能表
  6. 工具列
  7. 說明字串與工具提示
  8. 鍵盤加速鍵

 

三. 功能表檔案結構說明:

主功能表

說 明

區 數

***MENUGROUP 功能表檔群組的名稱
***BUTTONS 指向設備按鈕功能表

1-4

***AUXn 輔助設備功能表

1-4

***POPn 下拉式/彈跳式功能表

0-16

***TOOLBARS 工具列定義
***IMAGE 圖像功能表
***SCREEN 螢幕功能表
***TABLETn 數位板功能表

1-4

***HELPSTRINGS 當一個下拉或游標功能表項目被量顯,或當游標指再下一個工具的按鈕上時,顯示於狀態列的文字
***ACCELERATORS 加速鍵定義

 

四. 功能表語法: name_tag [label] menu_macro

主功能表

標籤用途

BUTTONSn

AUXn

POPn

定義一個下拉式與彈跳式功能表選項內容與格式
TOOLBARS 定義工具列名稱、狀態 (浮動或定位與隱藏或可見) 與位置

同時也可以定義每一個按鈕與性質

IMAGE 定義顯示在圖像功能表中的文字及影像 (幻燈片)
SCREEN 定義顯示於螢幕功能表中的文字
HELPSTRINGS 定義與 POP和工具列功能表項目相關聯的狀態列說明
ACCELERATORS 用功能表巨集加速鍵盤動作

字 元

描 述

執行 [Enter]

^M

執行 [Enter]

^I

執行 [Tab]

空格

輸入一個空格,每一個空格相當於按一次 [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

取消自動在選項後加上空格的空字元

 

五. 功能表語法使用狀況說明:

[Circle-10]Circle;\10 ß 執行畫圓指令, 等待輸入中心點後畫半徑為10的圓

如果巨集中有指定磁碟機路徑時必須以『/』來表示,例如 c:/R14/support/...

[->Arc]

[3P]^c^c_arc

[SCE]^c^c_arc;\_c

[SCA]^c^c_arc;\_c;\_a

[SCL]^c^c_arc;\_c;\_l

[SEA]^c^c_arc;\_e;\_a

[SER]^c^c_arc;\_e;\_r

1x^Hç 表示輸入1x退一位後輸入結果為1

2x^H

3x^H

此時便可以選取 [3][3][1][2] 來完成輸入 3312 的效果,當然您也可以下列敘述來達到同樣的輸入效果:

1\ß 輸入1等待下一個輸入

2\

3\

建議以第一組退位方式來處理,比較能達到預期的效果。

[SETUP]layer set ground-floor;;grid on;;fill off;+

limits 0,0 12,9;status

 

[Erase]*^c^cERASE single ß 可讓您只選一次 (點選或框選),並重覆執行巨集

$section=[menugroup.]menuname

1. $: 表示載入一個副功能表

2. section: 指定主功能表名稱

section

定義說明

S 螢幕功能表
P0-P16 16下拉式或彈跳式功能表0
I 圖像功能表
B1-B4 14的按鈕功能表
T1-T4 14的數位板功能表
A1-A4 14的輔助功能表

3. menugroup: 指定要啟用的功能表群組名稱,如果 menuname 是在基本的功能表中則不需要指定。

4. menuname: 指定副功能表的名稱。

例如:

$S=PARTS ß 呼叫螢幕副功能表 PARTS

$T1=EDITCMDS ß 呼叫數位板功能表第一區 EDITCMDS

$P1=* ß 呼叫下拉式功能表第一列並亮顯

 

六. 按鈕與輔助功能表

  • 按鈕 (BUTTONn) 及輔助 (AUXn) 功能表具有相同的定義格式,當電腦沒有系統滑鼠時,則指向設備將會使用按鈕功能表,如果有系統滑鼠,則會使用輔助功能表,其他則使用按鈕功能表。
  • 其功能表各區切換如下:

按鈕/按鈕序列

按鈕功能表

僅用按鈕 AUX1 BUTTONS1
[Shife]+按鈕 AUX2 BUTTONS2
[Ctrl]+按鈕 AUX3 BUTTONS3
[Ctrl-Shift]+按鈕 AUX4 BUTTONS4
  • BUTTONS1 功能表定義如下:(按鈕第一鍵內定為選取鍵,不可以修改)

***BUTTONS1

ß 定義第二鍵為 [Enter]

^C^C ß 定義第三鍵為『中斷指令』

^B ß 定義第四鍵鎖點開或關

^O ß 定義第五正交模式開關

 

  • 您也可以為BUTTONS1 加上註解,其執行效果是一樣的:

***BUTTONS1

[Buttons 2]

[Buttons 3]^C^C

[Buttons 4]^B

[Buttons 5]^O

 

七. 下拉式與彈跳式功能表:

  • 下拉式 (***POPn) 與彈跳式 (***POP0) 功能表,是以一種階層式的方式來顯示,每一個下拉式最多可提供 999 個選項,彈跳式則提供 499 個選項,其限制包含個階層的所有項目,如果功能表高度筆圖形螢幕可用空間高,於的部分會被截斷以符合螢幕。
  • 如果下拉式 (POP1~POP16) 功能表沒有被任何定義,則彈跳式 (POP0) 功能表也不具功能。
  • 下拉式功能表語法說明

字 元

說 明

--

擴展下拉式功能表分隔線至最大寬度範圍

+

若為最後字元;延續巨集至下一行

->

拉出下一個層次功能表

<-

回到上一個層次的次功能表

<-<-

回到最原先所指的主功能表選項

$(

若『$(』為第一個字元,則提供下拉或游標功能表標籤演算 DIESEL直譯式語言

~

暗顯標籤,並使該項目失效

!.

將項目標示為『###』,無法看見其定義的標籤內容

&

於『&』後加入一個字元,定義一個快速功能鍵

/c

於標籤記號中取出一個字元,定義一個快速功能鍵,例如:/aSample會顯示Sample

\t

功能表標籤向右靠齊

 

  • 下拉式功能表列標題定義:

***POP2

**EDIT

ID_MnEdit [編輯 (&E)] ß 功能表標題列

ID_U [退回 (&U)\tCtrl+Z]_u

ID_Redo [重做 (&R)\tCtrl+Y]^C^C_redo

[--]

ID_Cutclip [剪下 (&T)\tCtrl+X]_cutclip

ID_Copyclip [複製 (&C)\tCtrl+C]_copyclip

ID_Copylink [複製連結 (&L)]^C^Ccopylink

ID_Pasteclip [貼上(&P)\tCtrl+V]pasteclip

ID_Pastesp [選擇性貼上(&S)]^C^Cpastepec

ID_Erase [清除(&A)\tDel]^C^Cerase

[--]

ID_Links [OLE 連結(&O)]^C^Colelinks

  • 多層次功能表定義:

ID_MnEllipse [->橢圓(&E)] ß 功能表選項

ID_EllipseCe [中心點(&C)]^C^C_ellipse _c ß 『橢圓』下一階

ID_EllipseAx [, 端點(&E)]^C^C_ellipse

ID_EllipseAr [<-(&A)]^C^C_ellipse _a ß 回至上一階『橢圓』

  • 取消及標記功能表:

[~線] ß 暗顯並使該功能選項無效

[!.多邊形] ß 以『###』標記來取代『多邊形』,但功能仍可執行

[!.~聚合線] 或

[~!.聚合線] ß 『###』會取代『聚合線』,暗顯並使該功能選項無效

使用AutoLISP 來取消及暗顯功能:

(menucmd P1.2=~)

使用巨集來取消及暗顯功能:

$P1.2=~

AutoLISP 存取標籤狀態:

(menucmd P6.5=?) 回應:~

(menucmd p6.5=#?) 回應:p6.5=~

取消所有被標記及暗顯失效的功能表:

AutoLISP à (memncmd p1.2=)

巨集指令 à $P1.2=

 

八. 圖像功能表:

  • 圖像 (*** IMAGE) 功能表,其同 R12 (*** ICON) AutoCAD 以每20張為一組來顯示幻燈片圖片,如果超過20張則自動分成上下頁作顯示。
  • 圖像功能表語法(sldname: 幻燈片,labeltext: 標籤,sldlib:幻燈片庫)

[sldname]:幻燈片會顯示於圖像框內,幻燈片名會寫於文字清單中。

[sldname,labeltext]:幻燈片會顯示於圖像框內,標籤名會寫於文字清單中。

[sldlib(sldname)]:幻燈片庫中幻燈片會顯示於圖像框內,幻燈片名會寫於文字清單中。

[sldlib(sldname,labeltext)]:幻燈片庫中幻燈片會顯示於圖像框內,標籤名會寫於文字清單中。

[blank]:當文字提供 blank作為圖像標籤,在列示框中會顯示一條分隔線及一個空白影像。

[labeltext]:如果標籤第一個字元為空格,只提供文字標註於清單中,沒有影像產生,例如『結束』。

  • 影像框呼叫

巨集語法:$I=image_3dobjects $I=*

ß 呼叫副檔名為 image_3dobjects,並亮顯圖像功能表

AutoLISP: (menucmd “I=image_3dobjects”)

(menucmd I=*)

 

  • 範例說明

**image_3DObjects

[3D 物件]

[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

 

九. 螢幕功能表:

  • 螢幕功能表 (***SCREEN) ,第一組副功能表 (**S) 通常被視為第一個起始功能表頁,一般螢幕功能表一頁只能顯示 20 個項目。。

副功能表語法為: **menuname startnum

字元 說  明
** 表示為副功能表
menuname 副功能表名稱
startnum 起始標籤位置,一般都會保留表頭2行從第3行開始顯示
  • 範例說明
 

***SCREEN ß 螢幕主功能表

**S ß S副功能表

[AutoCAD ]^C^C^P(ai_rootmenus) ^P

[* * * * ]$S=ACAD.OSNAP

[檔案 ]$S=ACAD.01_FILE

[編輯 ]$S=ACAD.02_EDIT

[檢視 1 ]$S=ACAD.03_VIEW1

[檢視 2 ]$S=ACAD.04_VIEW2

[插入 ]$S=ACAD.05_INSERT

[格式 ]$S=ACAD.06_FORMAT

[工具 1 ]$S=ACAD.07_TOOLS1

[工具 2 ]$S=ACAD.08_TOOLS2

[繪圖 1 ]$S=ACAD.09_DRAW1

[繪圖 2 ]$S=ACAD.10_DRAW2

[標註]$S=ACAD.11_DIMENSION

[修改 1 ]$S=ACAD.12_MODIFY1

[修改 2 ]$S=ACAD.13_MODIFY2

[說明]$S=ACAD.14_HELP

 

  • 呼叫副功能表:

巨集指令: $S=ACAD.01_FILE

AutoLISP(menucmd S=ACAD.01_FILE)

 

十. 數位板功能表:

  • 數位板功能表最多可提供4(TABLET1 TABLET4),給使用者定義巨集。
  • 下列是12*12數位板功能表第一區:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

A
B
C
D
E
F
G
H
I
  • 當您一宣告***TABLET1時,則每一行將依序代表為一個 row-column

***TABLET1

[A-1] ß [A-1] 是一個標籤,僅代表位置

[A-2]

[A-3]

: :

[A-25]

[B-1]

: :

[I-25]

  • 建議您不要更改 [I-25] 以後的巨集內容。

十一. 加速鍵:

  • 加速鍵 (***ACCELERATORS) 包含兩種格式:

1. 格式為名稱的標籤 (即 ID_Line),其後面包含一個關鍵字串,也可以用 ”+” 號來連結多個關鍵字;例如:

***ACCELERATORS

ID_Cancel [ESCAPE] à [ESC] 鍵,執行中斷指令

ID_Line [SHIFT+CONTROL+L] à [Shift]+[Ctrl]+[L] 鍵執行 LINE

2.僅包含一個關鍵字串及修飾字標籤。

[“NUMPAD5”]^C^C_line

[CONTROL+”Q”]^C^C_quit

  • 有效的修飾字:

字 串

說 明

CONTROL [Ctrl]
SHIFT [Shift]
  • 特殊虛擬鍵(必須要包含於雙引號內表示)

字 串

說 明

使用狀況

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 狀態列開關,此鍵由 Windows 作業系統當作另一個 ALT所使用,不可以規劃
F11 F11
F12 F12
INSERT Ins
DELETE Del
ESCAPE Esc 取消功能,不建議作其他功能使用
  • CTRL_ESCAPE CTRL_SHIFT+ESCAPE Windows 控制,不可指派功能

◎可配合 SHIFT 一起使用

UP á 必須搭配 CONTROL 鍵使用
DOWN â 必須搭配 CONTROL 鍵使用
LEFT ß 必須搭配 CONTROL 鍵使用
RIGHT à 必須搭配 CONTROL 鍵使用
NUMPAD0 0
NUMPAD1 1
NUMPAD2 2
NUMPAD3 3
NUMPAD4 4
NUMPAD5 5
NUMPAD6 6
NUMPAD7 7
NUMPAD8 8
NUMPAD9 9