
- •8. Графические базы данных (гбд)
- •8.1. Структура и схема функционирования типовых гбд
- •8.2. Постановка задачи проектирования гбд в графической системе AutoCad
- •Точки привязки
- •8.3. Разработка структуры гбд
- •8.4. Пакетные файлы гбд
- •8.5. Параметрические функции гбд
- •8.6. Создание библиотек слайдов гбд
- •8.7. Модификация основного меню AutoCad 2000
- •8.7.1. Файл меню. Его разделы. Управляющие символы
- •8.7.2. Модификация всплывающего и падающего меню AutoCad2000
- •8.7.3. Модификация экранного меню AutoCad2000
- •8.7.4. Модификация графического меню AutoCad2000
8.7.3. Модификация экранного меню AutoCad2000
Раздел ***SCREEN файла меню acad.mns управляет экранными меню, которые появляются в правой части гра-фического экрана. При запуске команды AutoCAD в облас-ти экранного меню возникает соответствующее ей подменю
- группа пунктов в разделе меню. Подменю временно заме-щает все текущее меню или его часть. Ниже приведен фраг-мент файла меню, содержащего раздел верхнего уровня экранного меню.
***SCREEN
**S
[AutoCAD ^C^C^P(ai_rootmenus) ^P
[* * * * ]$S=ACAD.OSNAP
[PILE ]$S=ACAD.01_FILE
[EDIT ]$S=ACAD.02_EDIT
[VIEW 1]$S=ACAD.03_VIEW1
[VIEW 2]$S=ACAD.04_VIEW2
[INSERT]$S=ACAD.05_INSERT
[FORMAT ]$ S =ACAD.0 6_FORMAT
[TOOLS 1]$S=ACAD.07_TOOLS1
[TOOLS 2]$S=ACAD.08_TOOLS2
[DRAW 1]$S=ACAD.09_DRAW1
[DRAW 2]$S=ACAD.10_DRAW2
[DIMENSION]$S=ACAD.11_DIMENSION
[MODIFY1 ]$S=ACAD.12_MODIFY1
[MODIFY2 ]$S=ACAD.13_MODIPY2
175
Каждая строка раздела ***SCREEN содержит часть пунктов из следующего списка:
[ТЕКСТ] - отображает сообщение;
$S - вызывает подменю и отображает его на экране;
^C^C - отменяет любую текущую команду;
_NAME - запускает команду AutoCAD. Каждое подменю имеет формат: **NAME N.
Заголовок каждого подменю состоит из имени и числа:
NAME - имя подменю;
N - номер строки экранного меню, с которой должно начаться подменю. Например, подменю раздела DRAW1 выглядит следующим образом:
**09_DRAW1 3
[Line ] ^C^C_Line
[Ray ] ^C^C_ray
[Xline ] ^C^C_xline
[Mline ] ^C^C_mline
[Pline ] ^C^C_pline
[3Dpoly ] ^C^C_3dpoly
[Polygon ] ^C^C_polygon
[Rectang ] ^C^C_rectang
[Arc ] ^C^C_arc
[Circle ] ^C^C_circle
[Donut ] ^C^C_donut
[Spline ]^C^C_spline
[Ellipse ] ^C^C_ellipse
Пример следующего уровня подменю команды CIRCLE:
176
**CIRCLE 3
[Circle: ] ^C^C_circle
[Cen,Rad ]\\
[Cen,Dia ]\_d
[2 Point ]_2p \
[3 Point ]_3p \\
[TTR ]_ttr
[TanTanTa]_3p _tan \_tan \_tan \
[CopyRad:]^C^C_circlerad '_cal rad;
Когда требуется ввести информацию - с клавиатуры или при помощи устройства указания - в середине пункта меню, то используется символ \ .
Обычно символы, считанные из пункта меню, отобра-жаются в зоне подсказок экрана, как при вводе с клавиа-туры, и запросы высвечиваются даже в том случае, когда пункт меню включает ответы. Эту информацию можно подавить с помощью системной переменной MENUECHO. Если эхо-вывод отключен, управляющая последова-тельность ^P в пункте меню включает его, а в противном случае - отключает.
8.7.4. Модификация графического меню AutoCad2000
Графические меню позволяют выбирать команды или опции путем вывода на экран графического образа - слайда (или пиктограммы). Для графических образов используются файлы и библиотеки слайдов AutoCAD. Пример графи-ческого меню, для выбора элементарных трехмерных поверхностей, показан на Рис. 8.5 .
177
Р
ис.8.5
Справа размещаются 20 неперекрывающихся окон, в каждом из которых отображается одиночный слайд; слева расположен список имен изображений. Каждое имя связано с одним изображением. Команда загружается путем выбора либо изображения, либо имени из списка. При выборе пус-того неиспользованного окна никакая команда не выпол-няется, так как ни одна из команд не связана с ним. Графическое меню объявляется в файле меню разделом *** IMAGE. Оно определяется так же, как и экранное меню: каждый пункт состоит из заголовка и текста меню, который должен выполняться при выборе пункта. Так же как и в разделах падающих меню, первая строка графического ме-ню представляет собой его заголовок, который отобра-жается над группой пиктограмм, составляющих меню. Ниже приведен фрагмент файла, соответствующий диа-логовому графическому окну, изображенному на Рис. 8.5.
178
***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 (Отмена) добавляются к графи-ческому меню автоматически. Если пунктов меню больше, чем может быть одновременно отображено в выводимом окне, доступ к оставшимся пунктам осуществляется с помощью указания соответствующих клавиш графического меню или скользящих шкал в поле списка.
Чтобы создать новое графическое меню, следует ввести новый пункт в падающее меню, а затем уже опреде-лить само графическое меню.
Наиболее целесообразно использовать графические меню для вставки блоков. В этом случае с окном графи-ческого меню необходимо связывать команду INSERT. Фрагменты нового разрабатываемого графического меню следует размещать в файле меню acad.mns , в конце раздела ***IMAGE. Последним вводом графического меню явля-ется раздел, который начинается с ** IMAGE_VPORTI. Именно в конце этого раздела и нужно разместить свой фрагмент. В п.8.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] - заголовок, который появляется в верх-ней части нового диалогового графического окна.
В третьей строке начальная запись в квадратных скоб-
180
ках [Tetr(trap,Трапеция)] означает, что из библиотеки Tetr в окно графического меню будет загружен слайд с именем trap, при этом в колонке справа будет помещено слово “Трапеция”. В случае выбора данного пункта графического меню (щелчком по окну с рисунком трапеции или по слову “Трапеция”) автоматически выполняются следующие дей-ствия: 1) команда ^C^C прерывает выполнение всех теку-щих команд; 2) (load"trap") вызывает загрузку файла trap.lsp; 3) trap вызывает данную функцию из этого файла, которая выполняет все необходимые запросы и вычерчивает трапецию.
Замечание. После команды (load"trap") перед trap обяза-тельно вставить пробел, иначе не будет происходить авто-матического вызова функции trap.
После компиляции модифицированного файла меню acad.mns , при нажатии кнопки Фигуры падающего меню Tetragons, на экране появляется новое диалоговое графи-
ческое меню Tetragons.
Для того чтобы вычертить трапецию в нужном месте рисунка следует выполнить следующие действия:
1. Выбрать в меню окна пункт Tetragons.
2. В падающем меню выбрать пункт Фигуры.
3. В открывшемся графическом меню Tetragons выбрать слайд с трапецией .
4. На запрос программы указать типоразмер трапеции (или ввести её геометрические параметры с клавиатуры), точку привязки и угол её поворота относительно горизонтальной оси.
После выполнения вышеприведенных действий программа построит трапецию заданного типоразмера с заданными параметрами положения.
Полный текст ядра ГБД по четырехугольникам дан в Приложении. Там же приведены примерные темы курсовых работ по созданию ГБД по отдельным типам подшипников.
181