Создание пользовательских типов линий, штриховок, стрелок
DraftInfo <Params>
Команда Draftinfo предназначена для описания типов линий, штриховок, стрелок и т.п. по параметрам <Params>
.
Штриховки[править | править код]
Структура команды:
Draftinfo
– имя команды
Hatch
– ключ штриховки
Затем следует строка, содержащая имя штриховки и графический коэффициент по умолчанию:
<HatchName> <Coeff>
Оба параметра должны быть на одной строке. Если в этой строке параметр <Coeff>
не задать, то он будет считаться равным единице и следующая строка будет задавать линию семейства.
<HatchName>
– символьная строка или переменная, максимальная длина имени – 8 символов.
Затем идет одна или несколько строк, описывающих семейство параллельных линий штриховки:
<Angle> <XBegin> <YBegin> <Xstep> <Ystep> <L1> … <LI>… <LN>
где:
- 1.
<Angle>
– угол наклона линии к оси Х (в градусах), - 2.
<XBegin> <YBegin>
– координаты точки начала первого штриха первой линии семейства, - 3.
<Xstep> <Ystep>
– компоненты вектора сдвига точки начала первого штриха для следующих линий семейства, - 4.
<L1> … <LI>… <LN>
– длины штрихов и промежутков между штрихами:
если <L>
больше нуля, то это длина штриха,
если <L>
меньше нуля, то модуль этого числа задает длину промежутка между штрихами,
если <L>
равно нулю, то штрих-точка
Число штрихов должно быть меньше или равно десяти.
Затем следуют строки:
done
done
Заметим, что описание каждой линии в семействе должно быть СТРОГО на одной строке. Переход на новую строку является признаком завершения описания одной линии семейства.
Угол штриховки задается в градусах, а все остальные параметры линии – в миллиметрах.
Пример:
Draftinfo hatch "NewHatch" 1 0 0 0 0 5 10 -2 10 30 2 2 0 5 10 -5 10 done done;
Так же можно удалять или переименовывать штриховку. Для этого используется формат команды
DraftInfo Hatch Rename <OldName> <NewName>
для переименования штриховки и
DraftInfo Hatch Delete <Name>
для удаления штриховки
Тип линии[править | править код]
Draftinfo linetype <LineTypeName> <NParams> <Param1> … <ParamN> done done
Формат ввода параметров команды свободный, каждый параметр может быть на новой строке или несколько параметров могут быть на одной строке.
<LineTypeName>
— имя типа штриховки - строковая константа или переменная, максимальное количество символов в имени равно восьми.
<NParams>
количество параметров - целое число от одного до десяти.
<Param1> … <ParamN>
— вещественные числа: длина штриха или промежутка между штрихами в миллиметрах.
Если значение параметра положительное, то это длина штриха. Если значение параметра отрицательное, то модуль этого числа задает длину промежутка между штрихами. Если значение параметра нулевое, то этот параметр задает штрих-точку.
Заданная последовательность штрихов, промежутков и точек будет применяться многократно: после последнего из них будет снова первый и т.д.. Если последним и первым является штрих, то в результате они будут "склеиваться" и в результате на месте "склеивания" штрихи будет более длинными.
Пример:
Draftinfo linetype "Линия" 2 10 -5 done done;
Так же можно удалять или переименовывать типы линий. Для этого используется формат команды
DraftInfo linetype Rename <OldName> <NewName>
для переименования типа линии и
DraftInfo linetype Delete <Name>
для удаления типа линии
Стрелки[править | править код]
Draftinfo Arrow
<ArrowName>
— имя типа стрелки (до восьми символов)
<CellSize>
— размер сетки описания стрелки (от 1 до 126)
<PreExtension>
— недовод выносной линии (от -126 до 0)
<PreDimension>
— недовод размерной линии (от 0 до 126)
<IsAuto>
— допустимость автоматического продолжения (0 –нет; 1 -да)
Описания стрелки (два или более):
<DescrCode>
— код описания (от 0 до 5)
<DescrParams>
— параметры описания
done done
Формат ввода параметров команды свободный, каждый параметр может быть на новой строке или несколько параметров могут быть на одной строке.
Если <DescrCode>
равен 0, то далее следует конец описания (без параметров)
Если <DescrCode>
равен 1, то далее следует набор отрезков в виде
<XBeg1>, <YBeg1>, <XEnd1>, <YEnd1>,
…
<XBegN>, <YBegN>, <XEndN>, <YEndN>,
127
Координаты точек задаваемых отрезков лежат в диапазоне от -126 до 126. Признаком окончания последовательности отрезков служит число 127 вместо X-координаты очередного отрезка
Если <DescrCode>
равен равен 2, то далее следует ломаная
Если <DescrCode>
равен равен 3, то далее следует контур
<X1>, <Y1>,
…
<XN>, <YN>,
127
Координаты точек задаваемого контура лежат в диапазоне от -126 до 126. Признаком окончания последовательности точек служит число 127 вместо X-координаты очередной точки. В случае контура и залитого контура последняя точка замыкается с первой.
Если <DescrCode>
равен равен 5, то далее следует вывод пера
<X>,<Y>
Координаты точки лежат в диапазоне от -126 до 126.
Пример:
// Создать макро-файл и затем его выполнить x=19; Draftinfo Arrow "СтрелкаX" 20 0 0 1 3 20 20 -20 -20 20 -20 -20 20 127 1 m1: if (x==0) { goto m2; } else { let x=x-1 x+1 -x x+1 goto m1 } m2: 127 0 done done;
Так же можно удалять или переименовывать типы стрелок. Для этого используется формат команды
DraftInfo Arrow Rename <OldName> <NewName>
для переименования типа стрелки и
DraftInfo Arrow Delete <Name>
для удаления типа стрелки