logo
Компьютерная графика / МАШ_ГРАФИКА

7.4. Модификация графического меню AutoCad2000

Графические меню позволяют выбирать команды или опции путем вывода на экран графического образа - слайда (или пиктограммы). Для графических образов используются файлы и библиотеки слайдов AutoCAD. Пример графи-ческого меню, для выбора элементарных трехмерных поверхностей, показан на Рис. 8.5 .

177

Рис.8.5

Справа размещаются 20 неперекрывающихся окон, в каж-дом из которых отображается одиночный слайд; слева рас-положен список имен изображений. Каждое имя связано с одним изображением. Команда загружается путем выбора либо изображения, либо имени из списка. При выборе пус-того неиспользованного окна никакая команда не выпол-няется, так как ни одна из команд не связана с ним.

Графическое меню объявляется в файле меню разделом *** IMAGE. Оно определяется так же, как и экранное меню: каждый пункт состоит из заго­ловка и текста меню, который должен выполняться при выборе пункта. Так же как и в разделах падающих меню, первая строка графического ме-ню представляет собой его заголовок. Заголовок отобра-

178

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

***IMAGE

**IMAGE_3DOBJECTS

[3D Objects]

[acad(Box3d,Box3d) ] ^C^Cai_box

[acad( Pyramid, Pyramid) ]^C^Cai_pyramid

[ac ad (Wedge, Wedge) ] ^C^Cai_wedge

[acad( Dome, Dome) ] ^C^Cai_dome

[acad( Sphere, Sphere) ] ^C^Cai_sphere

[acad( Cone, Cone) ] ^C^Cai_cone

[acad (Torus, Torus) ]^C^Cai_torus

[acad(Dish,Dish)]^C^Cai_dish

[acad(Mesh,Mesh) ] ^C^Cai_mesh

В графических меню заголовки пунктов обычно ссыла-ются на имена файлов слайдов, а не на текстовые заголовки, которые появляются на экране. Имя файла слайда должно быть записано точно так же, как оно было бы введено для команды VSLIDE (Слайд). Файл слайда содержит изобра-жение, которое показывается в качестве пиктограммы для данного варианта выбора. Допустимы следующие виды заголовков пунктов графического меню:

179

[имя слайда] - в поле списка выводится имя слайда, который отобра­жается в виде пиктограммы;

[имя слайда, заголовок] - в поле списка выводится заголовок, а слайд отображается в виде пиктограммы;

[библиотека (имя слайда)] - в поле списка выводится имя слайда из библиотеки, а слайд отображается в виде пик-тограммы;

[библиотека (имя слайда, заголовок)] - в поле списка выводится заго­ловок, а слайд из библиотеки отображается в виде пиктограммы;

[пустой] - заголовок используется как разделительная строка в поле списка, и никакая пиктограмма не отобра-жается.

Все пространство в диалоговом графическом окне разде-лено на ряд по­лей. Клавиши Previous (Назад), Next (Далее), Ok (Да), Cancel (Отмена) добавляются к графическому ме-ню автоматически. Если пунктов меню больше, чем может быть одновременно отображено в выводимом окне, доступ к оставшимся пунктам осуществляется с помощью указания соответствующих клавиш графического меню или сколь-зящих шкал в поле списка.

Чтобы создать новое графическое меню, следует ввести новый пункт в падающее меню (рис. 5.6.), а затем уже определить само графическое меню.

180

Наиболее целесообразно использовать графические меню для вставки блоков. В этом случае с окном графического меню необходимо связывать команду INSERT. Фрагменты нового разрабатываемого графического меню следует размещать в файле меню acad.mns , в конце раздела ***IMAGE. Последним вводом графического меню является раздел, который начинается с ** IMAGE_VPORTI. Именно в конце этого раздела и нужно разместить свой фрагмент. В п.7.2 для вставляемого графического меню было выбрано имя IMAGE_TETR. Библиотека специальных слайдов для графического меню имеет имя Tetr. Вставляемый текст имеет вид:

**IMAGE_ TETR

[Tetragons]

[Tetr(trap,Трапеция)]^C^C(load"trap") trap

[Tetr(orth,Прямоугольник)]^C^C(load"orth") orth

Первая строка - ** IMAGE_TETR - указывает начало нового раздела графического меню.

[Tetragons] - заголовок, который появляется в верхней части нового диалогового графического окна.

В третьей строке начальная запись в квадратных скобках [Tetr(trap,Трапеция)] означает, что из библиотеки Tetr в ок-но графического меню будет загружен слайд с именем trap,

181

при этом в колонке справа будет помещено слово “Трапеция”. В случае выбора данного пункта графического меню (щелч-ком по окну с рисунком трапеции или по слову “Трапе-ция”) автоматически выполняются следующие действия:

1) команда ^C^C прерывает выполнение всех текущих ко-манд ;

2) (load"trap") вызывает загрузку файла trap.lsp;

3) trap вызывает данную функцию из этого файла, которая выполняет все необходимые запросы и вычерчивает тра-пецию.

Замечание. После команды (load"trap") перед trap обяза-тельно вставить пробел, иначе не будет происходить авто-матического вызова функции trap.

Смысл команд в четвёртой строке аналогичен и отно-сится к прямоугольнику.

После компиляции модифицированного файла меню acad.mns , при нажатии кнопки Фигуры падающего меню Tetragons, на экране появляется но­вое диалоговое графи-

ческое меню Tetragons.

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

182