Специальная расстановка
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> не создается