Перенумерация объектов
INT Renumerate([{LOGICAL <OnlyDelete> | STRING <AttrName>[, INTEGER <Criteria1>, INTEGER <Criteria2>, INTEGER <Criteria3>[, INTEGER <BegNum>[, INTEGER <Type>]]]}]
Функция вызывает нумератор — присваивает мебельным объектам значения следующих атрибутов:
1. UnitPos - уникальный номер объекта;
2. DetailPos - уникальный номер объекта в пределах родителя;
3. ParentPos - Номер (UnitPos) непосредственного родителя;
4. TopParentPos - номер (UnitPos) верхнего родителя;
5. LevelPos - порядковый номер уровня вложенности мебельных объектов.
Если параметр <OnlyDelete>
равен единице, то функция удаляет вышеописанные атрибуты у всех мебельных объектов.
Если задан параметр <AttrName>
, то функция возвращает максимальное значение этого параметра среди мебельных элементов сцены.
Если заданы параметры <AttrName>
и <Criteria>
, то функция присваивает мебельным объектам атрибут с именем <AttrName>
. Значения этого атрибута будут одинаковы для одинаковых (по критерию <Criteria>
) мебельных объектов, и будут различаться для разных мебельных объектов. Параметр <Criteria>
представляет собой битовую маску из указанных ниже значений.
Если значение <Criteria>
отрицательное, то функция возвращает максимальное значение атрибута у элемента с типом <Type>
. Параметр <BegNum>
при этом игнорируется.
Значение <Criteria>
складывается из <Criteria1>+<Criteria2>*4294967295+<Criteria3>*18446744065119617025
. То есть битовая маска состоит из <Criteria3><Criteria2><Criteria1>
.
Необязательный параметр <BegNum>
задает номер, начиная с которого будет производиться нумерация. Если он не задан, нумерация производится с единицы.
Необязательный параметр <Type>
определяет тип элементов, для которых нужно производить нумерацию. Если он не задан, нумерация производится для всех элементов. При этом, если мебельный элемент уже имеет атрибут <AttrName>
, то этот элемент не обрабатывается.
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция возвращает максимальное присвоенное значение атрибута <AttrName>
или, если в функцию передавался один или ноль параметров, 1 — в случае успешного завершения и 0 — в случае ошибки.
Критерии сравнения пока действуют только на панели, профили и комплектующие, группы крепежа и детали крепежа. |
|
|
---|---|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
Пример:
=renumerate(); // Вызываем нумератор =renumerate("CommonPos",268435455,268435455,268435455); // Сравнение по всем критериям