
- •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.2. Модификация всплывающего и падающего меню AutoCad2000
Всплывающее и каждое падающее меню отмечены именами POP. POPO содержит всплывающее меню, РОР1 – падающее меню File (Файл), РОР2 - падающее меню Edit (Правка), РОРЗ - падающее меню View (Вид) и т.д.
Всплывающее
меню необходимо для оперативных действий
при по-строении чертежей. Оно появляется
при щелчке средней кнопкой мыши с тремя
кнопками или при одно-временном нажатии
<Shift>
и щелчке правой кнопкой мыши с двумя
кнопками (Рис.8.4).
Ниже приведен фрагмент файла асаd.mns, содержащий описание разделов POPO и РОР1, соответ-ствующих этому меню и падающему меню File:
Рис.8.4
169
***POP0
**SNAP
[&Object Snap Cursor Menu]
ID_Tracking [Temporary trac&k point]_tt
ID_From [&From]_from
ID_MnPointFi [->Poin&t Filters]
ID_PointFilx [.X].X
ID_PointFily [.Y].Y
ID_PointFilz [.Z].Z
[--]
ID_PointFixy [.XY].XY
ID_PointFixz [.XZ].XZ
ID_PointFiyz [<-.YZ].YZ
[--]
ID_OsnapEndp [&Endpoint]_endp
ID_OsnapMidp [&Midpoint]_mid
ID_OsnapInte [&Intersection]_int
ID_OsnapAppa [&Apparent Intersect]_appint
ID_OsnapExte [E&xtension]_ext
[--]
ID_OsnapCent [&Center]_cen
ID_OsnapQuad [&Quadrant]_qua
ID_OsnapTang [Tan&gent]_tan
[--]
ID_OsnapPerp [&Perpendicular]_per
ID_OsnapPara [Para&llel]_par
ID_OsnapNode [No&de]_nod
ID_OsnapInse [In&sert]_ins
ID_OsnapNear [Nea&rest]_nea
ID_OsnapNone [&None]_non
[--]
ID_Osnap [&Osnap Settings...]'_+dsettings 2
170
***POP1
**FILE
ID_MnFile [&File]
ID_New [&New... Ctrl+N]^C^C_new
ID_Open [&Open... Ctrl+O]^C^C_open
ID_FILE_CLOSE [&Close]
ID_PartialOp [$(if,$(eq,$(getvar,fullopen),0),,~)Pa&rtial Load]^C^C_partiaload
[--]
ID_Save [&Save Ctrl+S]^C^C_qsave
ID_Saveas [Save &As...]^C^C_saveas
ID_Export [&Export...]^C^C_export
[--]
ID_PlotSetup [Pa&ge Setup...]^C^C_pagesetup
ID_PlotMgr [Plotter &Manager...]^C^C_plottermanager
ID_PlotStyMgr [Plot St&yle Manager...]^C^C_stylesmanager
ID_Preview [Plot Pre&view]^C^C_preview
ID_Print [&Plot... Ctrl+P]^C^C_plot
[--]
ID_MnDrawing [->Drawing &Utilities]
ID_Audit [&Audit]^C^C_audit
ID_Recover [&Recover...]^C^C_recover
[--]
ID_MnPurge [->&Purge]
ID_PurgeAll [&All]^C^C_purge _a
[--]
ID_PurgeLay [&Layers]^C^C_purge _la
ID_PurgeLin [Li&netypes]^C^C_purge _lt
ID_PurgeTxt [&Text Styles]^C^C_purge _st
ID_PurgeDim [&Dimension Styles]^C^C_purge _d
ID_PurgeMln [&Multiline Styles]^C^C_purge _m
ID_PurgeBlk [&Blocks]^C^C_purge _b
ID_PurgePlt [&Plot Styles]^C^C_purge _p
ID_PurgeShp [<-<-&Shapes]^C^C_purge _sh
171
ID_SendMail [Sen&d...]
ID_Props [Drawing Propert&ies...]^C^C_dwgprops
[--]
ID_MRU [Drawing History]
[--]
ID_APP_EXIT [E&xit]
Первая строка в описании падающего меню РОРn указывает его позицию, например, ***РОР1 - для меню File (Файл). Строка ID_MnFile [&File] указывает имя меню. Причем идентификатор ID_MnFile является уникальным в файле acad.mns и повторяться не должен. Запись в квад-ратных скобках [&File] определяет заголовок меню.
Каждая строка описания меню POP содержит часть пунктов из следующего списка:
[ТЕКСТ] - заголовок, который не работает как команда, а служит в данном меню названием, появляющимся в статусной строке;
...[многоточие] - по принятому в AutoCAD соглашению это поле указывает, что выбор пункта меню вызывает появ-ление другого меню или диалогового окна;
[--] - разделитель частей меню. Заголовок пункта раздви-гается, становясь разделительной линией, если используется без других символов. При выдаче падающего меню эта строка увеличивается на всю его ширину;
[->] - указывает на начало каскадного меню. Текст, заклю-ченный в квадратные скобки, появляется в меню вместе со
стрелкой «вправо». Выбор этого пункта приводит к выдаче
следующего (подчиненного) меню справа от выбранного пункта исходного меню;
[<-] - указывает, что пункт меню является последним пунктом каскадного меню;
\ - указывает на необходимость ввести в данном месте некоторое значение. В команды меню, содержащие этот
172
знак, могут быть включены последовательности ответов на команду;
$1 - приводит к выводу поименованного графического меню;
+ - продолжает макрос на следующую строку, если является последним символом в строке;
$ - ( - вычисляет в заголовке строковый макрос языка DIESEL;
~ - отключает (показывает серым) данный пункт меню;
& - поставленный перед буквой, означает, что эта буква подчеркнута и можно обращаться к меню с помощью нажатия на клавиатуре клавиши с этой буквой;
!с - помечает пункт меню специальным символом с;
!. - помечает пункт меню специальным маркером (галочкой).
Любая строка в файле acad.mns, начинающаяся с сим-волов \\, является комментарием и игнорируется AutoCAD.
Если заголовок пункта меню начинается с символа ~, он будет отображаться более бледно. Обесцвеченный заго-ловок часто используется для того, чтобы указать: в теку-щий момент выбор этого пункта неверен. Действия, пред-принимаемые при выборе такого пункта меню, зависят от создателя меню.
Заголовки пунктов меню внутри разделов меню ***РОРn могут иметь произвольную длину. Ширина каждого падающего меню определяется по самому длин- ному заголовку.
При создании нового падающего меню и добавлении его к существующему меню AutoCAD рекомендуется снача-
ла сделать копию файла acad.mns с произвольным именем (например, acad_temp.mns) и только затем модифицировать оригинал. Как уже говорилось выше, для этого подойдет любой текстовый редактор, например, WordPad.
173
Для модификации существующих меню необходимо изменять названия пунктов меню (если это необходимо) и вызываемых программ, реализующих их.
Вставка нового меню производится следующим обра-зом. Файл меню acad.mns, загруженный в текстовый редак-тор, необходимо прокрутить до начала раздела, оза-главленного ***Toolbars (Панели), который следует после окончания раздела POP 10, описывающего падающее меню Help (Помощь). Раздел, формирующий разрабатываемое меню разработчик может вставить сразу после РОР10 или до него. Например, для встраиваемой базы данных заго-ловок назовём Tetragons (Четырёхугольники). Это же имя присвоим метке раздела. Для того, чтобы производить вы-бор типа четырёхугольника (прямоугольник или трапеция) из графического меню под названием IMAGE_TETR ,
введём в меню только один пункт под название FIGURES (фигуры). Заголовок этого пункта (который является не командой, а названием, появляющимся в статусной строке) зададим “Фигуры”. В итоге добавляемое меню примет сле-дующий вид :
***POP11
**TETRAGONS
ID_MnTETRAGONS [&Tetragons]
ID_FIGURES [&_Фигуры...]^C^C$I=
ACAD.IMAGE_TETR $i=ACAD.*
[--]
Изменения, внесенные в файл acad.mns, следует сохра-нить. Далее следует перекомпилировать новый файл меню acad.mns. Для этого в командной строке AutoCAD нужно ввести команду MENU (МЕНЮ), а затем в появившемся диалоговом окне Select Menu File (Выбор файла меню) выбрать новый, модифицированный файл acad.mns .
По завершении компиляции файла acad.mns после меню Help (Помощь) появится новое падающее меню с названием Tetragons .
174