Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Книги_AutoCad_2 / Настройка AutoCAD_Sham_Tickoo-Customizing_2006г

.pdf
Скачиваний:
182
Добавлен:
09.04.2015
Размер:
9.06 Mб
Скачать

Экранные меню

271

Рис. 9.4. Диалоговое окно Select Menu File

Можно также загрузить файл меню из командной строки, присвоив переменной FILEDIA значение 0.

Command: FILEDIA

Enter new value for FILEDIA <1>: 0

Command: MENU

Enter menu file name or [.(for none)] <текущий>: PDM1

В этом выражении

PDM1 — имя файла меню;

<текущий> — имя текущего файла меню.

После того как вы введете команду MENU, в командной строке появится приглашение на ввод имени файла. Введите имя файла без файлового разрешения (.mnu), так как программа AutoCAD предусматривает именно это разрешение.

Примечание

1.После загрузки нового меню вы лишаетесь возможности пользоваться экранным меню, кнопочными меню или цифровым преобразователем. Это связано с тем, что исходное меню (т.е. файл acad.mnu) отсутствует, а новое меню не содержит соответствующих областей.

2.Чтобы активизировать исходное меню, загрузите файл acad.mnu, введя соответствующее выражение в командную строку:

Command: MENU

Enter menu file name or [. (for none)] <текущий>: ACAD.MNU

3.Если вам необходимо с помощью клавиатуры или координатно-указательного устройства ввести в макрос меню какие-либо дополнительные параметры, используйте для этого обратную косую черту (\). Система приостановит свою работу, что даст вам возможность ввести необходимые данные.

4.После обратной косой черты пробел не ставится.

272Глава 9

5.В определениях команд, названиях элементов меню и метках разделов меню могут использоваться как прописные, так и строчные буквы.

6.Чтобы сделать файл меню более читабельным, можете вставить пустые строки между элементами меню.

7.Количество строк, отображаемых на экране, зависит от параметров вашей системы и определяется значением системной переменной SCREENBOXES. Если количество элементов, содержащихся в меню, превысит число имеющихся строк, то “лишние” элементы меню просто не отобразятся на экране. Например, если максимальное количество строк, которые могут быть отображены на экране, равно 28, то элементы меню, не вошедшие в это число, не выводятся на экран и таким образом становятся недоступными.

Упражнение 1

Спроектируйте и напишите экранное меню, содержащее следующие команды AutoCAD. Сохраните файл меню под именем sm1.mnu.

PLINE

ELLIPSE (Center)

ELLIPSE (Axis endpoint)

ROTATE

OFFSET

SCALE

Подменю экранного меню

Экранное меню часто содержит большое количество элементов, но количество строк, которые могут быть отображены на экране, ограничено. Количество строк, отображаемых на экране, зависит от параметров вашей системы и определяется значением системной переменной SCREENBOXES. Представьте, например, устройство отображения, параметры которого позволяют отобразить не более 28 пунктов меню. Остальные пункты меню, не вошедшие в это число, не могут быть выведены на экран и поэтому становятся недоступными. Чтобы выйти из этого положения, создайте несколько подменю, с помощью которых вы сможете определить небольшие группы элементов, содержащихся в разделе меню. При выборе созданного подменю AutoCAD загрузит элементы соответствующего подменю и выведет их на экран. Тем не менее, не забывайте о том, что при достаточно высоком разрешении монитора вы сможете отобразить на экране все элементы меню, что избавит вас от необходимости создания подменю.

Определение подменю

Определение подменю состоит из имени создаваемого подменю и двух звездочек (**), стоящих перед этим именем. Меню может содержать произвольное количество подменю, каждое из которых должно иметь уникальное имя. К подменю принадлежат все элементы, начиная с метки подменю и заканчивая меткой следующего раздела или следующего подменю. Метка подменю имеет такой формат:

**Имя

где

** — две звездочки (**), обозначающие подменю;

Имя — имя подменю.

Экранные меню

273

Пример

**DRAW

где

DRAW — имя подменю;

** — две звездочки (**), обозначающие подменю.

Примечание

1.Длина имени подменю не должна превышать 31 символа.

2.Имя подменю может состоять из букв, цифр и специальных символов, таких как знак доллара ($), дефис (-) и знак подчеркивания (_).

3.Использование пробелов в имени подменю не допускается.

4.В файле меню необходимо использовать уникальные имена подменю.

Ссылка на подменю

Ссылка на подменю используется для вызова или загрузки подменю. Она состоит из буквы, определяющей раздел меню, и знака доллара ($), стоящего перед ней. В качестве буквы, определяющей соответствующий раздел меню, используется Pn, где n — номер раздела. После имени раздела меню ставится знак “равно” (=), а затем указывается имя подменю, которое вы хотите активизировать. Имя подменю указывается без звездочек (**). Ссылка на подменю имеет следующий формат:

$Раздел=Подменю

где

$ — знак доллара;

Раздел — описатель (спецификатор) раздела меню;

= — знак “равно”;

Подменю — имя подменю.

Пример

$S=EDIT

где

S — описатель первого раздела раскрывающегося меню;

EDIT — имя подменю.

Примечание $ — код специального символа, используемый в файле меню для загрузки подменю.

$M= — код, используемый для загрузки макросов DIESEL из элементов меню.

Ниже приведены спецификаторы (описатели) разделов:

S — символ, определяющий меню SCREEN (экранное меню).

P0–P16 — символ, определяющий меню POP (от POP1 до POP16).

I — символ, определяющий меню Image Tile (мозаичное меню).

B1–B4 — символ, определяющий меню BUTTONS (кнопочное меню) от B1 до B4. TI–T4 — символ, определяющий меню TABLET (планшетное меню) от T1 до T4. A1–A4 — символ, определяющий меню AUX (вспомогательное меню) от A1 до A4.

274

Глава 9

Вложенные подменю

При активизации подменю происходит копирование текущего меню в стековую память. Если вы выберете какое-нибудь другое подменю, текущее подменю будет скопировано и размещено в верхнем слое стековой памяти. Максимальное количество меню, которые могут быть размещены в стеке, равно восьми. При увеличении размера стековой памяти меню, находящееся в нижнем слое, удаляется. Для вызова предыдущего меню можно использовать запрос вложенного подменю, который имеет следующий формат:

$S=

где

$ — знак доллара ($);

S — описатель экранного меню;

= — знак “равно”.

Максимальное количество вложенных подменю равно восьми. При каждом обращении к подменю (т.е. при выдаче команды $S=) происходит выталкивание последнего элемента из стека и его последующая активизация.

Пример 2

Спроектируйте и напишите экранное меню, содержащее следующие команды.

LINE

ERASE

PLINE

MOVE

ELLIPSE-C

ROTATE

ELLIPSE-E

OFFSET

CIR-C,R

COPY

CIR-C,D

SCALE

CIR-2P

 

Как уже говорилось, первой и наиболее важной частью процесса написания меню является его проектирование и знакомство с командами и параметрами, которые связаны с этими командами. Вам необходимо решить, как будет выглядеть создаваемое меню, а также продумать организацию команд, которая обеспечит его максимальную эффективность. Напишите меню на листе бумаги и посмотрите, насколько оно соответствует вашим требованиям. Попробуйте также создать подменю, с помощью которого вы сможете сгруппировать команды по способу использования, выполняемым функциям и отношениям с другими подменю. Продумайте способ доступа к другим часто используемым командам, который позволил бы избежать обращения к главному меню.

На рис. 9.5 показан один из возможных вариантов организации команд и проекта экранного меню. Как вы видите, это меню состоит из главного меню и двух подменю. В первом подменю содержатся команды рисования, во втором собраны команды редактирования. Ставить двоеточие (:) после имени команды не обязательно. Этот символ служит в качестве отличительного признака и используется только для выделения команд среди других элементов меню. Например, выражение DRAW, находящееся в корневом меню, не является командой, поэтому после него двоеточие не ставится. В свою очередь, при выборе элемента ERASE из меню EDIT будет выполнена команда ERASE. Следовательно, этот элемент является командой и поэтому его необходимо выделить двоеточием (:).

Экранные меню

275

Рис. 9.5. Проект экранного меню

Перед вами листинг файла экранного меню, описанного в примере 1.

Номера строк, находящиеся в правой части листинга, не являются частью файла и используются только для ссылок.

***SCREEN

]

1

[ MENU-2

 

2

[********

]

3

[

]

 

4

[

]

 

5

[

]

 

6

[

]

]^C^C$=DRAW

7

[DRAW

 

8

[EDIT

 

]^C^C$S=EDIT

9

**DRAW

 

 

10

 

]^C^CS=SCREEN

11

[ MENU-2

 

12

[********

]

13

[

]

]

14

[*-DRAW-*

15

[

]

]^C^CLINE

16

[LINE:

 

17

[PLINE:

 

]^C^CPLINE;\W;0.1;0.1

18

[ELLIP-C: ]^C^CELLIPSE;C

19

[ELLIP-E: ]^C^CELLIPSE

20

[CIR-C,R: ]^C^CCIRCLE

21

[CIR-C,D: ]^C^CCIRCLE;\D

22

[CIR-2P

]

]^C^CCIRCLE;\2P

23

[

 

24

[

]

 

25

[

]

 

26

[

]

 

27

[

]

 

28

[

]

]^C^C$S=

29

[*-PREV-*

30

[*-EDIT-*

]^C^C$S=EDIT

31

276

Глава 9

 

**EDIT

 

 

32

 

]^C^C$S=SCREEN

33

[ MENU-2

 

34

[********

]

35

[

 

]

]

36

[*-EDIT-*

37

[

 

]

]^C^CERASE

38

[ERASE:

 

39

[MOVE:

 

]^C^CMOVE

40

[ROTATE:

 

]^C^CROTATE

41

[OFFSET:

 

]^C^COFFSET

42

[COPY:

 

]^C^CCOPY

43

[SCALE:

]

]^C^CSCALE

44

[

 

 

45

[

 

]

 

46

[

 

]

 

47

[

 

]

 

48

[

 

]

 

49

[

 

]

 

50

[

 

]

]^C^C$S=

51

[*-PREV-*

52

[*-DRAW-*

]^C^C$S=DRAW

53

Пояснения

Строка 1

***SCREEN

Здесь ***SCREEN — метка раздела экранного меню.

Строка 2

[ MENU-2 ]

Эта строка обеспечивает отображение надписи “MENU-2” в верхней части экранного меню.

Строка 3

[******** ]

Этот элемент вводит в экранное меню строку, состоящую из восьми звездочек (********).

Строки 4-7

[]

Этот элемент вводит в экранное меню пустую строку. Использовать квадратные скобки для этого не обязательно. Достаточно ввести в файл меню четыре пустые строки.

Строка 8

[DRAW ]^C^C$=DRAW

Выражение [DRAW ] вводит в экранное меню надпись “DRAW”, которая позволяет понять, что, выбрав этот элемент, вы сможете получить доступ к командам рисования. Выражение ^C^C дважды отменяет текущую команду, а команда $=DRAW обеспечивает загрузку подменю DRAW и его отображение на экране.

 

 

Экранные меню

277

Строка 9

 

 

 

[EDIT

]^C^C$S=EDIT

 

Здесь [EDIT

] отображает надпись “EDIT” в экранном меню. Выражение ^C^C

дважды отменяет существующую команду, а команда $S=EDIT загружает подменю EDIT.

Строка 10

Пустые строки, используемые для разделения подменю или элементов меню, не обязательны. Они всего лишь облегчают чтение файла.

Строка 11

**DRAW

Здесь **DRAW — имя подменю, в котором содержатся элементы, определенные в строках 12–31.

Строка 15

[*-DRAW-* ]

Эта строка выводит на экран выражение “*-DRAW-*”, используемое в качестве заголовка экранного меню. Благодаря этому пользователь может понять, что в данном меню содержатся команды рисования.

Строка 18

[PLINE: ]^C^CPLINE;\W;0.1;0.1

Выражение [PLINE: ] отображает надпись “PLINE:” в экранном меню. Выражение ^C^C дважды отменяет существующую команду. PLINE — команда AutoCAD. Точки с запятыми обеспечивают ввод команды RETURN. Вместо этих символов могут использоваться пробелы. Обратная косая черта (\) создает паузу, которая требуется пользователю для ввода необходимых параметров. В данном случае пользователь должен определить начальную точку полилинии. Буква W указывает на использование команды PLINE (ПЛИНИЯ) c опцией Width (Ширина). Первое числовое значение (0.1) определяет начальную ширину вычерчиваемой полилинии, второе значение (0.1) — ее конечную ширину. При выполнении этой команды будет начерчена полилиния шириной 0,1.

Здесь

PLINE — команда AutoCAD;

; — ввод команды RETURN;

\ — создание паузы для ввода данных;

W — опция Width;

; — ввод команды RETURN;

0.1 — определение начальной ширины;

; — ввод команды RETURN;

0.1 — определение конечной ширины.

Строка 19

[ELLIP-C: ]^C^CELLIPSE;C

Здесь [ELLIP-C: ] отображает выражение “ELLIP-C:” на экране. Выражение ^C^C дважды отменяет существующую команду. ELLIPSE — команда AutoCAD. Точки с запятыми обеспечивают ввод команды RETURN. Буква С указывает на использование команды ELLIPSE (ЭЛЛИПС) c опцией Center (Центр).

278

Глава 9

Здесь

ELLIPSE — команда AutoCAD;

; — ввод команды RETURN;

C — опция Center.

Строка 20

[ELLIP-E: ]^C^CELLIPSE

Здесь [ELLIP-C: ] выводит на экран выражение “ELLIP-C:”. Выражение ^C^C дважды отменяет существующую команду. ELLIPSE — команда AutoCAD. Точки с запятыми обеспечивают ввод команды RETURN. В данном случае команда ELLIPSE (ЭЛЛИПС) используется со стандартной опцией, которая обеспечивает построение эллипса по конечным точкам вертикальной и горизонтальной оси.

Строка 30

[*-PREV-* ]^C^C$S=

Выражение [*-PREV-* ] вводит надпись “*-PREV-*” в экранное меню. Выражение ^C^C дважды отменяет существующую команду, а $S= восстанавливает предыдущее меню, которое отображалось на экране до загрузки текущего меню.

Здесь

$S= — восстанавливает предыдущее экранное меню.

Строка 31

[*-EDIT-* ]^C^C$S=EDIT

Выражение [*-EDIT-* ] вводит надпись “*-EDIT-*” в экранное меню. Выражение ^C^C дважды отменяет существующую команду, а $S=EDIT загружает подменю EDIT и отображает его на экране. Это дает вам возможность обращаться к командам редактирования, не возвращаясь в корневое меню и не вызывая команду EDIT.

Здесь

$S — загружает подменю EDIT;

EDIT — имя подменю.

Строка 33

**EDIT

Здесь **EDIT — имя подменю, в котором содержатся элементы, определенные в строках 34–53.

Строка 34

[ MENU-2 ]^C^C$S=SCREEN

Выражение [ MENU-2 ] вводит в экранное меню надпись “MENU-2”. Выражение ^C^C дважды отменяет существующую команду, а $S=SCREEN загружает корневое меню SCREEN в экранное меню.

Строка 39

[ERASE: ]^C^CERASE

Выражение [ERASE: ] вводит в экранное меню надпись “ERASE:”. ^C^C дважды отменяет существующую команду. ERASE — команда AutoCAD, используемая для удаления выделенных объектов.

Экранные меню

279

Строка 53

[*-DRAW-* ]^C^C$S=DRAW

Команда $S=DRAW загружает подменю DRAW и отображает его на экране. Это дает вам возможность загружать меню DRAW, не обращаясь к опциям корневого меню. Под корневым или главным меню подразумевается первое меню, которое отображается на экране при загрузке меню или запуске программы AutoCAD.

Выбор элемента DRAW из корневого меню приводит к загрузке подменю DRAW и его отображению на экране. При этом элементы, содержащиеся в меню рисования, полностью заменяют элементы корневого меню. Теперь при выборе элемента MENU-2 из экранного меню на экране снова появится корневое меню, в котором останутся некоторые пункты предыдущего меню (рис. 9.6). Это связано с тем, что элементов корневого меню недостаточно для того, чтобы заменить все пункты подменю DRAW.

Рис. 9.6. Внешний вид экранного меню после загрузки корневого меню

Одним из способов очистки экрана является определение подменю, содержащего 21 пустую строку. Загрузка этого подменю позволит полностью очистить экран. Последующая загрузка другого меню не приведет к перекрытию имеющегося меню, так как к тому времени экранное меню будет уже очищено и на экране не останется ни одного элемента (рис. 9.7). Пример 3 иллюстрирует использование подобного меню.

Рис. 9.7. Так будет выглядеть экранное меню после загрузки корневого меню

280 Глава 9

Другим способом, который позволяет избежать перекрытия имеющихся меню, является определение подменю, содержащих одинаковое количество элементов. Основной недостаток этого метода состоит в значительном увеличении размера файла меню, так как каждое подменю будет содержать 21 строку.

Упражнение 2 (Общее)

Напишите файл экранного меню, содержащего следующие команды AutoCAD. Сохраните этот файл под именем sme2.mnu.

ARC

MIRROR

-3P

BREAK-F

-SCE

BREAK-@

-SCA

EXTEND

-SCL

STRETCH

-SEA

FILLET-0

POLYGON-C

FILLET

POLYGON-E

CHAMFER

Использование нескольких подменю

В файле меню может содержаться любое количество подменю. Перед именем подменю ставятся две звездочки (**), что выполняется даже в том случае, если подменю вложено в другое подменю. С помощью одного оператора можно загрузить несколько подменю. Если элемент меню содержит несколько подменю, они должны быть разделены пустой строкой. Пример 3 иллюстрирует использование нескольких подменю.

Пример 3

Создайте макет меню, а затем напишите определение экранного меню, содержащего следующие команды AutoCAD.

Draw

ARC

Edit

Dispaly

LINE

3Point

EXTEND

ZOOM

Continue

SCE

STRETCH

REGEN

Close

SCA

FILLET

SCALE

Undo

CSE

 

PAN

.X

CSA

 

 

.Y

CSL

 

 

.Z

 

 

 

.XY

 

 

 

.XZ

 

 

 

.YZ

 

 

 

Существует несколько способов организации команд, которые отвечают различным требованиям. На рис. 9.8 показан один из возможных вариантов экранного меню, содержащего ранее перечисленные команды AutoCAD.

Соседние файлы в папке Книги_AutoCad_2