Создание длинномера
longcreate
Команда longcreate имеет несколько сценариев работы, описанных ниже.
longcreate top_profile|bottom_profile|balustrade
Команда выводит диалоговое окно для задания параметров длинномера — верхнего профиля (top_profile), нижнего профиля (bottom_profile) и балюстрады (balustrade).
Поскольку данная команда использует диалоговое окно, применять эту команду в макропрограммах не рекомендуется.
longcreate bend <x1>,<y1>,<z1> <x2>,<y2>,<z2> <x3>,<y3>,<z3>
Команда создает гнутый профильный длинномер
<x1>,<y1>,<z1> — конечная точка длинномера
<x2>,<y2>,<z2> — начальная точка длинномера
<x3>,<y3>,<z3> — точка, задающая направление:
если на этом направлении лежит точка <x1>,<y1>,<z1>, то гибка задается по хорде и радиусу
если на этом направлении не лежит точка <x1>,<y1>,<z1>, то направление оси X, а гибка задается по правилу 2 отрезка и дуга.
longcreate <x1>,<y1>,<z1> <x2>,<y2>,<z2>
Команда создает длинномер с заданными установками (см. предыдущие разделы) от точки с координатами <x1>,<y1>,<z1> до точки с координатами <x2>,<y2>,<z2>.
long_length
long_length <Type> <Params>
Команда long_length создаёт длинномер типа <Type> по параметрам <Params>. Возможные типы длинномеров представлены ниже в таблице.
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Параметры, указанные в таблице определяют способ создания длинномера.
auto — автоматическая расстановка длинномера на все объекты. После ключа auto обязательно должно идти ключевое слово execute (выполнить).
cover <Object> — накрыть длинномером указанный объект <Object>.
byobjects <Objects> — накрыть длинномером указанные объекты <Objects>.
free <Point1> <Point2> — построить длинномер от точки <Point1> до точки <Point2>.
bend <Point1> <Point2> — построить гнутый длинномер от точки <Point1> до точки <Point2>.
parameter — задать параметры длинномера в диалоговом окне.
aroundgap [cutback] <Gap> — задать зазор сзади, равный <Gap>. Ключ [cutback] обнуляет ранее установленный зазор.
figured — создать фигурный длинномер. Фигурный длинномер — аналог панели произвольной формы по замкнутому контуру.
bypath <Object> — создать длинномер (фигурный) по произвольной полилинии <Object>. Если у полилинии заданы секции раскрашивателя со значениями 64, то на эту секцию длинномера будет назначена лицевая кномка, а если 128 — черновая кромка.
persample <Object> — создать длинномер по образцу <Object>.
bottom — установка длинномера «снизу» — под изделием. Как правило, для карнизов.
top — установка длинномера «сверху» — над изделием. Как правило, для карнизов.
long_length <Operation> <Params>
Команда выполняет операцию <Operation> с параметрами <Params> над длинномерами. Возможные типы операций представлены ниже.
incut <Long> <Path> — врезка контура <Path> в длинномер <Long>.
parincut <Long> — типовая врезка в длинномер. Параметры типовой врезки задаются в диалоговом окне (см. рисунок). После указания параметров врезки необходимо задать координаты точки врезки.
editincut <Long> <Incut> — редактирование типовой врезки <Incut> в длинномере <Long>. Редактирование происходит посредством диалогового окна.
moveincut <Long> <Incut> <Vector> — сдвиг врезки <Incut> в длинномере <Long> на величину вектора <Vector>.
delincut [<Long>] <Incut> — удаление врезки <Incut> из длинномера <Long>.
desktune <Long> — установить накладку на длинномер <Long>.
divide <Long> <Point> — поделить длинномер <Long> точкой <Point>.
accessory {show | hide } {<Long> | All} — показать (show) или скрыть (hide) аксессуары на длинномере <Long> или на всех длинномерах (All).
На некоторые длинномеры, например, на цоколи, можно устанавливать аксессуары — заглушки и пр. Ключ accessoryработает с ними.
long_length edit <Long> [Stop] <Params> done
Команда редактирует параметры <Params> длинномера <Long>. Возможные значения параметров <Params> представлены ниже.
parameter — редактирование параметров длинномера <Long> в диалоговом окне.
{ endright | endleft} [ abschange | relchange ] <Length> — изменение длины длинномера слева (endleft) или справа (endright) на абсолютную (abschange) или относительную (relchange) величину <Length>. В случае относительной величины длина длинномера становится на <Length> длиннее или короче. В случае абсолютной величины длина длинномера становится равной <Length>.
{ cutfront | cutback} [ abschange | relchange ] <Width> — изменение ширины длинномера спереди (cutfront) или сзади (cutback) на абсолютную (abschange) или относительную (relchange) величину <Width>. В случае относительной величины ширина длинномера становится на <Width> больше или меньше. В случае абсолютной величины ширина длинномера становится равной <Width>.
moveorto <Height> — сдвиг длинномера перпендикулярно плоскости длинномера (например, для столешницы — вверх или вниз) на величину <Height>.
moveback <Shift> — сдвиг длинномера в плоскости длинномера (например, для столешницы — вперед или назад) на величину <Shift>.
Если задан необязательный параметр [Stop], то команда открывает карточку с параметрами выбранного длинномера, по закрытию которой редактирование заканчивается
Задавать параметры будущего длинномера (тип, материал и кромки) можно при помощи функции SetPan6Par. Реализована такая возможность для столешницы, карниза и стеновой панели.
Пример:
defarr arr[10];
// считываем параметры с созданной столешницы
arr[1]=1
=setpan6par(30,arr)
// устанавливаем требуемый тип и материал
arr[1]=44 //GoodsID
arr[2]=2640 //MatID
=setpan6par(2,arr)
if 1==1 { // если кромки не изменять, то будут кромки по умолчанию
// удаляем кромки по-умолчанию
i=1
ll0:
arr[1]=i // Side
arr[2]=0 //MatID кромки
arr[3]=0
arr[4]=0 // битовая маска
=setpan6par(3,arr)
i=i+1
if i<=8 { goto ll0 }
// задаем кромки на все углы и стороны В и С
i=3
ll:
if i!=5 {
arr[1]=i // Side
arr[2]=3560 //MatID кромки
arr[3]=0
arr[4]=9 // битовая маска
=setpan6par(3,arr)
}
i=i+1
if i<=8 { goto ll }
}
long_length desktop auto
// можно не вызывать =setpan6par(999,arr), это делается в long_length desktop