Справочник - Разработка и оформление конструкторской документации РЭА (1071707), страница 51
Текст из файла (страница 51)
Все они (за исключением точки) могут быть ориентированными. Например, ориентация окружности задается знаком радиуса — положительное значение радиуса означает ориентацию по часовой стрелке, то же — для дуги. Примитивы представляются в ЭВМ математической моделью в виде структуры данных — набора канонических параметров (табл. П1.1). С помощью пlп 1ОЕТ и РОЕТ можно получить информацию о канонических параметрах ГО, а также о ГО, который они представляют: )ч = 1ОЕТ (100, АЕ (1)) — считывает все канонические параметры !60, помещает их в массив АЕ (1) и определяет их количество Х. По количеству параметров можно определить тнп 160: точка — два параметра, окружность — три н т.дл САСС РОЕТ (1ОО, АЕ (1)) — считывает канонические параметры и помещает а массив Ай (1).
431 о М о о ;Х Ф 3 Х О Х Х В Х Х Ф Ф Х бЗ к Хо ГФ о .Й "о хй 8 ! х ~ о х~ Х Х Х Х Х й Ь й Х М о о м'> о х 2 о о ! М Р ХХ 3 Х о $1 3 ° Ж о а о м х о <о я а оф У а о. о ! ~К Я." х о Х .4 о х о о М о о.З у 3 о а Зй Ф а ~~, о о во,, о -~ о. о -.й ~ХХ О ХХ Х ~.ХЕ о ХО Х о'"ооа о ффоо о ~я а й 'о 8* о,3 .о о о а амфор иоа омаоо оо оо аю о~оооо о ХОмохав аз о ° ох-~о ° х Ц Х ~~о х йод ~ «~ ~~о .
~ $ ааах а о, о ° -о Ох аоооо Хих айовы ляр г (Р= !Р)(т(.(. (Д Тг) д длИ l)з. /)АГУ(ДЯ(П) д К Х IР IРИТХУ(Д,У) х ПЧ-УРИтК()Ц (Гг!Рг) (У(= (Р(УПС(С гС Ю гР=)ттКА(А,ДГ Д,У Рис. П).1. Примеры операторов определения точек Ниже приведены примеры описания графических примитивов. Операторм определения точки (рнс. П 1.1): 1Р = 1РНТЕЕ (Е1, Е2) — определяет точку пересечения прямых Е! и Е2; 1Р =- !РНТ О (А)((1)) — определяет точку с координатами Х, У, значения которых содержатся в первых двух элементах массива А)! (1). Принято имя п~п, использующей массив, заканчивать 0 (например, 1РНТО); 1Р! = — ! РХТЕС (Е, 1С, (Р2) — определяет точки 1Р1, !Р2 (одним оператором определяются две точки, здесь 1Р2 — выходной параметр) пересечения окружности 1С с ориентированной прямой Е.
Точка 1Р( — первая точка встречи Е н 1С; !Р( =1РНТСС (!С1, !С2, (Р2) — определяет точки !Р1, 1Р2 пересечения двух окружностей, одна из которых ориентирована. В этом случае также определяются две точки (1Р2 — выходной параметр): 1Р1 — точка входа ориентированной окружности 1С1 в окружность !С2; )Р2 — точка выхода; 1Р =1РНТЙА ()(, А (. Х. У)) — точка )Р задается радиусом-вектором )! и углом А (в градусах).
Если не указаны необязательные параметры Х и У, их значение приравнивается нулю. Многообразие операторов определения одного и того же графического примитива позволяют при описании ГО подобрать наиболее подходящие. Напри. мер, при составлении программы для ГО, представленного на рис. П1.2, определение точек с помощью ноторых формируется ГО, целесообразно осуществить с использованием следующих операторов: 1Р1=1РНТХУ (Х, У) )Р2= — 1РНТЕЕ (1.1, 1.2) (Р4=(РНТЕС (1.2, 1С, 1РЗ). Операторы определения отрезков прямых (рнс. П 1.3): ! Е=.!Е1НХУ (Х!, У1, Х2, У2) — определяет отрезок (прямую) ограниченный двумя точками с координатами Х, У (прямая проходит через две точки с координатами Х, У).
При этом точки не должны совпадать; (Е=1Е1Н 0 (А)х (1)) — аналогичен предыдущему. Здесь А)( (1) — массив из четырех элементов, содержащий координаты двух точек, принадлежащих отрезку (прямой); ! Е = 1Е)НРР (1Р1, (Р2) — прямая задается координатами Х, У двух точек, являющихся первыми двумя параметрами канонического представления любого графического примитива (см. табл. П(.1); в списке параметров указывают имена геометрических переменных, представляющих зти примитивы.
Например, ес- 433 Рис. П!.2. Графическая иллюстрация, поясняющая выбор операторов определения точек Рис. П1.3. Примеры операторов определения отрезков прямых у,оу д ляй«з Ая(ы/ и дя(г) ля(лг) х l«=Ы/ИГ(ДЯ(/Д у~.-уиищ~и,т) П ХГ Х2 Д !С-а!Ли У(Х(У(Х2 Уг) ли в списке параметров будут указаны геометрические переменные 1С и 1Р1.Ы, определяющие окружность и ломаную, то при работе оператора построения прямой будут использованы в качестве координат точек для задания первой точки— координаты центра окружности 1С вЂ” ХС, УС (первые два параметра канонического представления онружиости (см.
табл. П1.1)), для задания второй точки— координаты первой точки ломаной — !Р).)») (первые два параметра канонического представления ломаной). Например, если необходимо построить отрезок, соединяющий центры двух окружностей, достаточно в списке параметров ука. зать имена геометрических переменных, определяющих эти окружности: 1С =- П.1НРР (1С!, 1С2). Такой подход будет встречаться во многих операторах определения графических примитивов. Следует заметить, что разницы в операторах задания отрезка и прямой в каноническом их представлении не существует. Она проявляется лишь в различ. ном их применении в п'п «Эпиграфам Например, если необходимо определитьточку пересечения двух прямых (.1 и Е2 (рис.
П!.4, а), отрезки интерпретируются как прямые (пересекаются их продолжения), а в треугольнике (рис. П1.4.6)— это отрезки. Операторы определения окружностей (рнс. П1.5): 1С=!С!ЙХУ (ХС, УС, ~й) — онружность задана координатами ее центра и радиусом. Знак радиуса определяет ориентацию окружности: положительной принята ориентация цо часовой стрелке; 1С = 1С! Й 0 (АЙ(1)) — аналогичен предыдущему. Здесь параметры ХС, УС, Й передаются через массив из трех элементов; !С=!С!ЙРЙ (1Р, шЙ) — в качестве первого параметра в списке параметров может быть указан любой графический примитив (в примере — точка, координаты которой будут использованы для задания центра определяемой окружности).
Операторы определения дуг окружностей (рнс. П 1.6): 1А=-1АЙСХУ (ХС, УС, ~Й, ХМ, УН, ХК, УК) — дуга окружности задана центром в точке с координатами ХС, УС, радиусом Й, координатами начальной и конечной точек дуги. Знак радиуса определяет ориентацию дуги аналогично окружности; 1А=1АЙСО(АЙ (1)) — аналогичен предыдущему. Здесь — семь параметров дуги, перечисленных в последовательности предыдущего оператора, передаются через массив АЙ (1); )А =-1АЙСЗР (1Р)«(, 1РБ, 1РК) — дуга задана тремя ее точками (начальной, средней и конечной). В качестве параметров здесь могут быть использованы любые графические примитивы; 434 Рис.
П).4. Интерпретация отрезков Рис. П).Ь. Примеры операторов определения окружностей УС АЯ(/т// О ХС Х /С=/С/ЯХ У(ХС, УС Я) О 4 Я//) Х /С = /С/Я//(4 Я(1)) /( /С/ЯРК(1РЯ) У АЯ(/+б) УФ УС АЯ(/ /1 УЯ АЯ(/еб) О ХЯХС ХЯ Х ОАЯОЯАЯ///АЯЙЬ5/ Х /А -/АЯСХУ(ХС, УСК ХЯУЯХЯ У/О /А = /АЯС//(АЯИ) /РК 1РЯ /А - /АКСЗР//Рй, /Р5 /РЯ/ АЯ(/'// АЯ/М5/ АЯ(/ 5) /РС /РК О АЯ//1 АЯ//'Г! АЯО б/ Х /А " /АЯСРИ(АЯ(/11 /А- /А КСРЯ(/РС, К, /Р//, /РЩ Рис. П(.6. Примеры операторов определения дуг 435 (А=)АЙСРЙ (!РС. шЙ, (РХ,!РК) — дуга задана точкой — центром окружности, радиусом, а также начальной и конечной точками дугн(в качестве параиетров (кроме радиуса) могут быть использованы любые графические примитивы).
Операторы определения ломаной (рнс. П1.7): !Р(.=(Р).ХХУ (Х(. У1, Х2. У2, ..., ХХ, УХ) — ломаная с координатами Х, У ее вершин. Максимальное число параметров 200; 1Р(.= 1Р(.ХО (Х, АЙ (!)) — аналогичен предыдущему. Здесь координаты Х. У вершин ломаной передаются через массив АЙ (1), Х вЂ” число передаваемых координат (обязательно четное); 1Р — —.
1РВХРР (1Р1, 1Р2, ..., 1РХ) — ломаная задается геометрическими переменными, определяющими точки. В качестве параметров могут быть использованы любые графические примитивы. тп т2 И КГ Кг к» х (РЕ (Р(МХЧ(Х(Ч(Х2Ч2...,ХЦУЩ дч х М ЕАЫ 5ЕТ((!А(5(Н, Ц(Я ЕА(1 5ЕТУЕГ (ХЧ, ЧУ( 5 Т = 1 ТХ Т(Х, Ч, ТЕХ Т( Рис. П!.3.
Операторы формирования текста Ая(/'л( Ал(1'Л АК(РЫ О АЛ(ПАЛО Г) АЛ(1'И-!) К !Р! = !Р( ПЯ(й, А Я (!)) (Р( (Р! 1Р( = (Р( ((РР(!Р(, 1Р2, ..., (РА(( Рис. П1.7. Примеры операторов опре. деления ломаных Операторы задания текста (рис. П 1.8): 1Т=1ТХТ (Х. Ч. ТЕХТ) — задаются Х, Ч вЂ” ноординаты опорной точки строки текста (лезая нижняя точка): ТЕХТ вЂ” литерал либо массив, содержа~пай строку символов. Например: 1Т =-1ТХТ (10., 30, 'ЧИСЛО' ).
По умолчанию текст располагаетси горизонтально, имеет размер шрифта 3,5. Размер шрифта задается оператором СА1Л. 5ЕТН%5 (Н, )Ч, 5), где Н, (Ч вЂ” высота и ширина символов; 5 — расстоиние между символами. На. клон текста определяется оператором САЕЕ 5ЕТЧЕС (БХ, 5Ч), который задает положение вектора, перпендикулярного линии наклона текста; 5Х. 5У вЂ” дискретные величины, определяющие вектор. При задании требований к написанию текста с любым наклоном (кроме гори- зонтального) и любого размера (кроме шрифта 2,5) операторы должны быть за- писаны в последовательности: СА1Л. 5ЕТН(Ч5 (Н, ТЧ, 5) САЕЕ 5ЕТЧЕС (5Х, 5Ч) !Т = 1ТХТ (Х, Ч, ТЕХТ).
Всем графическим примитивам при их создании присваивается два атрибута: тип линии и слой. Зтн атрибуты используются программами вывода ГИ на графо- построитель илн графический дисплей. Приняты следующие коды дли соответст- вующих типов и видов линий: 0 — невидимая; ! — сплошная основная; 2— сплошная тонкая; 3 — штриховая, 4 — штрикпунктириая; 5 — линия штрихов- ки; 6 — текстовая; 7 — размерная; 8 — размерная со стрелкой в начале; 9 — раз- мерная со стрелкой в конце; 16 — размерная с двумя стрелками. По умолчанию устанавливается тип липин с кодом ! — сплошная основная. Тип линии задается оператором САЕ) 5ЕТЕТЕ ((Т(Р), где в качестве параметра записывается код соответствующей линии.
Установ- 436 ленный оператором тип линии будет действовать на все следующие операторы до введения нового типа линии. С помощью оператора СА(.С ЯЕТЕАУ ((.АУ) устанавливается текущее значение слоя в диапазоне 0,.,205 (слой 128 не высве- чивается). В геометрических операторах в списке параметров на месте любой геометри- ческой или арифметической переменной могут стоять произвольные геометриче- ские или арифметические выражения, определяющие значения этих переменных. Например, оператор 1). —.
1Р).ХРР ()РМТХУ (О., О.). !РХТСС (Е. )С. 1РЗ), )РЛ) равносилен последовательности операторов: ! Р) =- 1РХТХУ (О., О.) ! Р2 -.- 1РХТСС (1., !С, !РЗ) !С вЂ”. 1Р! МРР НР1, !Р2, )РЗ). Геометрические комплексы. '"рсдс ' » «Эпиграфа» графические прими- тивы могут быть объединены в единое целое, так называемые геометри- ческие комплексы (ГК). В них могут входить как примитивы. так и другие ГК Геометрический комплекс (рнс. П(.9) может представлять сложные иерархиче.
ские структуры данных одно-. многоуровневые. Одни ГО не может входить в состав более чем одного ГК. Лля создания ГК попользуются следующие операторы: 16К вЂ” 1МООЕ (!61. 162, ..., 16Х) — геометрический комплекс 16К, состоящий нз ГО 161, !62, ..., 16Х. Числ«> параметров не должно превышать 200; 16К =- 1ХООЕ 0 (Х, 1АВ (!)) аналоги- чен предыдущему. Здесь список ГО передается через массив 1АВ(Н; Х вЂ” число ГО; СА).С РХОАВО (16К, 160) — добавляет ГО 160 к ГК 16К: СА(.). ГХОЗ()В (160) — исключает ГО 16О из состава ГК. Любому ГК можно присвоить имя с помощью оператора САС). ЯЕТЯХэ( (МА)»(Е), где ХАМŠ— литерал из четырех символов либо массив. Ичя присваиваетсн оче- редному ГК, создаваемому в программе, следующему за этим оператором.