Установить свойства мебельного профиля или профильного длинномера

Материал из K3-Macro
Версия от 14:34, 3 июня 2025; Aleksandr Dragunkin (обсуждение | вклад) (Добавить картинку из примера)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Макро | Мебельные команды и функции | Профили | Выбор текущего | Создание | По двум точкам | Редактирование | Установить свойства мебельного профиля или профильного длинномера | Прочитать свойства мебельного профиля или профильного длинномера

variant setprof6par (int <Command>, variant array <Array>)

Функция SetProf6Par устанавливает параметры будущего профиля в соответствии с параметрами <Command> и <Array>. Параметр <Command> определяет код операции, производимой данной функцией (установка сдвигов, подрезов и пр.), а <Array> определяет параметры данной операции (величина сдвига, подреза и пр.)

Команда возвращает код завершения операции, зависящий от конкретных значений параметров <Command> и <Array>. Коды завершения операций и параметры описаны ниже.

1. Инициализация профиля

Операция присваивает умолчания на длину и тип профиля и обнуляет данные о подрезах, сдвига и пр.

Код операции <Command>: 1

Массив входных данных <Array>: игнорируется. Массив можно не заполнять

Возвращаемое значение: 1 в случае удачного завершения операции, 0 — в случае ошибки.

2. Материал профиля или профильного длинномера

Операция определяет материал, из которого будет изготовлен профиль и цвет профиля.

Код операции <Command>: 2

Массив входных данных <Array>:

Профиль:

  • <Array>[1] — Идентификатор (ID) материала профиля из номенклатурного справочника.
  • <Array>[2] — Идентификатор (ID) цвета профиля из номенклатурного справочника.

Профильный длинномер или балюстрада:

  • <Array>[1] — Идентификатор (ID) профильного длинномера из справочника сборочных единиц.
  • <Array>[2] — Идентификатор (ID) материала профиля из номенклатурного справочника.

Возвращаемое значение: Положительное значение в случае удачного завершения операции, 0 — в случае ошибки.

3. Подрезки профиля

Операция определяет подрезки профиля.

Код операции <Command>: 3

Массив входных данных <Array>:

  • <Array>[1] — Сторона подрезки профиля
  • 0 — начало профиля;
  • 1 — конец профиля;
  • <Array>[2] — Величина подрезки конца профиля.
  • <Array>[3] — Тип подрезки угла конца профиля:
  • 0 — подрезка угла отсутствует;
  • 1 — угол среза вокруг оси X;
  • 2 — угол среза вокруг оси Y;
  • <Array>[4] — Величина подрезки угла профиля.

Возвращаемое значение: Положительное значение в случае удачного завершения операции, 0 — в случае ошибки.

Warning.png

Внимание!

На конце профиля может быть только один срез: либо по ширине, либо по высоте. Создать два среза не получится.

4. Положение профиля

Операция определяет положение профиля в его локальной системе координат.

Код операции <Command>: 4

Массив входных данных <Array>:

  • <Array>[1] — Угол поворота профиля относительно оси Z его ЛСК.
  • <Array>[2] — Сдвиг профиля относительно оси X его ЛСК.
  • <Array>[3] — Сдвиг профиля относительно оси Y его ЛСК.
  • <Array>[4] — Симметрия профиля относительно оси X его ЛСК.
  • <Array>[5] — Симметрия профиля относительно оси Y его ЛСК.

Возвращаемое значение: Положительное значение в случае удачного завершения операции, 0 — в случае ошибки.

5. Задание формы профиля или профильного длинномера

Операция определяет форму профиля. или профильного длинномера

Код операции <Command>: 5

Массив входных данных <Array>:

Для профиля:

  • <Array>[1] — Тип геометрии профиля:
  • 0 — линейная форма;
  • 1 — гнутый по ходе профиль;
  • 2 — гнутый по двум отрезкам и дуге;
  • 3 — гнутый по радиусу.
  • <Array>[2]<Array>[6] — Параметры геометрии профиля в зависимости от типа. Для разных типов формы профиля используется разное количество параметров.

Для профильного длинномера:

  • <Array>[1] — Тип геометрии профиля.
  • 0 — линейная форма;
  • 2 — гнутый по двум отрезкам и дуге;
  • <Array>[2] — зарезервировано
  • <Array>[3] — зарезервировано
  • <Array>[4] — угол гиба (положительный или отрицательный)
  • <Array>[5] — радиус гиба (положительный)

Возвращаемое значение: Положительное значение в случае удачного завершения операции, 0 — в случае ошибки.

Типы форм профиля
Форма
Параметры
0
Setprof6par-5-0.png

<Array>[2] — Длина

1
Setprof6par-5-1.png

<Array>[2] — Длина

<Array>[3] — Прогиб

2
Setprof6par-5-2.png

<Array>[2] — Длина L1

<Array>[3] — Длина L2

<Array>[4] — Угол

<Array>[5] — Радиус

<Array>[6] — Симметрия

3
Setprof6par-5-3.png

<Array>[2] — Радиус

<Array>[3] — Начальный угол

<Array>[4] — Конечный угол

7. Отделка профиля

Операция устанавливает отделку мебельного профиля

Код операции <Command>: 7

Массив входных данных <Array>:

  • <Array>[1] — ID варианта отделки или 0.
  • <Array>[2] — ID материала отделки или 0.
  • <Array>[3] — Видимость отделки.
  • 0 — отделка невидима
  • 1 — отделка видима;
  • <Array>[4] — Номер секции раскрашивания.
  • 1 — прочее;
  • 2 — лицевые стороны;
  • 3 — дополнение 1;
  • 4 — дополнение 2;.
  • -1 — отделать все

Если <Array>[1]=0 и <Array>[2]=0 — удаляются все отделки.

Если <Array>[1]=0 и <Array>[2]>0 — Добавляется отделка с автоопределением вида отделки по ID материала. Предполагается, то ID материала есть хотя бы в одном варианте отделки.

Возвращаемое значение: Положительное значение — количество отделок с учетом добавленной, -1 — в случае ошибки.

30. Инициализация профильного длинномера

Операция присваивает умолчания на длину и тип профильного длинномера и обнуляет данные о подрезах, сдвига и пр.

Код операции <Command>: 30

Массив входных данных <Array>: информация о будущем длинномере.

  • <Array>[1] — Тип профильного длинномера
  • 4 — водоотбойник
  • 5 — профиль карниза
  • 6 — цоколь
  • 7 — нижний профиль
  • 8 — балюстрада

Возвращаемое значение: 1 в случае удачного завершения операции, 0 — в случае ошибки.

999. Завершение работы

Операция завершает работу с профилем.

Код операции <Command>: 999

Массив входных данных <Array>: игнорируется. Массив можно не заполнять

Возвращаемое значение: 1 в случае удачного завершения операции, 0 — в случае ошибки.

Profile cuts start end.png

Профиль на рисунке создан кодом из примера ниже.

K3.png

Пример на макроязыке к3:

// массив для параметров
defarr arr[4];

// инициализировать начало работы с профилем
_=setprof6par(1,arr);

// задать материал профиля ID из справочника номенклатуры
arr[1]=1559;
_=setprof6par(2,arr);

// Задать подрезку и углы по ширине или высоте в начале профиля

arr[1]=0;
arr[2]=0;
arr[3]=2;
arr[4]=45;
_=setprof6par(3,arr);

// Задать подрезку и углы по ширине или высоте в конце профиля
arr[1]=1;
arr[2]=0;
arr[3]=1;
arr[4]=-45;
_=setprof6par(3,arr);

arr[1]=0;
arr[2]=300;
arr[3]=0;
arr[4]=0;
_=setprof6par(5,arr);

// создать профиль
mbprofile create 0,0,0 

// завершить работу с профилем
_=setprof6par(999,arr);

Макро | Мебельные команды и функции | Профили | Выбор текущего | Создание | По двум точкам | Редактирование | Установить свойства мебельного профиля или профильного длинномера | Прочитать свойства мебельного профиля или профильного длинномера