Breakdown Composites Create Elements ru - kuvbur/AddOn_SomeStuff GitHub Wiki

Функция 'Создать элементы'

Создает строки спецификации для составных GDL-объектов, обходя ограничение "один объект = одна строка" за счет генерации дополнительных элементов.

Какие элементы обрабатываются?

Плагин анализирует элементы в следующем порядке приоритета:

  1. Выбранные элементы
    Обрабатываются только выделенные объекты (в отчете: Create spec from selection)
  2. Свойства элемента по умолчанию
    Без выделения - проверяется активный инструмент Объект. При наличии правила обрабатываются все видимые элементы с этим свойством (в отчете: Create spec from default element)
  3. Все видимые элементы
    Без выделения и правил у элемента по умолчанию - обрабатываются все правила всех видимых элементов (в отчете: Create spec from all visible element)

Создание правила спецификации

  1. Базовый элемент
    Используется объект из активного инструмента Объект:
    • v1.74+: При наличии ИМЯ_ИЗБРАННОГО в правиле используется Избранный элемент
  2. Добавьте свойство
    Создайте пользовательское свойство типа Критерий соответствия
  3. Формат описания:
    Spec_rule {ИМЯ_ИЗБРАННОГО;g(U1,U2,U3; P1,P2,P3; F1; Q1,Q2) g(...) s(Pn1,Pn2,Pn3; Qn1,Qn2)}
    Где:
    • g(...) Группа исходных данных:
      • U1,U2,U3: Параметры группировки (уникальные комбинации) v1.78+: Если поставить прочерк - то в качестве уникальных будут использованы параметры для передачи
      • P1,P2,P3: Параметры для передачи в новый элемент
      • F1: Флаг активности (1/0, по умолчанию 1)
      • Q1,Q2: Параметры количества для суммирования (по умолчанию 1)
    • s(...) Структура нового элемента:
      • Pn1,Pn2,Pn3: Параметры приема данных
      • Qn1,Qn2: Параметры для записи количеств

Важно:

  • Количество P должно соответствовать количеству Pn
  • В именах параметров запрещены , и ;
  • Поддерживается чтение параметров массивов

Принцип работы

  1. Сбор элементов (по приоритетам выше)
  2. Фильтрация по F=1
  3. Группировка по уникальным комбинациям U
  4. Для каждой группы:
    • Чтение значений P
    • Суммирование значений Q
  5. Создание новых элементов:
    • Запись значений P в параметры Pn
    • Запись сумм Q в параметры Qn

Дополнительные свойства

  • Запись GUID исходных элементов
    Добавьте свойство: Sync_GUID {Property:ИМЯ_СВОЙСТВА-ПРАВИЛА}
    Необходимо для подсветки исходных (родительских) элементов командой "Показать связанные элементы"
  • Запись имени правила
    Добавьте свойство: Spec_rule_name
    Позволяет фильтровать созданные элементы в Интерактивном Каталоге

Вывод количества компонент системных элементов (стена, колонна и т.п.) 1.77+

  gm(%nosyncname%%штриховка% - %th%мм; %штриховка% - %th%мм, %unit% ; %qty%; %qty%)
Где:
- `gm(...)` **Группа исходных данных для материала**:
    - `%nosyncname%%штриховка% - %th%мм`: Параметры группировки (уникальные комбинации)
    - `%штриховка% - %th%мм`, `%unit%`: Параметры для передачи в новый элемент
    - `%qty%`: Флаг активности
    - `%qty%`: Параметры количества для суммирования

Вторая версия правила 1.77+

Начинать правило с Spec_rule_v2, в остальном синтаксис прежний. Особенности:

  • Автоматически обновляет уже размещённые элементы с выводом в отчёт изменившихся величин В ходе работы находит размещённые ранее элементы (поиск идёт по Имени правила, на ВСЕХ слоях и этажах). Удаляет устаревшие элементы, меняет и подсвечивает цветом изменившиеся элементы, создаёт новые. Информация об изменениях выводится в отчёт. ВАЖНО! Поиск созданных элементов происходит либо в пределах выборки (если специфицируются выбранные элементы) либо в пределах всех элементов.

Третья версия правила 1.77+

Начинать правило с Spec_rule_v3, в остальном синтаксис прежний. Особенности:

  • Если у элемента не найдены параметры - не выводит ошибки, а игнорирует данный элемент.
  • Автоматически обновляет уже размещённые элементы с выводом в отчёт изменившихся величин

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

Ошибка Причина Решение
Необходимые свойства отсутствуют в элементе по умолчанию или Избранном элементе Правила обработаны успешно, но при создании элементов у целевого объекта отсутствуют требуемые свойства. Чаще всего это происходит от неправильной или отсутствующей классификации избранного или элемента по умолчанию 1. Проверьте Классификацию в элементе по умолчанию2. Убедитесь в наличии свойств в настройках3. Для Избранного включите "Передавать свойства и классификации"
Правило спецификации найдено, но для элементов на плане свойство-правило отключено (не Истина) Свойство-правило имеет значение Ложь или неактивно у исходных элементов Проверьте значение свойства-правила у элементов на плане
Не удалось найти параметры/свойства, указанные в правиле Параметры U, P, Q или F из правила отсутствуют у исходных элементов. Возможно, часть элементов классифицирована не правильно. Например, у части элементов доступно и включено правило спецификации, которое к ним не применимо. 1. Проверьте классификацию элементов2. Сверьте имена параметров в правиле и свойствах
Правила спецификации не найдены У элемента по умолчанию отсутствуют свойства с правилами Добавьте свойство типа Критерий соответствия с правилом в настройки элемента по умолчанию

Примеры строк-правил

Правило Описание
Spec_rule {"АР_Спец_Перемычки"; g(perem_naen[4],Property:АР_Перемычки/Собственный этаж;param_name_out[4], perem_obozn[4], perem_naen[4], perem_ves[4],Property:АР_Перемычки/Собственный этаж;perem_nagr[4];perem_nagr[4]) s(pos,Property:АР_Перемычки/Обозначение,Property:АР_Перемычки/Наименование,Property:АР_Перемычки/Масса ед,Property:АР_Перемычки/Собственный этаж;Property:АР_Перемычки/Количество (на этаж))} Спецификация перемычек с разбивкой по этажам. Разбивка происходит по наименованию perem_naen[4] и значению свойства 'Property:АР_Перемычки/Собственный этаж'
Spec_rule_v2 {""; gm(%nosyncname%%штриховка% - %th%мм; %штриховка% - %th%мм, %unit% ; %qty%; %qty%, %qty%) s(Property:Спецификация материалов/Наименование, Property:Спецификация материалов/Ед. изм.; Property:Спецификация материалов/Количество, Property:Спецификация материалов/Формула)} Спецификация материалов

Спецификация объектов kuvbur 1.78+

Сборки

Имя Описание
%subpos.pos% Позиция
%subpos.obozn% Обозначение
%subpos.naen% Наименование
%subpos.qty% Количество
%subpos.ves% Масса ед.
%subpos.units% Ед. измерения

Арматура

Имя Описание
%arm.pos% Позиция
%arm.klass% Класс
%arm.diam% Диаметр (без знака ф)
%arm.qty% Количество (если указан вывод в п.м. - выводится общая длина)
%arm.dlin% Длина
%arm.ves_t% Вес погонный
%arm.ves% Вес (если указан вывод в п.м. - выводится погонный вес)
%arm.unit% Единица измерения (шт или м), для гнутых добавляется *

Прокат

Имя Описание
%prokat.pos% Позиция
%prokat.tip_konstr% Тип конструкции
%prokat.obozn_mater% ГОСТ на сталь
%prokat.mater% Сталь
%prokat.obozn% ГОСТ на профиль
%prokat.tip_profile% Профиль
%prokat.qty% Количество (если в профиле указан вывод в п.м. - выводится общая длина)
%prokat.dlin% Длина
%prokat.ves_t% Вес погонный
%prokat.ves% Вес (если в профиле указан вывод в п.м. - выводится погонный вес)
%prokat.units% Единица измерения (шт или м)

Материалы (окраска профилей и т.п.), изделия

Имя Описание
%mat.pos% Позиция
%mat.tip_konstr% Тип конструкции (для покрытий КМ)
%mat.obozn% Обозначение
%mat.naen% Наименование
%mat.qty% Количество
%mat.ves% Вес
%mat.units% Единица измерения