- •1. Введение.
- •1.1.Предмет сапр.
- •1.2.Роль сапр в производственном цикле.
- •2. Развитие процесса проектирования.
- •2.1.Что такое проектирование?
- •2.2.Традиционные методы.
- •2.3.Обзор новых методов.
- •2.4.Расчлененный процесс проектирования.
- •2.5.Выбор стратегий и методов проектирования.
- •3. Готовые стратегии (конвергенция).
- •3.1.Упорядоченный поиск (применение теории решений).
- •3.2.Стоимостной анализ.
- •3.3.Системотехника.
- •3.4.Проектирование систем человек - машина.
- •3.5.Кумулятивная стратегия Пейджа.
- •3.6. Стратегия коллективной разработки гибких архитектурных проектов (casa - Collaborative Strategy for Adaptable Architecture).
- •4. Управление стратегией.
- •4.1.Переключение стратегии.
- •4.2.Фундаментальный метод проектирования Мэтчетта (fdm).
- •5. Накопление и коагулирование данных.
- •5. 1. Введение. История развития баз данных
- •5. 2. Основные понятия и определения
- •5.3. Проектирование баз данных
- •6. Методы поиска идей (дивергенция и трансформация).
- •6.1.Мозговая атака.
- •6.2.Синектика.
- •6.3.Ликвидация тупиковых ситуаций.
- •6.4.Морфологические карты.
- •7. Методы исследования структуры проблемы (трансформация). Методы оценки (конвергенция).
- •7.1. Матрица взаимодействий.
- •7.2. Сеть взаимодействий.
- •7.3. Анализ взаимосвязанных областей решения (aida).
- •7.4.Определение компонентов по Александеру.
- •7.5. Классификация проектной информации.
- •7.6. Составление технического задания.
- •7.7. Индекс надежности по Квирку.
- •8. Технология проектирования.
- •8.1.Технологическая схема разработки проекта.
- •8.2.Условия, влияющие на эффективность проектных решений.
- •8.3.Совершенствование процесса проектирования.
- •8.4.Предпосылки повышения технико - экономического уровня проектных решений.
- •9. Устройства вывода графической информации из эвм
- •10. Основные характеристики и задачи математического моделирования и средств машинной графики в сапр.
- •10.1.Геометрическое моделирование и машинная графика.
- •10.2.Графические данные и особенности их обработки на эвм.
- •10.3.Машинная графика, как подсистема сапр.
- •10.4.Стандартизация в области машинной графики.
- •11. Технические средства в сапр.
- •11.2.Средства вывода информации.
- •11.1.Функциональное назначение и основные характеристики технических средств.
- •11.2.Средства вывода информации.
- •11.3.Средства ввода графической информации.
- •11.4.Средства ввода альтернатив.
- •12. Математическое обеспечение подсистемы формирования изображений.
- •12.1.Математические модели и их роль в проектировании.
- •12.2.Модель изображения. Графические примитивы.
- •12.3.Координатные системы и геометрические преобразования.
- •13. Диалоговые графические методы ввода и моделирования.
- •13.1.Базовые операции и специальные диалоговые методы ввода.
- •13.2.Управляемый пространственный символ.
- •13.3.Диалоговое управление моделью аппарата проецирования.
- •14. Языковые средства машинной графики.
- •14.1.Методы описания и ввода геометрических данных о чертежах.
- •14.2.Классификация графических языков сапр.
- •14.3.Языки программирования машинной графики.
- •15. Базовое программное обеспечение диалоговых графических систем.
- •15.1.Основные концепции и функции ядра графических систем.
- •15.2.Функции формирования примитивов вывода и управления их атрибутами.
- •16. Прикладное программное обеспечение машинной графики.
- •16.1.Назначение, классификация и общая характеристика ппо мг.
- •16.2.Принципы построения прикладного программного обеспечения машинной графики.
- •16.3.Программное обеспечение подсистем автоматизированного выпуска чертежей.
- •Литература
14.3.Языки программирования машинной графики.
Языковые средства МГ предназначены для разработки подсистем ввода графических данных, геометрического моделирования и формирования проектно - графической документации.
Входные графические языки (ВГ - языки) относятся к информационным языкам МГ и предназначены для описания и ввода в ЭВМ графических данных и задания ограниченных действий над ними.
Процедурные языки предназначены для описания графических данных, алгоритмов формирования и изменения изображений в процессе автоматизированного проектирования.
В современных САПР наибольшее распространение получили символические (алфавитно - цифровые) и графосимволические ВГ - языки.
Операторы символических ВГ - языков задаются в виде текстовых строк фиксированного или переменного формата.
Операторы графосимволических языков вводятся в ЭВМ с графических терминалов с помощью алфавитно - цифровой и (или) функциональной клавиатуры, устройств управления световым маркером или с помощью устройства указания и считывания координат на планшете ввода.
Терминология ВГ - языков должна быть близка к обычной инженерной терминологии, чтобы облегчить процесс освоения языка и ввода графических данных непосредственно специалистами прикладной области без посредника - специалиста в области программирования.
ВГ - языки должны быть ориентированы на описание объекта и на ввод изображения. Особенность ВГ - языков первого типа состоит в том, что в результате трансляции описания в ЭВМ формируется модель геометрии объекта в трехмерном пространстве, которая может быть представлена на устройствах отображения в виде изображения произвольных проекций, сечений, разрезов.
Результатом трансляции описания на языках второго типа является то изображение, которое введено. Эти языки используются в САПР для ввода типовых графических элементов чертежей (ТЭЧ).
ВГ - языки для описания изображений основаны на использовании некоторых общих подмножеств команд, которые обеспечивают:
построение графических примитивов;
задание атрибутов графических примитивов;
построение графических изображений произвольной конфигурации;
построение изображения из ограниченного множества элементов, имеющих типовую конфигурацию;
сокращение избыточности описания на основе использования принципа умолчания и признаков повторения;
преобразование изображения (аффинные и другие преобразование);
документирование информации в графическом, текстовом виде или запись на машинных носителях;
прием и передачу информации;
управление устройствами вывода.
Подмножества этих команд могут быть расширены или сокращены в зависимости от области и условий использования конкретного языка.
15. Базовое программное обеспечение диалоговых графических систем.
15.1.Основные концепции и функции ядра графических систем.
15.2.Функции формирования примитивов вывода и управления их атрибутами.
15.1.Основные концепции и функции ядра графических систем.
Программное обеспечение машинной графики (ПО МГ) составляет основу решения всех задач ввода - вывода и преобразования графической информации, ее накопления и хранения в системе. Определяющее влияние на структуру ПО МГ оказывает архитектура комплекса технических средств системы, возможности графических устройств, область применения, уровень стандартизации в информатике и в машинной графике.
ПО МГ разделяют на базовое и прикладное.
Базовое программное обеспечение диалоговых графических систем (БПО ДГС) предназначено для реализации общих для многих областей применения функций графического ввода - вывода и организации процесса диалогового взаимодействия человека с ЭВМ.
Прикладное программное обеспечение машинной графики (ППО МГ) используется для решения задач графического ввода - вывода конкретной области применения на основе использования возможностей БПО ДГС.
БПО ДГС обеспечивает решение следующих основных задач:
получение графических изображений путем задания и объединения простейших графических объектов (например, точка, отрезок прямой, строка текста, дуга окружности);
выполнение элементарных преобразований над этими изображениями (например, сдвиг, поворот, масштабирование);
управление режимами работы устройств ввода диалоговых систем (например, мышь, клавиатура) и прием данных, введенных оператором системы с помощью этих устройств;
разработку диалогового графического языка взаимодействия человека с ЭВМ и организацию процесса интерпретации.
Учитывая многоцелевое назначение, БПО ДГС имеет достаточно высокий уровень унификации и обеспечивает независимость ППО МГ от архитектуры и возможностей конкретных устройств графического ввода - вывода. На выполнение этих требований направлены работы по стандартизации, интерфейсов и функций ПО МГ. Основу такой унификации составляет, принятый Международной организацией по стандартизации (ISO) стандарт DIS 7942 (draft) на Ядро Графических систем - ЯГС (Graphical Kernel System - GKS).
ЯГС определяет набор базовых функций для программирования в области МГ, который применяется для разработок графических систем, начиная от пассивного вывода до диалоговых систем высокого уровня.
Одна из основных концепций ЯГС - разделение функций вывода и ввода. При этом процессом диалогового взаимодействия управляет программа, использующая ЯГС. Полное разделение и независимость функций вывода и функций ввода, во-первых, обеспечивает хорошую структурируемость прикладных программ, во-вторых, способствует универсальности применения ЯГС в различных системах.
В описании ЯГС определена семантика графических функций, а не синтаксис, поэтому ЯГС является языково - независимым ядром графических систем. При реализации предполагается его привязка к конкретным языкам программирования.
При этом все базовые графические функции выполняются только через ЯГС. Вызов функций ЯГС реализуется с помощью языкового интерфейса, который зависит от конкретного языка программирования и обычно выполняется в виде подпрограмм или процедур.
Независимость ЯГС от графических устройств основывается на важнейшей концепции рабочих станций (РС). Последние являются абстрактными (виртуальными) устройствами, которые представляют прикладной программе предусмотренный в системе ЯГС унифицированный набор графических функций безотносительно к тому, каким образом реализованы эти функции в конкретных физических устройствах.
РС состоят из одной поверхности отображения и нескольких устройств ввода. Концептуальная модель ЯГС - это несколько РС, функционирующих под управлением одной аппаратно - независимой части системы (рис. 1). Оператор работает одновременно с несколькими рабочими станциями. Ведет диалог с помощью графического дисплея и по мере необходимости получает копии выводимой через ЯГС информации на графопостроителе.
Рис. 37
Преобразование независимого от устройств представления функций ЯГС в зависимое при выводе и обратно при вводе выполняется программами аппаратно - зависимого слоя, которые называются графическими драйверами устройств.
При переносе графической системы с одной РС на другую ППО, использующее ЯГС, легко настраивается на особенности новой РС путем замены графических драйверов.
Основные характеристики графических устройств задаются в таблицах описания РС. Для выяснения возможностей РС в ЯГС имеются функции запроса, которые передают информацию прикладной программе из таблиц РС. Используя функции запроса, прикладная программа может автоматически настраиваться на возможности физической реализации РС.
Стандартом определены шесть категорий РС:
вывода (ВЫВ); ввода (ВВО); ввода - вывода (В/В);общая память сегментов (ОПС); вывод в метафайл (МВЫВ); ввод из метафайла (МВВО).
Последние три категории РС являются специальными или функциями ЯГС, которые представляют собой средства для временного (ОПС) и постоянного (МВЫВ и МВВО) хранения графической информации в независимых от конкретных устройств форматах данных.
Графический вывод в ЯГС строится на основе двух групп элементов, которые называются выходными примитивами и атрибутами примитивов. Выходные примитивы являются абстракцией основных действий, выполняемых графическими устройствами при построении изображения, таких как вычерчивание линий, текстовых строк, специальных символов или маркеров, заполнение области изображения штриховкой или узором.
Атрибуты определяют визуальные характеристики выходных примитивов на графических устройствах, например: тип линии, размеры символов, цвет, идентификатор указания.
Различают геометрические и негеометрические атрибуты. Значения геометрических атрибутов задаются в тех же единицах, что и параметры примитивов, и подвергаются тем же преобразованиям в процессе визуализации. к таким атрибутам относятся ширина, высота и расстояние между символами, а также размеры фигур для заполнения площади.
Негеометрические атрибуты, например, тип и толщина линии, цвет, не подвергаются преобразованиям визуализации и могут устанавливаться индивидуально на каждой рабочей станции, что позволяет при общей концепции независимости от аппаратуры наилучшим образом использовать конкретные свойства и возможности устройств вывода с учетом требований прикладной программы.
Системы координат и преобразования. В ЯГС прикладной программист может задавать изображение в реальной координатной системе объекта или процесса, которую принято называть глобальной или мировой системой координат (МК). Кроме того, каждое устройство имеет свою систему координат устройства (КУ), которая зависит от его типа и характеристик. Для графопостроителей единицей измерения КУ являются шаги в долях миллиметра, а для дисплеев просто адрес на дискретной сетке 512512, 10241024, 20482048. На графопостроитель чаще требуется выводить все изображения, а на графический дисплей - только некоторую его часть.
Для достижения независимости от типов устройств в ЯГС вся геометрическая информация (координаты), содержащаяся в выходных примитивах, атрибутах и логических данных, от устройства ввода позиции подвергается преобразованиям, которые определяются соотношением трех координатных систем:
1) мировых координат, используемых прикладным программистом;
2) нормированными координатами (НК), применяемыми для определения единой промежуточной координатной системы для всех РС;
3)координатами устройства - одна координатная система для каждой РС, в которой описываются примитивы в поле отображения данной РС.
Выходные примитивы и атрибуты пересчитываются из МК в НК с помощью преобразований нормирования, из НК в НК с помощью преобразования сегмента и из НК в КУ с помощью преобразований на РС. Данные от устройства ввода позиций пересчитываются с помощью обратных преобразований РС КУ в НК и одного из обратных преобразований из НК в МК.
ЯГС обеспечивает отображение нескольких систем с мировых координат на отдельные области единого пространства НК с помощью определения соответствующего преобразований нормирования и организацию вывода различных частей скомпонованного изображения в НК на разные РС посредством специальных преобразований НК в КУ для каждой РС.
Сегментация. Для ускорения модификации изображения, что особенно важно для диалоговых систем, удобно разделять все изображения на части, которые в ЯГС названы сегментами. Обычно декомпозиция изображения на сегменты тесно связана с декомпозицией объекта проектирования на структурные элементы.
В ЯГС сегмент - наименьшая единица изображения, которая идентифицируется прикладной программой с помощью уникального имени и подвергается преобразованиям и изменениям.
В любой момент времени может быть открыт только один сегмент. В процессе генерации все выходные примитивы вместе с атрибутами попадают в открытый сегмент. Из сегмента нельзя удалять примитивы, и в закрытый сегмент нельзя их добавлять. Если требуется модификация внутреннего содержания сегмента, он должен быть уничтожен и сгенерирован прикладной программой заново с необходимыми модификациями.
Сегменты подвергаются аффинным преобразованиям в НК. Эти преобразования определяются именем сегмента и матрицей преобразований размерностей 23. Преобразование сегментов происходит после преобразования нормирования, но перед отсечением и преобразованием в координаты устройства.
Сегменты можно переименовывать, уничтожать, делать видимыми и невидимыми, объявлять чувствительными и нечувствительными к обнаружению устройствами указывания. Изображение, входящее в сегмент, выделяется среди других сегментов с помощью мерцания или повышенной яркости.
В ЯГС сегменты являются единицами хранения графической информации. Сегмент запоминается на всех рабочих станциях, которые активны во время его создания. Для этой цели на каждой РС используется зависимая от рабочей станции память сегментов станции (ПСС). Если РС не имеет аппаратных средств для хранения сегментов, реализация ЯГС соответствующего уровня обеспечивает сохранение сегментов с помощью программных средств. Чтобы дать возможность рабочим станциям обмениваться сегментами, в ЯГС определена специальная РС - независимая от рабочих станций общая память сегментов (ОПС).
Примитивы вывода из хранящихся в ОПС сегментов можно вставлять в открытый сегмент или пересылать целый сегмент из ОПС в некоторую РС. В любом случае сегмент в ЯГС состоит лишь из примитивов и их атрибутов и не включает никакие другие сегменты. Общая схема потока данных для графического вывода в ЯГС представлена на рис. 38.
Ввод информации в ЯГС основан на концепции логических устройств ввода (ЛУВ), что позволяет обеспечить независимость диалоговых графических программ то набора физических устройств ввода конкретной реализации РС ввода или ввода - вывода.
ЛУВ в ЯГС подразделяются на шесть классов, каждый из которых характеризуется своим типом данных в виде логического входного значения: координат введенной позиции, вещественного числа, строки текста, имени сегмента и идентификатора примитива, указанных на экране, номера выбранной функции, координат последовательности позиций.
ЯГС требует хотя бы одного устройства каждого класса для рабочих станций ввода и ввода - вывода. ЛУВ в рабочих станциях можно реализовать, используя различные физические устройства ввода, например, выбор функции с помощью функциональной клавиатуры или мышью из меню команд, а ввод координат с помощью шарового указателя или с планшета ввода.
Действия с устройствами ввода должны сопровождаться подсказкой и эхо отображением вводимых значений. ЯГС определяет типы подсказок и эхо индивидуально для каждого класса ЛУВ.
Предусматривается три режима работы ЛУВ: синхронный ввод или запрос, опрос текущего значения ЛУВ и асинхронный ввод или ввод в режиме прерываний.
Рабочие состояния ЯГС относятся к одним из главных концептуальных вопросов его взаимодействия с прикладными программами. ЯГС находится в одном из пяти состояний (рис. 39): ГЯЗК - ЯГС закрыто; ГЯОТ - ЯГС открыто; СТОТ - по крайней мере одна РС открыта; СТАК - по крайней мере одна РС активна; СГОТ - сегмент открыт.
Рис.
38
Значение, определяющее рабочее состояние, содержится в глобальной статической переменной, которой до первого обращения к ЯГС присваивается значение ГЯЗК. Рабочие состояния ЯГС отличаются друг от друга совокупностью функций ЯГС, которые разрешены для выполнения.
В целом, внутреннее состояние ЯГС определяется совокупностью переменных, которые представляют его внутреннюю структуру данных в виде следующих таблиц: таблицы рабочих состояний ЯГС; таблицы состояний сегмента для каждого существующего сегмента; таблицы входной очереди; таблицы состояний РС для каждой открытой РС; таблицы описания РС для каждого возможного типа РС в системе; таблицы ошибочных состояний ЯГС.
Содержащаяся в этих таблицах и списках информация доступна прикладной программе посредством имеющихся в ЯГС функций запроса.
Рис. 39
