Создание пользовательских типов линий, штриховок, стрелок

Материал из K3-Macro
Макро | Размеры | Линейные размеры | Угловые размеры | Радиус | Диаметр | Полочка-выноска | Редактирование размеров | Установочные команды | Функции работы с размером | Функции работы с полочкой-выноской | Создание пользовательских типов

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> для удаления типа стрелки


Макро | Размеры | Линейные размеры | Угловые размеры | Радиус | Диаметр | Полочка-выноска | Редактирование размеров | Установочные команды | Функции работы с размером | Функции работы с полочкой-выноской | Создание пользовательских типов