Skip to content

Копирование параметров: Использование спецификаций#48

Merged
dosymep merged 16 commits into
dosymep:mainfrom
Redomine:dev
May 25, 2026
Merged

Копирование параметров: Использование спецификаций#48
dosymep merged 16 commits into
dosymep:mainfrom
Redomine:dev

Conversation

@Redomine
Copy link
Copy Markdown
Collaborator

Изменен механизм настройки параметров проекта из шаблона в активный документ.

Теперь для параметров используется дополнительный перенос через временные спецификации:

  1. в шаблоне создается временная спецификация по одной из категорий, назначенных параметру
  2. в спецификацию добавляется поле нужного параметра
  3. спецификация копируется в целевой документ и сразу удаляется
  4. после появления binding запускается текущая синхронизация категорий параметра

Также подавлен системный диалог Revit о совпадении имен типов при копировании элементов(возникает при переносе спецификаций)

…я таблицы для копирования биндингов, затем сверху копируются сами параметры
Copy link
Copy Markdown
Owner

@dosymep dosymep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

решили алгоритм немного по другому написать :)

Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Redomine added 3 commits May 6, 2026 10:08
1) Параметры, отсутствующие в целевом документе, группируются по первой категории биндинга
2) для каждой категории создается одна временная спецификация со всеми параметрами группы
3) удалены промежуточные кеши спецификаций по категориям
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
…eterElement это param и производные

2) Вместо словаря использую Linq.Group
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Comment thread src/dosymep.Bim4Everyone/Templates/ProjectParameters.cs Outdated
Redomine added 6 commits May 8, 2026 10:52
…брос ошибки по аналогии с ошибкой поиска параметра
…Category.Id убирая зависимость от Equals/GetHashCode в GroupBy

2) Скорректировано создание спецификаций. Теперь ошибка вылетит после цикла, если создание спецификаций не удалось. Сейчас в цикле гарантировано будут пропущенные итерации с системными параметрами для которых нельзя создать спеку
…создаются таблицы для копирования биндингов, затем сверху копируются сами параметры"

This reverts commit 8ea8f86
… те что не существуют в проекте обрабатываются старым алгоритмом, те что существуют, но не имеют у себя биндинга - через копирование спецификации. Все параметры из второй категории наполняются в мультикатегорийную спецификацию, которая копируется и удаляется. Сохранена опция дублирования для копирования спецификаций из шаблона.
Copy link
Copy Markdown
Owner

@dosymep dosymep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ы

Redomine added 3 commits May 25, 2026 10:41
…у добавляется в список к стандартной обработке, остальное уже проверяется на наличие биндинга
@dosymep dosymep merged commit 4724aa0 into dosymep:main May 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants