- •Глава 1. Основные виды геометрических объектов
- •§1. Основные аналитические способы задания кривых
- •§2. Виды кривых
- •§3. Основные способы задания прямых
- •§4. Способы задания окружностей и их дуг
- •§6. Виды поверхностей
- •Пример 2.Уравнение конуса второй степени
- •§7. Основные способы задания плоскостей
- •§8. Аналитические способы задания пространственных тел
- •Глава 2. Интерполяция кривых и поверхностей алгебраическими полиномами
- •§1. Основные способы моделирования кривых. Интерполяция и аппроксимация
- •§2. Интерполирование кривых с помощью алгебраических полиномов канонического вида
- •§3. Интерполирование по однократным узлам. Интерполяционные многочлены Лагранжа и Ньютона
- •§4. Интерполирование по двукратным узлам. Интерполяционные многочлены Эрмита
- •§5. Интерполирование поверхностей
- •5.1. Интерполирование по однократным узлам. Билинейные поверхности
- •5.2. Интерполирование по двукратным узлам
- •Глава 3. Моделирование кривых и поверхностей при помощи сплайнов
- •I. Построение локальных сплайнов.
- •II. Построение интерполяционных сплайнов.
- •§1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- •1.1 Построение сплайнов по однократным узлам
- •1.2 Интерполирование по двукратным узлам
- •§2. Построение интерполяционных сплайнов.
- •2.2. Кубические интерполяционные сплайны
- •§3. Интерполяция с помощью в-сплайнов
- •Глава 4. Интерполирование поверхностей по линиям
- •§1.Интерполирование по кривым (линейчатые или плазовые поверхности)
- •§2. Линейные поверхности Кунса
- •§3. Обобщенные поверхности Кунса
- •Глава 5. Аппроксимация алгебраическими полиномами
- •§1. Аппроксимация по методу наименьших квадратов
- •§2. Аппроксимация алгебраическими многочленами по критерию наилучшего равномерного приближения
- •§ 3. Аппроксимация при помощи кривых и поверхностей Безье
- •Глава 6. Модели объектов. Плоские и пространственные линейные преобразования
- •§1. Модели (структуры данных) графических объектов
- •§2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи
- •§ 3. Однородные координаты. Матричные представления линейных преобразований
- •Задачи. Записать прямые и обратные матрицы элемен-тарных преобразований, при помощи которых можно осу-ществить следующие действия:
- •§ 4. Составные линейные преобразования
- •§ 5. Линейные преобразования каркасных моделей
- •Глава 7.Проективные изображения трехмерных объектов
- •§1. Аксонометрические проекции
- •1.1.Ортогональные проекции
- •1.2 Диметрические проекции
- •Куб Диметрическая проекция
- •1. 3. Изометрическая проекция
- •§2. Перспективные проекции
- •§3. Построение проективных векторных изображений трёхмерных объектов
- •Глава 8. Графические базы данных (гбд)
- •§1. Структура и схема функционирования типовых гбд
- •§2. Постановка задачи проектирования гбд в графической системе AutoCad
- •Точки привязки
- •§3. Разработка структуры гбд
- •§4. Пакетные файлы гбд
- •§5. Параметрические функции гбд
- •§6. Создание библиотек слайдов гбд
- •§7. Модификация основного меню AutoCad 2000
- •7.1. Файл меню. Его разделы. Управляющие символы
- •7.2. Модификация всплывающего и падающего меню AutoCad2000
- •7.3. Модификация экранного меню AutoCad2000
- •7.4. Модификация графического меню AutoCad2000
- •§8. Использование разработанной базы данных
- •Глава 9. Создание реалистических изображений
- •§ 1. Пространственные модели
- •§2. Геометрическое моделирование объектов сложной формы
- •§ 3. Текстуры
- •§ 4. Основные операции при построении реалистических изображений
- •§ 5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- •§ 6. Моделирование отражающих свойств поверхностей
- •§ 7. Моделирование отражения от поверхности (затенение)
- •§ 8. Удаление невидимых граней. Расчёт теней
- •§9. Создание стереоскопического эффекта
- •§10. Анимация
- •Порядок выполнения и примерные темы курсовых работ
- •Литература
7.3. Модификация экранного меню AutoCad2000
Раздел ***SCREEN файла меню acad.mns управляет экранными меню, которые появляются в правой части гра-фического экрана. При запуске команды AutoCAD в облас-ти экранного меню возникает соответствующее ей подменю
174
- группа пунктов в разделе меню. Подменю временно заме-щает все текущее меню или его часть. Ниже приведен фраг-мент файла меню, содержащего раздел верхнего уровня экранного меню.
***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
Каждая строка раздела ***SCREEN содержит часть пунктов из следующего списка:
[ТЕКСТ] - отображает сообщение;
$S - вызывает подменю и отображает его на экране;
^C^C - отменяет любую текущую команду;
175
_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:
**CIRCLE 3
[Circle: ] ^C^C_circle
[Cen,Rad ]\\
[Cen,Dia ]\_d
176
[2 Point ]_2p \
[3 Point ]_3p \\
[TTR ]_ttr
[TanTanTa]_3p _tan \_tan \_tan \
[CopyRad:]^C^C_circlerad '_cal rad;
Когда требуется ввести информацию - с клавиатуры или при помощи устройства указания - в середине пункта меню, то используется символ \ .
Обычно символы, считанные из пункта меню, отобра-жаются в зоне подсказок экрана, как при вводе с клавиа-туры, и запросы высвечиваются даже в том случае, когда пункт меню включает ответы. Эту информацию можно подавить с помощью системной переменной MENUECHO. Если эхо-вывод отключен, управляющая последова-тельность ^P в пункте меню включает его, а в противном случае - отключает.
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
