Breakdown Composites Create Elements ru - kuvbur/AddOn_SomeStuff GitHub Wiki
Функция 'Создать элементы'
Создает строки спецификации для составных GDL-объектов, обходя ограничение "один объект = одна строка" за счет генерации дополнительных элементов.
Какие элементы обрабатываются?
Плагин анализирует элементы в следующем порядке приоритета:
- Выбранные элементы
Обрабатываются только выделенные объекты (в отчете: Create spec from selection)
- Свойства элемента по умолчанию
Без выделения - проверяется активный инструмент Объект. При наличии правила обрабатываются все видимые элементы с этим свойством (в отчете: Create spec from default element)
- Все видимые элементы
Без выделения и правил у элемента по умолчанию - обрабатываются все правила всех видимых элементов (в отчете: Create spec from all visible element)
Создание правила спецификации
- Базовый элемент
Используется объект из активного инструмента Объект:
- v1.74+: При наличии
ИМЯ_ИЗБРАННОГО в правиле используется Избранный элемент
- Добавьте свойство
Создайте пользовательское свойство типа Критерий соответствия
- Формат описания:
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
- В именах параметров запрещены
, и ;
- Поддерживается чтение параметров массивов
Принцип работы
- Сбор элементов (по приоритетам выше)
- Фильтрация по
F=1
- Группировка по уникальным комбинациям
U
- Для каждой группы:
- Чтение значений
P
- Суммирование значений
Q
- Создание новых элементов:
- Запись значений
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% |
Единица измерения |