ПОИСК Статьи Чертежи Таблицы Пакет подпрограмм автоматизации инженерно-графических работ и геометрического моделирования на плоскости из "Автоматизация разработки и выполнения конструкторской документации " Пакет подпрограмм автоматизации инженерно-графических работ и геометрического моделирования на плоскости ЭПИГРАФ представляет собой средство расширения языка программированная ФОРТРАН геометрическими переменными и операциями над ними. [c.31] В состав пакета включены подпрограммы (п/п), реализующие следующие основные возможности создание геометрических объектов (ГО) путем описания произвольных плоских изображений с помощью таких графических примитивов, как точка, отрезок (пря-мая), ломаная линия, окружность, дуга окружности и текст создание иерархически организованных структур графических данных путем объединения нескольких ГО в геометрические комплексы (ГК) выполнение аффинных преобразований над ГО и ГК выполнение логических операций над ГО (операций экранирования операций над контурами, адекватных операциям булевой логики) штриховку областей, ограниченных контурами, и вычисление их площади архивацию и восстановление ГО из архива выполнение операций, связанных с геометрическими вычислениями (нахождение точек пересечения, вычисление расстояний и др.) формирование линейных и угловых размеров. [c.31] При создании ГИ все геометрические характеристики автоматически записываются в так называемую рабочую область, кото-)ая реализована в виде файла с прямым доступом на диске. Поэтому программисту не нужно заботиться об организации в своей программе массивов для хранения параметров создаваемых ГО (как это, например, необходимо делать при работе с пакетом ГРАФОР). [c.31] Все структуры данных, используемые для описания примитивов,имеют единый формат (рис. 2.3,а). [c.33] При объединении нескольких ГО в ГК происходит связывание ГО в списковую структуру первые два поля заголовка ГК имеют такой же формат, как и заголовки примитивов. Третье поле имеет формат, представленный на рис. 2.3,в. [c.33] Очевидно, что такая структура заголовка ГК позволяет включать ГК в состав другого ГК- Таким образом, средство объединения ГО и ГК позволяет строить древовидные иерархические структуры графических данных любой сложности. Операции, применяемые в ГК, действуют на все ГО, входящие в его состав. [c.33] При копировании, архивации и восстановлении ГК из архива логическая структура ГК сохраняется. [c.34] В этом случае к структуре заголовка ГК добавляется четвертая запись, содержащая имя данного ГК. Допускается создание как поименованных, так и неименованных ГК. Именованные ГК, если они входят в состав ГК более высокого уровня, могут быть найдены в нем по своим именам с помощью п/п IF1ND. Это открывает возможность создания библиотеки ГО и ее использование в многопользовательском режиме. [c.34] В число графических примитивов, принятых в ЭПИГРАФе, включены точка, отрезок (прямая), окружность, дуга, ломаная, текст. Отрезок, окружность и дуга окружности имеют ориентацию, которая учитывается п/п геометрических вычислений. Заметим, что разницы между отрезком и прямой во внутреннем представлении не существует, она проявляется лишь в различной их интерпретации подпрограммами ЭПИГРАФа. [c.34] Всем примитивам при их создании присваивается два атрибута тип линий и слой (или цвет). Эти атрибуты используются программой вывода на графопостроитель или графический дисплей. В ЭПИГРАФе принята следующая кодировка типов линий О—невидимая I—сплошная основная 2—сплошная тонкая 3— штриховая 4—штрихпунктирная 5—линия штриховки 6—текстовая 7—размерная 8—размерная со стрелкой в начале 9— размерная со стрелкой в конце 10—размерная с двумя стрелками 11...255—тип линии не определен. [c.34] При создании примитивов используется текущее значение слоя и типа линии. Текущие значения этих атрибутов устанавливаются ll/ll SETLAY и SETSTL и распространяют свое действие на все примитивы, определяемые в программе после этих операторов. [c.34] Операторы определения точек (рис. 2.5). Для формирования точек имеется ряд подпрограмм, которые позволяют это сделать различными способами. Некоторые из них проиллюстрированы на рис. 2.5. [c.36] Формирование ломаной осуществляется по координатам ее вершин (рис.2.9). Ломаная может иметь произвольное число вершин, а также иметь самопересечения. [c.38] П/п SETHWS устанавливает значение высоты, ширины и расстояния между символами. П/п SETVE задает вектор нормали к строке символов. По умолчанию устанавливается шрифт 3,5, строка текста располагается горизонтально. [c.39] ЭПИГРАФ ГО может быть как отдельным примитивом (точка, отрезок, дуга и др.), так и ГК. Поэтому любой ГК может быть включен в состав другого ГК. При создании ГК необходимо помнить, что один ГО не может входить в состав более чем одного ГК. [c.40] Вернуться к основной статье