Книги_AutoCad_2 / Настройка AutoCAD_Sham_Tickoo-Customizing_2006г
.pdf
|
|
|
Экранные меню |
291 |
[*-ZOOM-* |
]$S=X $S=ZOOM |
111 |
||
**ERASE 3 |
|
112 |
||
]^C^CERASE |
113 |
|||
[ERASE: |
] |
114 |
||
[ |
|
|
115 |
|
Window |
|
|
116 |
|
Last |
|
|
117 |
|
Prev |
|
|
118 |
|
Cross |
|
|
119 |
|
Remove |
|
|
120 |
|
Add |
|
|
121 |
|
Undo |
] |
|
122 |
|
[ |
|
|
123 |
|
[ |
|
] |
|
124 |
[ |
|
] |
|
125 |
[ |
|
] |
|
126 |
[ |
|
] |
|
127 |
[ |
|
] |
]$S= $S= |
128 |
[*-PREV-* |
129 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
130 |
||
[*-ZOOM-* |
]$S=X $S=ZOOM |
131 |
||
**ZOOM 3 |
|
|
132 |
|
|
] |
133 |
||
[*-ZOOM-* |
134 |
|||
[ |
|
] |
|
135 |
[ |
|
] |
]’ZOOM |
136 |
[ZOOM: |
|
137 |
||
[ |
-ALL |
|
]A |
138 |
[ |
-WIN |
|
]W |
139 |
[ |
-PREV |
|
]P |
140 |
[ |
-EXT |
] |
]E |
141 |
[ |
|
|
142 |
|
[ |
|
] |
|
143 |
[ |
|
] |
|
144 |
[ |
|
] |
|
145 |
[ |
|
] |
|
146 |
[ |
|
] |
|
147 |
[ |
|
] |
]$S= $S= |
148 |
[*-PREV-* |
149 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
150 |
||
[*-DRAW-* |
]$S=X $S=DRAW |
151 |
||
***LAYER 3 |
152 |
|||
153 |
||||
[*-LAYER-* ] |
154 |
|||
[ |
|
] |
|
155 |
[ |
|
] |
]^C^CCLAYER |
156 |
[LAYER: |
|
157 |
||
Make |
|
|
158 |
|
New |
|
|
159 |
|
Set |
|
|
160 |
|
Linetype |
|
|
161 |
|
Color |
|
|
162 |
|
292 |
Глава 9 |
|
||
[List |
] |
]?;; |
163 |
|
[ |
|
|
164 |
|
[ |
|
] |
|
165 |
[ |
|
] |
|
166 |
[ |
|
] |
|
167 |
[ |
|
] |
]$S= $S= |
168 |
[*-PREV-* |
169 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
170 |
||
[*-DRAW-* |
]$S=X $S=DRAW |
171 |
||
**X 3 |
|
|
172 |
|
] |
|
173 |
||
[ |
|
|
174 |
|
[ |
|
] |
|
175 |
[ |
|
] |
|
176 |
[ |
|
] |
|
177 |
[ |
|
] |
|
178 |
[ |
|
] |
|
179 |
[ |
|
] |
|
180 |
[ |
|
] |
|
181 |
[ |
|
] |
|
182 |
[ |
|
] |
|
183 |
[ |
|
] |
|
184 |
[ |
|
] |
|
185 |
[ |
|
] |
|
186 |
[ |
|
] |
|
187 |
[ |
|
] |
|
188 |
[ |
|
] |
|
189 |
[ |
|
] |
|
190 |
[ |
|
] |
|
191 |
**OSNAP 2 |
|
192 |
||
|
193 |
|||
[*-OSNAPS-*] |
194 |
|||
[ |
|
] |
]CEN $S= |
195 |
[Center |
|
196 |
||
[Endpoint |
]END $S= |
197 |
||
[Insert |
|
]INS $S= |
198 |
|
[Intersec |
]INT $S= |
199 |
||
[Midpoint |
]MID $S= |
200 |
||
[Nearest |
|
]NEA $S= |
201 |
|
[Node |
|
]NOD $S= |
202 |
|
[Perpend |
|
]PER $S= |
203 |
|
[Quadrant |
]QUA $S= |
204 |
||
[Tangent |
|
]TAN $S= |
205 |
|
[None |
] |
]NONE $S= |
206 |
|
[ |
|
|
207 |
|
[ |
|
] |
|
208 |
[ |
|
] |
|
209 |
[ |
|
] |
|
210 |
[ |
|
] |
]$S |
211 |
[*-PREV-* |
212 |
|||
|
|
|
|
213 |
Экранные меню |
293 |
***TABLET1 |
214 |
$S=X $S=LINE ^C^CLINE |
215 |
$S=X $S=CIRCLE ^C^CCIRCLE |
216 |
$S=X $S=ARC ^C^CARC |
217 |
$S=X $S=ZOOM ^C^CZOOM |
218 |
$S=X $S=ERASE ^C^CERASE |
219 |
$S=X $S=LAYER ^C^CLAYER |
220 |
Пояснения
Строка 1
***SCREEN
Здесь ***SCREEN — метка раздела экранного меню. В этом разделе содержатся элементы, определенные в строках с 1 по 213.
Строка 3
[ MENU 3 ]^C^C$S=X $S=S
В этой строке команда $S=X загружает подменю Х, а команда $S=S — подменю S.
Строка 7
[DRAW ]^C^C$S=X $S=DRAW
Команда $S=DRAW загружает подменю DRAW, определенное в одном из разделов файла экранного меню.
Строка 12
**DRAW 3
Выражение DRAW является именем подменю, а число 3 указывает на то, что первая строка этого подменю будет выведена в третьей строке. Таким образом, две первых строки меню (MENU-3) и (********) будут постоянно отображаться на экране. При выборе элемента “MENU-3” из какого-либо меню будет загружено подменю S, а затем выведено на экран. Точно так же, выбрав из какого-либо меню элемент ********, вы тем самым загрузите подменю OSNAP и отобразите его на экране.
Строка 28
[*-PREV-*]$S= $S=
Команды $S= $S=, содержащиеся в этой строке, обеспечивают загрузку двух предыдущих меню. Одним из них является подменю Х, а вторым — то подменю, которое было отображено на экране перед этим.
Строка 214
***TABLET1
Здесь TABLET1 — метка раздела области планшета номер 1. В этом разделе содержатся элементы, определенные в строках с 215 по 220.
Строка 215
$S=X $S=LINE ^C^CLINE
Команда $S=X, определенная в разделе экранного меню, загружает подменю X и отображает его в области экранного меню. При загрузке подменю X происходит очистка
294 Глава 9
экрана, так как пустые строки, содержащиеся в этом подменю, накладываются на элементы экранного меню. Команда $S=LINE, также определенная в разделе экранного меню, загружает подменю LINE и отображает его в соответствующей области экранного меню. Выражение ^C^CLINE дважды отменяет существующую команду, а затем выполняет команду LINE (ОТРЕЗОК).
При выборе блока LINE из кодирующего преобразователя программа AutoCAD автоматически очищает экранное меню, загружает подменю LINE и вводит команду LINE. Это дает возможность выбирать командные опции из экранного меню, так как на шаблоне кодирующего преобразователя их нет.
Здесь
•$S=X — загружает подменю X;
•$S=LINE — загружает подменю LINE;
•^C^C — дважды отменяет существующую команду;
•LINE — команда AutoCAD.
Для загрузки соответствующих экранных меню можно также использовать функцию автоматического свопинга меню. Для того чтобы использовать эту возможность, раздел TABLET1 необходимо записать следующим образом:
***TABLET1 |
214 |
$S=X ^C^CLINE |
215 |
$S=X ^C^CCIRCLE |
216 |
$S=X ^C^CARC |
217 |
$S=X ^C^CZOOM |
218 |
$S=X ^C^CERASE |
219 |
$S=X ^C^CLAYER |
220 |
Длинные определения меню
В одной строке экранного меню может содержаться несколько различных команд. Количество команд, которые могут быть введены в каждую строку, не ограничено. Порядок расположения команд может быть произвольным, но должен соответствовать всем вашим требованиям и последовательности вводимых параметров. Кроме того, вам необходимо знать команды AutoCAD и все используемые опции, приглашения на ввод команд, а также параметры, вводимые в командную строку. Если оператор не помещается на одной строке, его можно перенести на другую, поставив в конце первой строки знак “плюс”. Определение команды, состоящее из нескольких команд, объединенных в одну строку, называется также макросом. Использование длинного определения команды или макроса иллюстрируется следующим примером.
Пример 5
Напишите определение команды экранного меню, которая выполняет следующие функции (сохраните файл определения под именем sm4.mnu).
Постройте рамку, начертив полилинию со следующими параметрами:
Ширина |
0.01 |
Точка 1 |
0,0 |
Точка 2 |
12,0 |
Точка 3 |
12,9 |
Точка 4 |
0,9 |
Точка 5 |
0,0 |
Экранные меню |
295 |
Исходные параметры чертежа
Шаг привязки |
0.25 |
Шаг сетки |
0.5 |
Лимиты |
12,9 |
Масштабировать |
Все |
Прежде чем записывать меню, следует познакомиться с командами, опциями и параметрами, которые вы будете вводить. Таким образом, в первую очередь вы должны изучить команды, используемые для установки исходных параметров чертежа.
Полилиния
Command: PLINE
Specify start point: 0,0
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: W Specify starting width <0.0000>: 0.01
Specify ending width <0.01>: Нажмите клавишу <Enter>
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: 12,0 Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: 12,9 Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: 0,9 Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: C
Определение команды PLINE (ПЛИНИЯ), входящей в экранное меню:
PLINE;0,0;W;0.01;;12,0;12,9;0,9;C
Привязка
Command: SNAP
Specify snap spacing or [ON/OFF/Aspect/Rotate/Sytle/Type] <по умолчанию>:
0.25
Определение команды SNAP (ШАГ), входящей в экранное меню:
SNAP;0.25
Сетка
Command: GRID
Specify grid spacing(X) or [ON/OFF/Snap/Aspect] <по умолчанию>: 0.5
Определение команды GRID (СЕТКА), входящей в экранное меню:
GRID;0.5
Лимиты чертежа
Command: LIMITS
Specify lower left corner or [ON/OFF] <текущие координаты>: 0,0 Specify upper right corner <текущие координаты>: 12,9
Определение команды LIMITS (ЛИМИТЫ), входящей в экранное меню:
LIMITS;0,0;12,9
296 |
Глава 9 |
Масштаб
Commnad: ZOOM
Specify corner of window, enter a scale factor (nX or nXP), or [All/Center/ Dynamic/Previous/Scale/Window] <реальный масштаб времени>: A
Определение команды ZOOM (ПОКАЗАТЬ), входящей в экранное меню:
ZOOM;A
Теперь можно сформировать общее определение команды экранного меню, объединив в одно целое определения отдельных команд. При выборе элемента NSETUP из нового экранного меню, это определение выполнит все ранее описанные функции.
Строка комбинированного экранного меню
[-NSETUP-]PLINE;0,0;W;0.01;;12,0;12;9;C;+ SNAP;0.25;GRID;0.5;LIMITS;+ 0,0;12,9;ZOOM;A
Упражнение 4 (Общее)
Напишите определение элемента экранного меню, при выборе которого будут установлены следующие параметры команды UNITS (сохраните файл под именем sme4.mnu).
Единицы измерения: |
Научные |
Количество разрядов после десятичной точки: |
2 |
Единицы измерения угловых величин: |
Десятичные |
Количество разрядов после десятичной точки: |
2 |
Направление угла: |
0 |
Измерение угла: |
Против часовой стрелки |
Повторение команд меню
Программа AutoCAD обеспечивает повторное выполнение команд, определенных в файле меню. Эти команды выполняются до тех пор, пока пользователь не нажмет на клавиатуре клавишу <Esc> или не выберет другой элемент меню. Это особенно удобно при редактировании чертежей или многократном использовании одних и тех же команд. Повторение команды возможно только в том случае, когда определение команды меню начинается со знака “звездочка” (*).
[ERASE,W:]*^C^CERASE W
где
•* — звездочка, обеспечивающая повторение команды;
•^C^C — команда, отменяющая текущую команду;
•ERASE — команда AutoCAD;
•W — опция Window (Рамка).
При выборе этого элемента меню программа AutoCAD пригласит ввести две точки, с помощью которых вы сможете выделить нужный объект. Это связано с тем, что для выполнения команды ERASE (СТЕРЕТЬ) с опцией Window (Рамка) требуется указать две точки, определяющие область выбора. При нажатии клавиши <Enter> выбранный объект будет удален, а предыдущая команда будет выполнена повторно.
Экранные меню |
297 |
Пример 6
Напишите файл экранного меню, содержащего следующие команды AutoCAD, и сохраните его под именем sm6.mnu. Обеспечьте автоматическое повторение команд.
LINE |
LIST |
ERASE |
INSERT |
TRIM |
DIST |
Ниже приведен листинг файла экранного меню, описанного в примере 6. Выполнение выбранных команд будет продолжаться до тех пор, пока вы не нажмете клавишу <Ctrl> или буквенную клавишу <C>.
[-ERASE- ] [ ]
[]
[LINE: ]*^C^CLINE [ERASE: ]*^C^CERASE [TRIM: ]*^C^CTRIM [LIST: ]*^C^CLIST [INSERT: ]*^C^CINSERT [DIST ]*^C*CDIST
Примечание
Если вы случайно выберете некорректно записанное определение команды, то приглашение на ввод соответствующей команды будет снова и снова выводиться на экран. Чтобы выйти из этого бесконечно повторяющегося цикла, нажмите клавишу <Esc>. В некоторых системах нажатие клавиши <Esc> или выбор другой команды не прерывает вывод приглашения на экран. В этом случае вам придется перезагрузить систему или закрыть используемую программу. Чтобы закрыть программу, в операционной системе Windows нажмите клавиши <Ctrl+Alt+Del>.
Одним из наибольших недостатков повторения команд меню является то, что вы не можете выбрать другую опцию команды. В следующем примере для выделения объекта используется команда ERASE (СТЕРЕТЬ) с опцией C (Crossing). Во время повторения команды выбрать для выделения объекта какую-нибудь другую опцию вы не сможете.
[ERASE,C:]*^C^CERASE C
Автоматическая выгрузка меню
Используя системную переменную MENUCTL, можно обеспечить автоматическую выгрузку экранных меню. Когда этой переменной присваивается значение 1, программа AutoCAD автоматически выдает команду $S=CMDNAME, где CMDNAME — имя команды, используемой для загрузки подменю. Например, если вы выберете команду LINE (ОТРЕЗОК) из меню кодирующего преобразователя или введете ее с клавиатуры, команда CMDNAME загрузит подменю LINE и отобразит его в области экранного меню. Для использования этой возможности необходимо, чтобы команда и подменю имели одинаковые имена. Например, подменю, содержащее команды, используемые при вычерчивании дуги, называется ARC. В этом случае при выборе команды ARC (ДУГА) произойдет автоматическая загрузка соответствующего подменю. Тем не менее, если подменю имеет какое-нибудь другое имя (например, MYARC), то AutoCAD не сможет его загрузить. По умолчанию значение системной переменной MENUCTL равно 1. Присвоив переменной MENUCTL значение 0, вы теряете возможность использовать команду $S=CMDNAME для загрузки подменю.
298 |
Глава 9 |
Системная переменная MENUECHO
Если системной переменной MENUECHO присвоить значение 0, то все команды, выбираемые из кодирующего преобразователя, экранного, раскрывающегося или кнопочного меню, будут отображаться в области командной строки. Например, при выборе из меню команды CIRCLE (КРУГ) в командной строке появится запрос _circle Specify
center point for circle or [3P/2P/Ttr (tan tan radius)]: (_круг Центр круга или [3T/2T/KKP (кас кас радиус)]:). Если вы присвоите системной переменной MENUECHO значение 1, программа AutoCAD подавит эхо элемента меню и отобразит толь-
ко Specify center point for circle or [3P/2P/Ttr (tan tan radius)]:. Обратите внимание, когда значение переменной MENUECHO равно 1, выражение _circle не отображается. Для включения или выключения эха можно ввести выражение ^P в элемент меню. Системная переменная MENUECHO может принимать значения 2, 4 и 8, которые обеспечивают подавление системной подсказки, отключая переключатель ^P и средства отладки макросов DIESEL.
Меню на иностранном языке
Помимо английской, программа AutoCAD имеет еще несколько версий. Если вы хотите написать меню, сделав его совместимым с другими версиями AutoCAD, вам придется перед каждой командой или зарезервированным словом поставить символ подчеркивания (_).
Примеры
[New ]^C^C_New [Open ]^C^C_Open [Line ]^C^C_Line
[Arc-SCA ]^C^C_Arc;\_C;|_A
Команда или зарезервированное слово, которое начинается символом подчеркивания, будут автоматически преобразованы. Если вы откроете файл acad.mnu, то увидите, что в программе AutoCAD эта возможность используется довольно широко.
Пример 7
Перепишите файл экранного меню (см. пример 1) так, чтобы обеспечить его совместимость с другими версиями программы AutoCAD.
Перед вами листинг файла меню для примера 7:
***SCREEN
[ MENU-1 ]
[]
[]
[LINE ]^C^C_LINE
[]
[CIR-C,R ]^C^C_CIRCLE [CIR-C,D ]^C^C_CIRCLE;\D [CIR-2P ]^C^C_CIRCLE;2P
[]
[ERASE
[MOVE
Экранные меню |
299 |
Использование управляющих символов в элементах меню
В определениях команд можно также использовать управляющие символы ASCII, поставив перед нужным символом знак вставки (^). Например, если вы хотите написать элемент меню, который будет включать и выключать режим привязки (SNAP), введите в определение знак вставки, а затем управляющий символ В, как показано в следующем примере.
[SNAP-TOG]^B
где
•SNAP-TOG — метка команды переключателя режимов SNAP;
•^ — знак вставки (^);
•B — управляющий символ, выполняющий функцию переключателя.
Примеры
•^C — отмена;
•^G — включение и выключение сетки;
•^H — возврат;
•^O — включение и выключение режима ортогональности;
•^T — включение и выключение планшета;
•^E — изометрическая плоскость сверху/слева/справа.
Выражение ^B выполняет ту же функцию, что и нажатие клавиш <Ctrl+B> на клавиатуре, т.е. позволяет переключать режимы объектной привязки. SNAP-TOG — метка элемента, которая будет отображена в экранном меню. В определениях команд можно использовать любые управляющие символы ACSII. Некоторые из этих символов приведены в следующем списке:
•^@ — код ASCII 0;
•^[ — код ASCII 27;
•^\ — код ASCII 28;
•^] — код ASCII 29;
•^^ — код ASCII 30;
•^- — код ACSII 31.
Специальные символы
Ниже представлен список специальных символов, которые могут использоваться в меню AutoCAD:
Символ Описание
***Три звездочки, обозначающие заголовок раздела
**Две звездочки, обозначающие подменю
[] Квадратные скобки, в которых содержится метка элемента меню
; |
Точка с запятой, обеспечивающая ввод команды ENTER |
"пробел" |
Пробел выполняет ту же функцию, что и нажатие клавиши “пробел” |
300 |
Глава 9 |
|
|
|
|
Символ |
Описание |
|
|
|
|
\ |
|
Обратная косая черта, создающая паузу для ввода данных пользователем |
_ |
|
Символ подчеркивания, который переводит команды и зарезервирован- |
+ |
|
ные слова AutoCAD на английский язык |
|
Знак “плюс”, позволяющий перенести определение элемента меню на |
|
=* |
|
следующую строку |
|
Обеспечивает отображение на экране раскрывающихся, контекстных и |
|
* |
|
мозаичных меню |
|
Повторение элемента меню |
|
$M= |
|
Специальный символ, используемый для загрузки макросов DIESEL |
$S=CMDNAME |
Специальная команда, используемая для загрузки экранных подменю |
|
^B |
|
Включение и выключение режима привязки |
^C |
|
Отмена существующей команды |
^D |
|
Включение и выключение шкалы координат |
^E |
|
Изменение плоскости изометрии (слева/справа/сверху) |
^G |
|
Включение и выключение сетки |
^H |
|
Ввод пробела |
^O |
|
Включение и выключение режима ортогональности |
^P |
|
Включение и выключение эхо-вывода (MENUECHO) |
^Q |
|
Вывод всех приглашений на печать |
^T |
|
Включение и выключение планшетного режима |
^V |
|
Изменение текущего вида |
^Z |
|
Подавление функции автоматического прибавления пробела к концу |
|
|
элемента меню |
Пример 8
Напишите файл экранного меню, содержащего следующие функции (сохраните этот файл под именем sm8.mnu).
ORTHO |
SNAP |
GRID |
COORDINATE DIAL |
TABLET |
ISOPLANE |
PRINTER |
|
Прежде чем писать экранное меню для функций переключения, следует определить, какие управляющие символы могут быть использованы для включения и выключения этих функций. Перед вами список управляющих символов, которые потребуются для решения этой задачи:
•ORTHO — <Ctrl+O>;
•SNAP — <Ctrl+B>;
•GRID — <Ctrl+G>;
•COORDINATE DIAL — <Ctrl+D>;
•TABLET — <Ctrl+T>;
•ISOPLANE — <Ctrl+E>;
•CURRENT VIEWPORT — <Ctrl+V>.
