Книги_AutoCad_2 / Настройка AutoCAD_Sham_Tickoo-Customizing_2006г
.pdf
|
|
|
|
|
|
|
|
|
Экранные меню |
281 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 9.8. Макет экранного меню с несколькими подменю
Запишите файл, используя для этого какой-нибудь текстовый редактор, а затем сохраните его под именем sm3.mnu. Ниже приведен листинг файла меню sm3.mnu.
Номера строк в правой части листинга не являются частью файла, а используются только в качестве ссылки.
***SCREEN |
1 |
|
**S |
]^C^C$S=X $S=S |
2 |
[ MENU-3 |
3 |
|
[******** ]$S=OSNAP |
4 |
|
[ |
] |
5 |
[DRAW |
]^C^C$S=X $S=DRAW |
6 |
[EDIT |
]^C^C$S=X $S=EDIT |
7 |
[DISPLAY |
]^C^C$S=X $S=DISP |
8 |
**DRAW 3 |
] |
9 |
[ |
10 |
|
[*-DRAW-* ] |
11 |
|
[LINE |
]^C^CLINE |
12 |
[ Continue ]^C^CLINE;; |
13 |
|
[ Close |
]CLOSE |
14 |
[ Undo |
]UNDO |
15 |
[ .X |
].X |
16 |
[ .Y |
].Y |
17 |
[ .Z |
].Z |
18 |
[ .XY |
].XY |
19 |
[ .XZ |
].XZ |
20 |
[ .YZ |
].YZ |
21 |
[ |
] |
22 |
[ARC: |
]^C^CARC |
23 |
282 |
Глава 9 |
|
||
[ |
-3P: |
|
]^C^CARC \\DRAG |
24 |
[ |
-SCE: |
|
]^C^CARC \C \DRAG |
25 |
[ |
-SCA: |
|
]^C^CARC \C \A DRAG |
26 |
[ |
-CSE: |
|
]^C^CARC C \\DRAG |
27 |
[ |
-CSA: |
|
]^C^CARC C \\A DRAG |
28 |
[ |
CSL: |
] |
]^C^CARC C \\L DRAG |
29 |
[ |
|
]$S= $S= |
30 |
|
[*-PREV-* |
31 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
32 |
||
[*-DISP-* |
]$S=X $S=DISP |
33 |
||
**EDIT 3 |
|
] |
34 |
|
[*-EDIT-* |
35 |
|||
[ |
|
] |
]^C^CEXTEND |
36 |
[EXTEND: |
|
37 |
||
[STRETCH: ]^C^CSTRETCH;C |
38 |
|||
[FILLET: |
|
]^C^CFILLET |
39 |
|
[ Rad |
]R;\Fillet |
40 |
||
[ Rad 0 |
|
]R;0;\Fillet |
41 |
|
[FILLET0: ]^C^CFillet;R;0:: |
42 |
|||
|
Win. |
|
|
43 |
|
Cross. |
|
|
44 |
|
Add |
|
|
45 |
[ |
Undo |
] |
|
46 |
|
]$S= $S= |
47 |
||
[*-PREV-* |
48 |
|||
[*-DRAW-* |
]^C^C$S=X $S=DRAW |
49 |
||
[*-DISP-* |
]$S=X $S=DISP |
50 |
||
**DISP 3 |
|
] |
51 |
|
[*-DISP-* |
52 |
|||
[ |
|
] |
]’ZOOM |
53 |
[ZOOM: |
|
54 |
||
[ |
-ALL |
|
]A |
55 |
[ |
-WIN |
|
]W |
56 |
[ |
-PREV |
|
]P |
57 |
[ |
-EXT |
] |
]E |
58 |
[ |
|
]’ZOOM |
59 |
|
[SCALE: |
|
60 |
||
[PAN: |
|
]’PAN |
61 |
|
[REGEN: |
] |
]^C^CREGEN |
62 |
|
[ |
|
]$S= $S= |
63 |
|
[*-PREV-* |
64 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
65 |
||
[*-DRAW-* |
]$S=X $S=DRAW |
66 |
||
**X 3 |
] |
|
67 |
|
[ |
|
|
68 |
|
[ |
|
] |
|
69 |
[ |
|
] |
|
70 |
[ |
|
] |
|
71 |
[ |
|
] |
|
72 |
[ |
|
] |
|
73 |
[ |
|
] |
|
74 |
|
|
Экранные меню |
283 |
[ |
] |
|
75 |
[ |
] |
|
76 |
[ |
] |
|
77 |
[ |
] |
|
78 |
[ |
] |
|
79 |
[ |
] |
|
80 |
[ |
] |
|
81 |
[ |
] |
|
82 |
[ |
] |
|
83 |
[ |
] |
|
84 |
[ |
] |
|
85 |
[ |
] |
|
86 |
**OSNAP 2 |
|
87 |
|
[*-OSNAPS-*] |
88 |
||
[ |
] |
]CEN $S= |
89 |
[Center |
|
90 |
|
[Endpoint |
]END $S= |
91 |
|
[Insert |
|
]INS $S= |
92 |
[Intersec |
]INT $S= |
93 |
|
[Midpoint |
]MID $S= |
94 |
|
[Nearest |
|
]NEA $S= |
95 |
[Node |
|
]NOD $S= |
96 |
[Perpend |
|
]PER $S= |
97 |
[Quadrant |
]QUA $S= |
98 |
|
[Tangent |
|
]TAN $S= |
99 |
[None |
] |
]NONE $S= |
100 |
[ |
|
101 |
|
[ |
] |
|
102 |
[ |
] |
|
103 |
[ |
] |
|
104 |
[ |
] |
] $S= |
105 |
[*-PREV-* |
106 |
||
Пояснения
Строка 3
Выражение [ MENU-3 ], содержащееся в этой строке, обеспечивает отображение надписи “MENU-3” в верхней части экранного меню. Выражение ^C^C дважды отменяет существующую команду, а $S=X загружает подменю Х. В свою очередь, выражение $S=S загружает подменю S. Подменю Х, определенное в строке 171, содержит 18 пустых строк. Таким образом, при загрузке этого меню на экране отображаются пустые строки, которые очищают область экранного меню. После загрузки подменю X система загружает подменю S и в экранном меню отображаются элементы, определенные в этом подменю.
[ MENU-3 ]^C^C$S=X $S=S
Здесь
•^C^C — дважды отменяет существующую команду;
•$S=X — загружает подменю Х (выполняет очистку экрана);
•$S=S — загружает подменю S.
284 Глава 9
Строка 4
[********]$S=OSNAP
Этот элемент вводит в экранное меню строку, содержащую восемь звездочек (********); команда $S=OSNAP загружает меню OSNAP. Меню OSNAP, определенное в строке 191, содержит команды, используемые для переключения режимов объектной привязки.
Строка 6
[DRAW ]^C^C$S=X $S=DRAW
Этот элемент меню отображает выражение “DRAW” в области экранного меню, дважды отменяет существующую команду, загружает подменю X, а затем подменю DRAW. Подменю Х очищает область экранного меню, а подменю DRAW, определенное в строке 11, загружает элементы меню, содержащиеся в соответствующем разделе файла.
Строка 9
**DRAW 3
Эта строка является меткой подменю DRAW; число 3 указывает на то, что первая строка подменю DRAW будет выведена в строке 3. Таким образом, строки 1 и 2 останутся пустыми. В строке 3 отобразится первая строка подменю DRAW, а затем будут показаны остальные строки меню. Метки всех подменю, за исключением подменю S и OSNAP, заканчиваются числом 3. Таким образом, две первых строки меню (MENU-3) и (********) никогда не очищаются и постоянно отображаются на экране. При выборе элемента MENU-3 загрузится подменю S. Выбрав строку ********, вы тем самым загрузите подменю OSNAP.
Здесь
•DRAW — имя подменю;
•3 — номер строки, с которой начинается отображение подменю.
Строка 12
[LINE: ]^C^CLINE
Выражение ^C^C дважды отменяет существующую команду; LINE — команда
AutoCAD.
Строка 13
[ Continue ]^C^CLINE;;
В этой строке после команды LINE стоят две точки с запятой, которые продолжают выполнение этой команды. Если вы не понимаете, что это означает, посмотрите, как используется опция Continue в команде LINE:
Command: LINE
Specify first point: RETURN (Continue)
Specify next point or [Undo]:
Далее приведена последовательность команд и параметров, которые потребуются для того, чтобы провести линию из последней точки:
LINE
RETURN
RETURN
SELECT A POINT
Экранные меню |
285 |
Таким образом, для того чтобы провести линию из предыдущей точки, после команды LINE необходимо дважды выполнить команду RETURN.
Строка 16
[.X ].X
Выражение .X, содержащееся в этой строке, обеспечивает получение координаты X указанной точки. При выполнении этой операции можно обойтись без квадратных скобок, выражения .X и пробелов, заключенных в квадратные скобки. Достаточно ввести в
строку выражение .X. Это относится также к элементам, определенным в строках 39–43.
Пример |
|
[.X |
].X может быть записано как .X (без квадратных скобок); |
[.Y |
].Y — как .Y (без квадратных скобок); |
[.Z |
].Z — как .Z (без квадратных скобок). |
Строка 31
[*-PREV-* ]$S= $S=
Этот элемент дважды восстанавливает предыдущее меню. Программа AutoCAD отслеживает подменю, отображаемые на экране. При выполнении первой команды $S= произойдет загрузка ранее загруженного меню, а при выполнении второй команды $S= загрузится меню, которое было загружено перед этим. Например, при выборе элемента меню, определенного в строке 16 ([ARC: ]$S=X $S=ARC), будут загружены два подменю: вначале X, а затем ARC. Перед загрузкой текущего подменю ARC подменю X копируется в стековую память. Первая команда $S= восстановит предыдущее меню, которым в данном случае является подменю Х. Вторая команда $S= загрузит меню, отображенное на экране перед выбором элемента, содержащегося в строке 16.
Здесь
•$S= — загружает последнее меню;
•$S= — загружает предпоследнее меню.
Строка 33
[*-DISP-* ]$S=X $S=DISP
В этой строке команда $S=X загружает подменю Х, а команда $S=DISP — подменю DISP. Обратите внимание, что команды CANCEL (^C^C) в этой строке нет. Это связано с наличием меню, которые могут быть загружены без отмены текущей команды. Например, при вычерчивании линии иногда приходится увеличивать масштаб изображения, не отменяя выполнение предыдущей команды. В этом случае вы выбираете элемент [*-DISP-* ], затем выбираете соответствующую опцию масштабирования, после чего продолжаете выполнение команды LINE (ОТРЕЗОК). Тем не менее, если в строке содержится команда CANCEL ([*-DISP-*]^C^C$S=X $S=DISP), выполнение команды LINE будет прекращено, так как при выборе пункта “*-DISP-*” произойдет отмена существующей команды. В строке 32 ([*-EDIT-* ]^C^C$S=X $S=EDIT) содержится команда ^C^C, которая отменяет существующую команду. Это связано с тем, что команды редактирования не могут использоваться до тех пор, пока вы не отмените текущую команду.
286 |
Глава 9 |
Строка 38
[STRETCH: ]^C^CSTRETCH;C
Выражение ^C^C отменяет существующую команду; STRETCH — команда AutoCAD. C — опция пересечения, которая позволит выделить нужный объект, определив угловые точки области выделения.
Здесь
•STRETCH — команда AutoCAD;
•; — точка с запятой, выполняющая функцию команды RETURN;
•C — опция пересечения.
Строка 40
[ RAD ]R;\FILLET
Выражение, содержащееся в этой строке, обеспечивает выбор команды FILLET (СОПРЯЖЕНИЕ) с опцией Radius (Радиус), а затем создает паузу, которая позволяет ввести значение радиуса. После того как вы введете это значение, создайте сопряжение между двумя выделенными объектами, выполнив команду FILLET еще раз.
Здесь
•R — опция Radius (Радиус) команды FILLET (СОПРЯЖЕНИЕ);
•; — точка с запятой, обеспечивающая ввод команды RETURN;
•\ — обратная косая черта, создающая паузу для ввода данных;
•FILLET — команда AutoCAD.
Строка 41
[ RAD 0 ]R;0;\FILLET
Выражение, содержащееся в этой строке, обеспечивает выбор команды FILLET (СОПРЯЖЕНИЕ) с опцией Radius (Радиус), а затем присваивает радиусу значение 0. После этого выполняется команда FILLET, которая генерирует сопряжение с нулевым радиусом между двумя выделенными объектами.
Здесь
•R — опция Radius (Радиус) команды FILLET (СОПРЯЖЕНИЕ);
•; — точка с запятой (или пробел), обеспечивающая ввод команды RETURN;
•0 — значение радиуса;
•; — точка с запятой, обеспечивающая ввод команды RETURN;
•FILLET — команда AutoCAD.
Строка 42
[FILLET0:]^C^CFILLET;R;0;;
Этот элемент определяет команду FILLET с радиусом 0, а затем формирует сопряжение с нулевым радиусом между двумя выделенными объектами.
Здесь
•FILLET — команда AutoCAD;
•R — опция Radius (Радиус) команды FILLET (СОПРЯЖЕНИЕ);
•; — точка с запятой (или пробел), обеспечивающая ввод команды RETURN;
•0 — значение радиуса;
•; — точка с запятой, обеспечивающая ввод команды RETURN;
•; — точка с запятой, обеспечивающая повторное выполнение команды FILLET.
Экранные меню |
287 |
Строка 54
[ZOOM: ]'ZOOM
В этой строке содержится определение прозрачной команды ZOOM. Здесь
•ZOOM — команда AutoCAD;
•' — одинарная кавычка, обеспечивающая прозрачность команды ZOOM.
Строка 90
[Center ]CEN $S=
Выражение CEN, содержащееся в этой строке, выполняет привязку к центру объекта, а команда $S= автоматически восстанавливает предыдущее экранное меню после выделения объекта.
Здесь
•CEN — обеспечивает привязку к центру объекта;
•$S= — загружает предыдущее меню.
Примечание
Команды загрузки, содержащиеся в строке элемента экранного меню, должны быть разделены пробелом.
Пример: [LINE: ]$S=X $S=LINE
Обратите внимание на пробел между X и $S.
Точно так же, если элемент меню содержит команду загрузки и какую-нибудь команду AutoCAD, эти команды должны быть разделены пробелом.
Пример: [LINE: ]$S=LINE ^C^CLINE
Упражнение 3 (Общее)
Напишите файл экранного меню для команд AutoCAD, показанных на рис. 9.9, и сохраните его под именем sme3.mnu. Строка с восемью звездочками (********) используется для получения доступа к подменю объектной привязки.
Рис. 9.9. Макет экранного меню с несколькими подменю
288 Глава 9
Пример 4
Напишите файл комбинированного меню (экранное плюс планшетное) для команд, показанных в шаблоне планшетного меню (рис. 9.10) и на схеме экранного меню (рис. 9.11). Когда пользователь выбирает команду из шаблона кодирующего преобразователя, на экран должно автоматически выводиться соответствующее экранное меню. Сохраните файл под именем tm3.mnu.
Рис. 9.10. Шаблон планшетного меню для примера 4 |
Рис. 9.11. Схема экранного меню
Ниже приведен листинг комбинированного меню, описанного в примере 4. Номера
строк не являются частью файла, а используются только для ссылок.
***SCREEN |
1 |
|
**S |
]^C^C$S=X $S=S |
2 |
[ MENU-3 |
3 |
|
[******** ]$S=OSNAP |
4 |
|
[ |
] |
5 |
[ |
] |
6 |
|
|
|
Экранные меню |
289 |
[DRAW |
|
]^C^C$S=X $S=DRAW |
7 |
|
[EDIT |
|
]^C^C$S=X $S=EDIT |
8 |
|
[ZOOM |
|
]^C^C$S=X $S=ZOOM |
9 |
|
[LAYER |
|
]^C^C$S=X $S=LAYER |
10 |
|
**DRAW 3 |
|
|
11 |
|
|
] |
12 |
||
[*-DRAW-* |
13 |
|||
[ |
|
] |
|
14 |
[ |
|
] |
]$S=X $S=LINE ^C^CLINE |
15 |
[LINE: |
|
16 |
||
[ARC: |
|
]$S=X $S=ARC |
17 |
|
[CIRCLE: |
] |
]$S=X $S=CIRCLE ^C^CCIRCLE |
18 |
|
[ |
|
|
19 |
|
[ |
|
] |
|
20 |
[ |
|
] |
|
21 |
[ |
|
] |
|
22 |
[ |
|
] |
|
23 |
[ |
|
] |
|
24 |
[ |
|
] |
|
25 |
[ |
|
] |
|
26 |
[ |
|
] |
]$S= $S= |
27 |
[*-PREV-* |
28 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
29 |
||
[*-ZOOM-* |
]$S=X $S=ZOOM |
30 |
||
**LINE 3 |
|
|
31 |
|
|
]^C^CLINE |
32 |
||
[LINE: |
] |
33 |
||
[ |
|
|
34 |
|
[ |
|
] |
|
35 |
[ Continue ]^C^CLINE;; |
36 |
|||
[ Close |
|
]CLOSE |
37 |
|
[ Undo |
|
]UNDO |
38 |
|
[ .X |
].X |
39 |
||
[ .Y |
].Y |
40 |
||
[ .Z |
].Z |
41 |
||
[ .XY |
].XY |
42 |
||
[ .XZ |
].XZ |
43 |
||
[ .YZ |
].YZ |
44 |
||
[ |
|
] |
|
45 |
[ |
|
] |
|
46 |
[ |
|
] |
]$S= $S= |
47 |
[*-PREV-* |
48 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
49 |
||
[*-ZOOM-* |
]$S=X $S=ZOOM |
50 |
||
**ARC 3 |
|
|
51 |
|
] |
52 |
|||
[ARC |
53 |
|||
[ |
-3P: |
] |
]^C^CARC \\DRAG |
54 |
[ |
|
55 |
||
[ |
-SCE: |
|
]^C^CARC \C \DRAG |
56 |
[ |
-SCA: |
|
]^C^CARC \C \A DRAG |
57 |
[ |
-CSE: |
|
]^C^CARC C \\DRAG |
58 |
290 |
Глава 9 |
|
||
[ |
-CSA: |
|
]^C^CARC C \\A DRAG |
59 |
[ |
CSL: |
] |
]^C^CARC C \\L DRAG |
60 |
[ |
|
|
61 |
|
[ |
|
] |
|
62 |
[ |
|
] |
|
63 |
[ |
|
] |
|
64 |
[ |
|
] |
|
65 |
[ |
|
] |
|
66 |
[ |
|
] |
]$S= $S= |
67 |
[*-PREV-* |
68 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
69 |
||
[*-ZOOM-* |
]$S=X $S=ZOOM |
70 |
||
**CIRCLE 3 |
71 |
|||
72 |
||||
[CIRCLE: |
] |
] |
73 |
|
[ |
-C,R: |
]^C^CCIRCLE |
74 |
|
[ |
|
75 |
||
[ |
-C,D: |
|
]^C^CCIRCLE \D |
76 |
[ |
-2P: |
|
]^C^CCIRCLE 2P |
77 |
[ |
-3P: |
] |
]^C^CCIRCLE 3P |
78 |
[ |
|
|
79 |
|
[ |
|
] |
|
80 |
[ |
|
] |
|
81 |
[ |
|
] |
|
82 |
[ |
|
] |
|
83 |
[ |
|
] |
|
84 |
[ |
|
] |
|
85 |
[ |
|
] |
|
86 |
[ |
|
] |
]$S= $S= |
87 |
[*-PREV-* |
88 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
89 |
||
[*-ZOOM-* |
]$S=X $S=ZOOM |
90 |
||
|
|
|
|
91 |
**EDIT 3 |
|
|
92 |
|
|
] |
93 |
||
[*-EDIT-* |
94 |
|||
[ |
|
] |
|
95 |
[ |
|
] |
] |
96 |
[ERASE |
|
97 |
||
[Quadrant |
]QUA $S= |
98 |
||
[Tangent |
|
]TAN $S= |
99 |
|
[None |
] |
]NONE $S= |
100 |
|
[ |
|
|
101 |
|
[ |
|
] |
|
102 |
[ |
|
] |
|
103 |
[ |
|
] |
|
104 |
[ |
|
] |
|
105 |
[ |
|
] |
|
106 |
[ |
|
] |
|
107 |
[ |
|
] |
]$S= $S= |
108 |
[*-PREV-* |
109 |
|||
[*-EDIT-* |
]^C^C$S=X $S=EDIT |
110 |
||
