Работа с мебельными изделиями в сцене

Материал из K3-Macro
(перенаправлено с «Присвоение номера позиции»)
Макро | Мебельные команды и функции | Работа с проектом | Длинномеры | Комната | Мебельная панель | Профиль | Каркас | Виды и фильтры | Расчёт стоимости | Мебельные объекты | Работа с изделиями в сцене | Работа с мебельными состояниями | Запрос данных из Номенклатуры | Получение информации о положении вспомогательных файлов | Создание отчётов FastReport | Работа с чертежами | Пользовательские подстановки | Параметризация кривых | Приписывание мебельных позиций | Состояние мебельных пунктов меню и панелей инструментов | Определение мебельных габаритных координат | Заполнение массива параметрами отверстий | Поиск прототипа | Информация о линии свободного крепежа | Хэш-код объекта | Выгрузка информации в мебельную базу

smart exactly
Зазоры при расстановке(smart aroundgap)

smart <Keys> <Position>

Команда smart осуществляет работу с мебельными изделиями в сцене. Это — основная команда расстановщика объектов. Возможные значение ключей <Keys> представлены ниже.

При указании положения добавляемого изделия могут использоваться следующие способы задания положения <Position>:

  • smart — указание положения мебельного изделия с учетом уже расставленных изделий. Изделие будет "чувствовать" стены помещения и стоящие объекты.
  • free — указание положения мебельного изделия без учета уже расставленных изделий.
  • cont — (только в режиме smart) при указании положения осуществляется контроль того, чтобы в своем новом положении изделие находилось внутри помещения
  • nocont — (только в режиме smart) при указании положения не осуществляется контроль того, чтобы в своем новом положении изделие находилось внутри помещения
  • fixlev — (только в режиме smart) при расстановке настенных изделий уровень установки должен быть предварительно определен.
  • nofixlev — (только в режиме smart) при расстановке настенных изделий уровень установки не должен быть предварительно определен.
  • island — (только в режиме smart) при расстановки элементов на полу, они "чувствуют" задние стенки и образуют "островные участки"
  • exactly — (только в режиме smart) точка установки изделия определяется путем ввода с клавиатуры расстояний от изделия до соседних объектов. Ввод осуществляется в диалоговом окне.
  • rotate <Angle> — (только в режиме smart) задание угла поворота <Angle> относительно оси OZ, проходящей через центр габаритов изделия.
  • mvto <Object> — (только в режиме smart) задание положения в плоскости XOY относительно объекта <Object>.
  • mvup <Object> — (только в режиме smart) задание положения в плоскости XOZ и YOZ относительно объекта <Object>.
  • aroundgap <GapNum> <GapValue> — (только в режиме smart) задание зазоров при расстановке мебельных изделий. Если параметры <GapNum> <GapValue> опущены, то ввод зазоров осуществляется в диалоговом окне.

иначе:

  • <GapNum> = 1 — зазор слева;
  • <GapNum> = 2 — зазор справа;
  • <GapNum> = 3 — зазор сзади;
  • <GapNum> = 4 — зазор спереди;
  • <GapNum> = 5 — зазор снизу;
  • <GapNum> = 6 — зазор сверху.

Постобработка[править | править код]

При добавлении и замене изделий существует возможность автоматического запуска макропрограммы постобработки, которая может произвести с объектом специфичекие действия. Имя макропрограммы постобработки — APostProc.mac. Находиться макропрограмма должна в папке, где находится mebel.exe (по умолчанию, папка BIN).

Макропрограмма постообработки принимает на вход один параметр Mode который

  • равен 0 при добавлении изделия
  • равен 1 при замене изделия

Для доступа к заменяемому изделию используется функцию RepObj(). Для доступа к добавленному и заменяющему изделию используестся ключ доступа к последнему созданному объекту last 1

Пример APostProc.mac

putmsg("Запуск макроса постобработки...",1);
getpar Mode;  // Режим (добавление/замена)
if (Mode==0) // добавили изделие (last 1 — добавляемый объект)
{ 
  putmsg("Добавляем изделие");
}
 else  // заменили изделие (RepObj() — заменяемый объект; last 1 — заменяющий объект)
{
  putmsg("Заменяем изделие");
}

Добавление изделия[править | править код]

Добавление изделия в сцену

smart add <File>

Команда добавляет в сцену мебельное изделие пр помощи диалогового окна.

Поскольку данная команда использует диалоговое окно, применять эту команду в макропрограммах не рекомендуется.

Перемещение и копирование изделий[править | править код]

smart {move | copy} <Object> <Position>

Команда перемещает (move) или копирует (copy) изделие <Object> в позицию <Position>.

Замена изделия[править | править код]

smart replace <Object1> <Object2>

Команда заменяет изделие <Object1> на изделие <Object>. Выбор изделия <Object2> осуществляется при помощи диалогового окна. (см. выше «Добавление изделия»).

Поскольку данная команда использует диалоговое окно, применять эту команду в макропрограммах не рекомендуется.

Редактирование изделия[править | править код]

Редактирование изделия

smart edit [list] <Object> <Params>

Команда редактирует изделие <Object> при помощи диалогового окна <Object> или при помощи списка параметров со значениями <Params> (ключ list).

Список параметров <Params> задается последовательным перечислением пар, состоящих из имени параметра и значения параметра.

Удаление изделия[править | править код]

smart delete <Object>

Команда удаляет изделие <Object>.

Присвоение номера позиции[править | править код]

smart putpos <Object>

Команда присваивает позицию изделию <Object>. Вместе с присвоением позиции у изделия гасятся линии контакта и прочие вспомогательные элементы.

Сдвиг мебельных объектов[править | править код]

Чтобы сдвинуть объект на вектор, есть команда, отдельная от команды smart.

lcmove move <Objects> <Vector>

Команда lcmove сдвигает мебельные объекты на величину вектора <Objects>.


lcmove center <Objects1> <Objects2> <Vector>

Команда центрирует объекты <Objects2> по объектам <Objects1> в направлении вектора <Vector>.


Макро | Мебельные команды и функции | Работа с проектом | Длинномеры | Комната | Мебельная панель | Профиль | Каркас | Виды и фильтры | Расчёт стоимости | Мебельные объекты | Работа с изделиями в сцене | Работа с мебельными состояниями | Запрос данных из Номенклатуры | Получение информации о положении вспомогательных файлов | Создание отчётов FastReport | Работа с чертежами | Пользовательские подстановки | Параметризация кривых | Приписывание мебельных позиций | Состояние мебельных пунктов меню и панелей инструментов | Определение мебельных габаритных координат | Заполнение массива параметрами отверстий | Поиск прототипа | Информация о линии свободного крепежа | Хэш-код объекта | Выгрузка информации в мебельную базу