Element Renumbering ru - kuvbur/AddOn_SomeStuff GitHub Wiki

Нумерация элементов

Файл с примером для АС25

Элементам с одинаковым значением свойства-критерия присваиваются одинаковые номера (позиции).

Для работы нумерации необходимо создать два свойства:

  • Свойство-флаг включения нумерации
  • Свойство для хранения позиции (номера)

Правила нумерации и флаги указываются в описаниях свойств элемента.

v1.7+ При нумерации учитываются позиции выделенных заблокированных (в том числе находящихся в модуле) элементов.

v1.74+ Если выделен только один элемент - будут обработаны все элементы с видимых слоёв, у которых доступны правила нумерации выбранного элемента.

Флаг включения нумерации в одном из форматов

Формат флага Описание Версия
Renum_flag{имя_свойства} Стандартная нумерация
Renum_flag{имя_свойства ; NULL} Автоматическое заполнение нулями с учётом групп (например: 1001)
Renum_flag{имя_свойства ; SPACE} Автоматическое заполнение пробелами с учётом групп (например: 1 1) v1.6
Renum_flag{имя_свойства ; ALLNULL} Автоматическое заполнение нулями без учёта групп
Renum_flag{имя_свойства ; ALLSPACE} Автоматическое заполнение пробелами без учёта групп
Renum_flag{имя_свойства ; n_NULL} Жёсткое заполнение нулями (до n символов) с учётом групп v1.76
Renum_flag{имя_свойства ; n_SPACE} Жёсткое заполнение пробелами (до n символов) с учётом групп v1.76
Renum_flag{имя_свойства ; n_ALLNULL} Жёсткое заполнение нулями (до n символов) без учёта групп v1.76
Renum_flag{имя_свойства ; n_ALLSPACE} Жёсткое заполнение пробелами (до n символов) без учёта групп v1.76

Особенности работы:

  1. Автоподбор длины:

    • Для NULL/SPACE/ALLNULL/ALLSPACE длина заполнения определяется по максимальной позиции в группе
    • Пример: позиции [5, 12, 100] → количество символов в максимальной позиции 3 длина заполнения → 005, 012, 100
  2. Жёсткое задание длины (n_* команды):

    • n - минимальная длина результирующей строки
    • Если максимальная позиция длиннее n - используется фактическая длина
    • Пример: 4_NULL для позиций [1, 25, 100]0001, 0025, 0100

Имя свойства с правилом задаётся в формате Property:имя группы/имя свойства Тип данных свойства-флага: Критерий соответствия (ИСТИНА/ЛОЖЬ), v1.6 либо набор параметров со значениями Добавить, Перенумеровать, Исключить

Пример 1 Пример 2

Свойство для позиции в одном из форматов

Формат Описание Версия
Renum{имя_свойства_критерия} Стандартная нумерация по одному критерию
Renum{имя_свойства_критерия; имя_свойства_разбивки} Нумерация с группировкой по дополнительному свойству
Renum{библ_параметр_критерия} Использование параметра библиотечного элемента вместо свойства-критерия v1.6
Renum{библ_параметр_критерия; библ_параметр_разбивки} Использование параметров библиотечных элементов для обоих критериев v1.6

Пояснения:

  1. Свойство-критерий - определяет группу элементов для совместной нумерации
  2. Свойство-разбивки - отделяет одну группу нумерации от другой. Для каждой группы нумерация самостоятельная.
  3. Библиотечные параметры должны быть доступны через API Archicad

Пример 3 Пример 4

Для записи получившейся позиции в ID нужно добавить в описание свойства с позицией Sync_to{ID}

Пример 5

Возможные ошибки

Сообщение об ошибке Причина Решение
Не найдены свойства, заданные в правилах нумерации
Часть элементов не была пронумерована из-за ошибок в свойствах
Изменение нумерации не требуется
Ошибка в правиле нумерации