Сложные типы линий могут содержать встроенные формы, которые хранятся в файлах форм. Линии сложных типов используются для обозначения инженерных сетей, границ, контуров и т.д.
Как и простые, сложные линии строятся динамически между задаваемыми пользователем вершинами. Формы и текстовые объекты, являющиеся частью сложных линий, всегда отображаются полностью и никогда не обрезаются.
При описании элементы начертания линий сложного типа, так же как и в простых линиях, отделяются друг от друга запятыми. В качестве элементов начертания описания сложных типов линий могут содержать, помимо точек и штрихов, формы и текстовые объекты.
Формы в типах линий описываются следующим образом:
[[имя_формы,имя_файла_shx] или [имя_формы,имя_файла_shx,преобразование]
преобразование является необязательным и может задавать любую последовательность следующих параметров (через запятую):
Здесь атрибутR=## Относительный угол поворота
A=## Абсолютный угол поворота
S=## Масштаб
X=## Смещение по X
Y=## Смещение по Y
## обозначает десятичное число со знаком (1, -17, 0,01 и т.д.). Угол поворота измеряется в градусах, остальные величины в единицах чертежа в соответствии с масштабом типа линий. После букв, обозначающих операции преобразования, ставятся знак равенства и число.
В данном случаеНиже приведено описание линии с именем CON1LINE, повторяющееся звено которой состоит из линейного участка, пробела и формы CON1 из файла ep.shx. (Обратите внимание, что для правильной работы следующего примера необходимо, чтобы путь к файлу es.shx был известен системе.)
*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0
За исключением выражения в квадратных скобках, описание полностью совпадает с описанием простого типа линий.
Как было отмечено ранее, в общей сложности для описания формы, входящей в состав линии сложного типа, можно использовать 6 параметров. Только первые два из них являются обязательными и фиксированными, остальные четыре можно опустить или поменять местами. Ниже приведены два примера описания форм с использованием различных параметров.
[CAP,ep.shx,S=2,R=10,X=0.5]
CAP, описанная в файле ep.shx, в масштабе, в два раза превышающем масштаб единиц данной линии, повернутая относительно касательной к линии на 10 градусов против часовой стрелки и с отступом в 0,5 единиц по оси X.
Строится форма с именем[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]
DIP8, описанную в файле pd.shx, со смещением по оси X на 0,5 единиц чертежа, по оси Y на 1 единицу чертежа, с нулевым углом поворота и в масштабе, равном масштабу единиц данной линии.
С помощью кода, приведенного выше, можно построить форму с именемДля описания форм в сложных типах линий принят следующий синтаксис.
[имя_формы,файл_формы,масштаб,поворот,смещение_по_x,смещение_по_y]
Ниже приведена расшифровка параметров описания.
Имя используемой формы. Обязательный параметр. При его отсутствии тип линий не определяется. Если форма с таким именем отсутствует в указанном файле, линия строится без формы.
Имя скомпилированного файла описания формы (SHX). При его отсутствии тип линий не определяется. Если путь к файлу формы не задан, программа ищет его в папке библиотечных файлов. Если путь задан, но программа не может найти файл по заданному пути, то поиск осуществляется в папке библиотечных файлов. Если заданный файл не найден, линия строится без формы.
S=значение. Масштаб формы, т.е. коэффициент, на который умножается изначальный масштаб формы. Если изначально форма определена с масштабом 0, то в качестве масштаба используется только S=значение.
R=значение или A=значение. R= обозначает относительный или тангенциальный угол поворота относительно направления линии. A= обозначает абсолютный угол поворота формы, т.е. относительно начала координат все формы поворачиваются одинаково, независимо от их положения относительно линии. Значение угла поворота может быть дополнено буквами d, r, или g. Буквы соответствуют единицам измерения угла — градусам, радианам или градам. Если угол поворота не указан, то его значение принимается равным 0.
X=значение. Этот параметр задает отступ формы по оси X, отсчитываемый от вершины линии. Если отступ по оси X не задан или равен нулю, форма строится без отступа. Этот параметр употребляется, если необходима сплошная линия, включающая формы. На значение не влияет масштаб, заданный выражением S=.
Y=значение. Этот параметр задает отступ формы по оси Y, отсчитываемый от вершины линии. Если отступ по оси Y не задан или равен нулю, форма строится без отступа. На значение не влияет масштаб, заданный выражением S=.