Работа с мебельными изделиями в сцене
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>.

