Специальная расстановка
gridlock[править | править код]
gridlock <Params>
Команда задает специальные правила расстановки мебельных элементов по сетке. Параметры <Params>
позволяют создавать сетку, создавать объект для перемещения по сетке, передвигать этот объект специальным образом по сетке и пр.
Возможные значения <Params>
:
Create [parameter] <Point1> <Point2> <Point3>
Команда создает сеть в плоской области, заданной прямоугольником, проходящим через точки <Point1>
, <Point2>
и <Point3>
. При использовании необязательного ключа parameter появляется диалоговое окно с параметрами будущей сети.
Параметры:
- Вал/Отверстие — задает тип сетки. Система "Вал" — задает матрицу с возможным расположением сетки с типом "Отверстие". Сетка типа Отверстие может быть размещена на сетке Вал при условии, что некоторое количество контактов перекрывается.
- Количество учитываемых контактов — минимальное количество контактов, которые должны пересекаться у сеток Вал с контактами сетки Отверстие для того, чтобы была возможна установка.
- Размерность сетки по X и Размерность сетки по Y — размеры сетки, выраженные в количестве элементов контакта.
- Шаг сетки по X и Шаг сетки по Y — расстояние (в мм) между соседними элементами контакта по осям X и Y соответственно.
- Размер элемента по X и Размер элемента по Y — размеры (в мм) элементов контакта по осям X и Y соответственно.
Пример — см. рисунок («Пример»).
Edit <Object>
Ключ редактирует сетку <Object>
посредством диалогового окна, приведенного выше.
Add <Array>
Ключ создает сетку по параметрам, заданным в массиве <Array>
. Массив должен быть предварительно объявлен и заполнен.
Значения элементов в массиве:
<Array>[1]
— тип сетки — Вал или Отверстие (0 — Отверстие, 1 — Вал);<Array>[2]
— размерность сетки по X;<Array>[3]
— размерность сетки по Y;<Array>[4]
— количество учитываемых контактов;<Array>[5]
— шаг сетки по X;<Array>[6]
— шаг сетки по Y;<Array>[7]
— размер элемента по X;<Array>[8]
— размер элемента по Y.
Move <Object>
Ключ позволяет перемещать объект <Object>
в соответствии с правилами специальной расстановки. А именно, объект должен содержать внутри себя сетку с типом "Отверстие" и ключ позволит придать этому объекту только такое положение, при котором соблюдается условие на количество учитываемых контактов.
GridLockPrm[править | править код]
LOGICAL GridLockPrm(OBJECT <Object>, LOGICAL <Mode>, {String <ArrayName>| ARRAY <ArrayName>})
Функция читает (<Mode>
=0) или записывает (<Mode>
=1) параметры специальных правил расстановки (gridlock
) в объект <Object>
. При чтении (<Mode>
=0) на выходе функция создает массив с именем <ArrayName>
и заполняет его данными, представленными ниже. При записи (<Mode>
=1) функция записывает в объект <Object>
данные из массива <ArrayName>
.
Содержимое массива <ArrayName>
:
<ArrayName>[1]
: 0 — отверстие, 1 — вал
<ArrayName>[2]
— Размерность сетки по Х
<ArrayName>[3]
— Размерность сетки по Y
<ArrayName>[4]
— Шаг сетки по Х
<ArrayName>[5]
— Шаг сетки по Y
<ArrayName>[6]
— Размер элемента по Х
<ArrayName>[7]
— Размер элемента по Y
Функция возвращает количество прочитанных/записанных параметров (зависит от размерности массива) или 0 в случае ошибки
GetObjByCSG[править | править код]
INTEGER GetObjByCSG(OBJECT <Parent>, INTEGER <TypeCSG>, STRING <ArrayName>)
Функция возвращает список объектов с заданным CSG <TypeCSG>
в составе заданного объекта <Parent>
.
На входe
<Parent>
— ссылка на объект, в составе которого будем искать
<TypeCSG>
— тип CSG (73 — GridLock)
<ArrayName>
— имя создаваемого массива со списком объектов
Функция создает массив с именем <ArrayName>
и возвращает количество объектов в списке. Если количество объектов равно 0, то массив <ArrayName>
не создается