Создание длинномера

Материал из K3-Macro
(перенаправлено с «Long length»)
Макро | Мебельные команды и функции | Длинномеры | Текущий тип | Текущий длинномер | Материал | Открыть диалог выбора типа и материала длинномера одного вида | Подрезка длинномеров | Длина | Прогибы по сторонам длинномера | Параметры гнутого длинномера | Кромка на длинномерах | Путь к файлу и габариты профиля для текущего типа длинномера | Имя текущего длинномера | Смещение конца линии установки длинномера при подрезке заданным углом | Создание длинномера | Как обрезать длинномер, чтобы он остался длинномером | Соединение длинномеров | Чертежи | Работа с панельными длинномерами | Работа с профильными длинномерами | Функции интерфейса длинномеров

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>. Возможные типы длинномеров представлены ниже в таблице.

Ключ
Тип длинномера
Параметры
1
cornice
Карниз
auto, cover, byobjects, free, parameter, aroundgap
2
top_profile
Профиль карниза
free, bend, byobjects, parameter
3
bottom_profile
Нижний профиль
free, bend, byobjects, parameter
4
wall_panel
Стеновая панель
free, byobjects, parameter
5
repellent
Водоотбойник
free, byobjects, parameter
6
desktop
Столешница
auto, cover, byobjects, free, parameter, aroundgap
7
balustrade
Балюстрада
free, bend, byobjects, parameter
8
socle
Цоколь
auto, free, bend, byobjects, parameter

Параметры, указанные в таблице определяют способ создания длинномера.

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

Макро | Мебельные команды и функции | Длинномеры | Текущий тип | Текущий длинномер | Материал | Открыть диалог выбора типа и материала длинномера одного вида | Подрезка длинномеров | Длина | Прогибы по сторонам длинномера | Параметры гнутого длинномера | Кромка на длинномерах | Путь к файлу и габариты профиля для текущего типа длинномера | Имя текущего длинномера | Смещение конца линии установки длинномера при подрезке заданным углом | Создание длинномера | Как обрезать длинномер, чтобы он остался длинномером | Соединение длинномеров | Чертежи | Работа с панельными длинномерами | Работа с профильными длинномерами | Функции интерфейса длинномеров