Найти тему

ID элементов в Ревит и почему их нельзя игнорировать

Оглавление

Уникальные идентификаторы

В Ревит у каждого элемента модели имеется уникальный идентификатор (далее по тексту буду называть его ID). ID используется для поиска элементов. Во всех отчетах об ошибках/предупреждениях для элементов указывается их ID, поэтому знать про них и уметь ими пользоваться необходимо всем, кто работает в Ревит.

Сейчас многие могут подумать: я работаю без ошибок, предупреждения игнорирую, зачем мне информация про ID? Прошу набраться терпения. В данной статье мы рассмотрим примеры, показывающие, что с ID при работе в Ревит сталкиваются абсолютно все. Просто не все об этом знают.

Вся логика работы Ревит с элементами построена на ID. Когда мы создаем элемент в модели, Ревит присваивает ему ID и этот ID сопровождает элемент на протяжении всей его «жизни» в модели. Изменить его нельзя. Когда мы удаляем этот элемент, то ID «удаляется» вместе с ним.

ID – это константа для элемента в Ревит

Благодаря этой константе мы можем отслеживать перемещения элементов в модели, при ошибках восстанавливать потерянные данные, объяснять многие магические вещи, происходящие в Ревит.

Стандартные инструменты Ревит по работе с ID

Прежде, чем мы перейдем к практическим примерам, давайте рассмотрим стандартные инструменты по работе с ID в Ревит.

Узнать ID элемента или найти элемент по ID можно с помощью стандартных инструментов, расположенных на вкладке горизонтального меню «Управление» в группе «Сведения»

Инструменты по работе с ID элементов
Инструменты по работе с ID элементов

Код выбора - позволяет узнать ID выбранного элемента. Данная кнопка активна только если выбран элемент в модели.

Инструмент "Код выбора"
Инструмент "Код выбора"

Если выбрано несколько элементов, то при нажатии на кнопку «Код выбора» в окне «Коды выбранных элементов» отображается список ID

Инструмент "Код выбора" при работе с несколькими элементами
Инструмент "Код выбора" при работе с несколькими элементами

Данный инструмент работает не только с экземплярами, но и с типоразмерами. Можно выбрать необходимый типоразмер в диспетчере проекта и узнать его ID

ID типоразмера
ID типоразмера

Выбрать по коду - позволяет выбрать элементы по их ID. При нажатии на данную кнопку откроется окно «Выбор элементов по коду», где необходимо ввести ID и нажать ОК

Инструмент "Выбрать по коду"
Инструмент "Выбрать по коду"

В некоторых отчетах об ошибках/предупреждениях указываются ID типоразмеров. Чтобы выбрать все экземпляры типоразмера необходимо:

- выбрать типоразмер по указанному в отчете ID (выше по тексту я рассказала как это сделать) и убедиться, что выбран необходимый типоразмер - в панели «Свойства» будут отображены параметры выбранного типоразмера;

Свойства типоразмера
Свойства типоразмера

- после того как типоразмер выбран, кликнуть правой кнопкой мыши и в открывшемся контекстном меню выбрать: «Показать все экземпляры» - «Во всем проекте» / «На активном виде»

Выбор экземпляров типоразмера
Выбор экземпляров типоразмера
Выбор экземпляров типоразмера
Выбор экземпляров типоразмера

ID – помоги! Практические примеры по работе с ID элементами в Ревит

1. Первая ситуация, когда мы столкнулись с ID элементов в Ревит – это армирование конструкций.

Чаще всего при армировании вертикальных несущих конструкций продольное армирование размещается сразу в трех конструкциях: вертикальные конструкции этажа, который армируем, плита перекрытия сверху и вертикальные конструкции вышележащего этажа

Армирование вертикальных несущих конструкций
Армирование вертикальных несущих конструкций

При этом при одной и той же последовательности действий при армировании, назначается разная основа для арматуры. Почему так происходит?

Выяснили, что арматура берет за основу ту конструкцию, у которой меньший ID, т.е. ту конструкцию, которая была смоделирована раньше.

При таких ID конструкций основой для продольного армирования будет являться стена с ID = 3146450

ID элементов, в которых размещена арматура
ID элементов, в которых размещена арматура

Видимо у разработчиков Ревит логика была такая: моделируют конструкции снизу-вверх и соответственно у стен 1 этажа ID имеет меньшее значение, чем ID стен 2 этажа. Соответственно, при армировании стен 1 этажа, для продольного армирования будут являться основой стены 1 этажа – все верно.

Но это идеальная картина мира. На практике часто бывают случаи, когда сначала моделируется типовой этаж и потом он уже копируется вниз. И при таком варианте, армированию будет назначаться неверная основа.

Я стараюсь моделировать конструкции всегда снизу-вверх и если они меняются, то я корректирую уже смоделированные, а не удаляю и копирую сверху-вниз. Не всегда это удобно, поэтому если вы предпочтете вариант удалять и копировать, то не забывайте проверять основу для арматуры.

Легко и быстро проверить основу для арматуры можно с помощью плагина на панели RevitHelper «Арматура вне основы». Подробнее о работе плагина можно посмотреть тут:

https://www.youtube.com/watch?v=W52KE_tRkVo&t=145s

2. Вторая ситуация, когда мы столкнулись с ID элементов в Ревит – это образмеривание конструкций связанных файлов.

Вообще, я считаю, что надо стараться уходить от привязки аннотаций к элементам связанных файлов. Но бывают случаи, когда от этого не уйти.

На скриншоте ниже размер установлен к пилону, расположенному в связанном файле

Образмеривание конструкций связанных файлов
Образмеривание конструкций связанных файлов

Теперь в связанном файле удалим пилон и скопируем соседний пилон ровно на то место, где был расположен удаленный. Перейдем в проект, обновим связь. При обновлении связи появится следующее предупреждение

Окно с предупреждением
Окно с предупреждением

Нажимаем «Удалить размер(ы)». Переходим на наш вид и видим, что размер удален

Образмеривание конструкций связанных файлов
Образмеривание конструкций связанных файлов

Почему так происходит? Выяснили, что привязка аннотаций к элементам связанных файлов происходит по ID. При удалении пилона и копировании соседнего, изменился ID, соответственно – удалился размер.

Поэтому если вы привязываетесь аннотациями к связанному файлу, то предупредите об этом коллег, кто работает в связанном файле – важно, чтобы они следили за ID элементов и не удаляли конструкции, а корректировали их, сохраняя ID.

3. Третья ситуация, когда мы столкнулись с ID элементов в Ревит – это сравнение версий модели.

Часто встречаются ситуации, что мы выдали стадию П, приступили к рабочке и в процессе рабочки меняли конструкции. По итогу нам надо все изменения внести в стадию П. Как это сделать если мы не вели список корректировок?

В Navisworks есть инструмент для сравнение разных версий моделей. Вообще, это можно сделать и в Ревит. Кому интересна эта тема, то напишите мне в ТГ или в комментариях к данной статье. Если будет запрос, то я напишу отдельную статью на эту тему.

Сравнение элементов в разных версиях модели происходит по ID. Соответственно, если не придерживаться логике работы с ID, то сравнить разные версии моделей будет практически нереально. Поэтому опять же, стараемся корректировать уже имеющиеся конструкции и без острой необходимости не удалять их.

4. Четвертая ситуация, когда мы столкнулись с ID элементов в Ревит – это выдача заданий на отверстия с помощью групп.

Это самая интересная ситуация, поэтому уделим ей больше внимания.

Во многих компаниях процесс обмена заданиями между смежниками и АР/КР организован через группы. Инженеры в своих рабочих файлах расставляют боксы, далее объединяют их в группу и эту группу выгружают в отдельный файл-задание, который отправляют конструкторам.

Признавайтесь, кто так делает? На мой взгляд – это очень неудобный вариант, т.к. в 99% случаев приводит к невозможности автоматизировано определить, что и где поменялось. В 1% случаев отследить можно, но только если строго соблюдать правила (но кто соблюдает правила, если они созданы для того, чтобы их нарушать?).

Во-первых, важно как вы выгружаете группу

Тут есть два варианта:

Вариант 1. Выделить группу и нажать «Связь». При таком варианте в текущем проекте группа будет удалена из текущего проекта и будет создан отдельный файл с группой, который подгружается связью в текущий проект

Инструмент "Связь"
Инструмент "Связь"

Вариант 2. Выделить группу в диспетчере проекта, кликнуть правой кнопкой мыши и нажать «Сохранить группу». При таком варианте в текущем проекте группы удалена не будет, будет создан отдельный файл с группой и он не будет погружен связью в текущий проект

Инструмент "Сохранить группу"
Инструмент "Сохранить группу"

В обоих вариантах выгрузка группы в отдельный файл происходит одинаково: в новом (пустом) проекте сначала создаются уровни, к которым привязаны элементы, находящиеся в группе, а потом сами элементы. Соответственно, ID назначаются в порядке создания элементов – сначала всем уровням, потом элементам снизу-вверх по этажам.

Отличия этих двух вариантов при работе с изменениями. При первом варианте у нас в проекте не остается группы элементов, соответственно, чтобы внести изменения, нам сначала надо скопировать (внедрить) выгруженную группу обратно, а потом ее корректировать. При копировании (внедрении) группы элементам, находящимся в ней, будут назначены другие ID. Получается полная каша из ID.

Кто пользуется первым, пожалуйста, объясните зачем вы это делаете?!

Во-вторых, важно как вы корректируете группу

При рассмотрении корректировки групп мы будем исходить из того, что выгрузка группы происходить через «Сохранить группу». Файл, в который выгружаем группу будем называть «файл-задание».

Тут тоже есть два варианта:

Вариант 1. Корректировка группы в режиме редактирования.

Вариант 2. Разгруппировать группу и создать новую группу с таким же именем.

Чтобы разобраться в чем разница между этими двумя вариантами нужно понимать как назначаются ID элементам при выгрузке группы в отдельный файл после внесения корректировок. Давайте рассмотрим это на примере.

У нас есть группа – Задание ЭОМ для КР

Группа "Задание ЭОМ для КР"
Группа "Задание ЭОМ для КР"

На данный момент в этой группе расположены элементы только на 2 этаже.

Давайте выгрузим ее и в файле-задании посмотрим какие ID назначены нашим элементам

2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2489,2490,2492,2493,2495,2497,2499,2501,2503,2504,2506,2507,2509,2510,2512,2513,2515,2516,2518,2519,2521,2522,2524,2525,2527,2528,2530,2531,2533,2534,2536,2537,2539,2540,2542,2543,2545,2546,2548,2549,2551,2552,2554,2555,2557,2558,2560,2561,2563,2564,2566,2567,2569,2570,2571,2573,2575,2576,2578,2579,2581,2582,2584,2585,2587,2588,2590,2591,2593,2594,2596,2597,2599,2600,2601,2603,2605,2606,2608,2609,2611,2612,2613,2614,2616,2618,2619,2620,2621,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2663,2665,2667,2669,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690

Предположим, что нам надо внести изменение в задание: раскопировать элементы еще на 2 этажа. Давайте сделаем это первым вариантом (в режиме редактирования группы) в нашем рабочем файле. Выгрузим группу и посмотрим какие теперь ID в измененном файле-задании у элементов, расположенных на 2 этаже

2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2489,2490,2492,2493,2495,2497,2499,2501,2503,2504,2506,2507,2509,2510,2512,2513,2515,2516,2518,2519,2521,2522,2524,2525,2527,2528,2530,2531,2533,2534,2536,2537,2539,2540,2542,2543,2545,2546,2548,2549,2551,2552,2554,2555,2557,2558,2560,2561,2563,2564,2566,2567,2569,2570,2571,2573,2575,2576,2578,2579,2581,2582,2584,2585,2587,2588,2590,2591,2593,2594,2596,2597,2599,2600,2601,2603,2605,2606,2608,2609,2611,2612,2613,2614,2616,2618,2619,2620,2621,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2663,2665,2667,2669,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690

Видим, что они не изменились.

Теперь внесем изменения в файл-задание вторым вариантом (через разгруппирование и создания новой группы). Выгрузим группу и посмотрим, что у нас с ID в измененном файле-задании у элементов, расположенных на 2 этаже

2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2491,2492,2494,2495,2497,2499,2501,2503,2505,2506,2508,2509,2511,2512,2514,2515,2517,2518,2520,2521,2523,2524,2526,2527,2529,2530,2532,2533,2535,2536,2538,2539,2541,2542,2544,2545,2547,2548,2550,2551,2553,2554,2556,2557,2559,2560,2562,2563,2565,2566,2568,2569,2571,2572,2573,2575,2577,2578,2580,2581,2583,2584,2586,2587,2589,2590,2592,2593,2595,2596,2598,2599,2601,2602,2603,2605,2607,2608,2610,2611,2613,2614,2615,2616,2618,2620,2621,2622,2623,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2665,2667,2669,2671,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692

Видим, что ID каждого элемента увеличились на 2. Почему? Все просто: мы скопировали элементы еще на 2 этажа, соответственно при выгрузке группы было создано еще 2 уровня.

Отличие лишь в том, что при корректировке группы первым вариантом элементы создаются в файле-задании в порядке добавления их в группу в рабочем файле. При корректировке группы вторым вариантом элементы создаются в файле задании по общему правилу: сначала все уровни, потом все элементы, находящиеся в группе.

Общий итог по этой ситуации такой: если уж вы обмениваетесь заданием с помощью групп, то я рекомендую выгружать группы через «Сохранить группу» и вносить изменения в группу в режиме редактирования – в общем, делать все, чтобы сохранить ID элементов.

Финалим

Подводя итог, в очередной раз хочу сказать, что работая в программе, нужно соблюдать заложенные разработчиками правила. Это позволит максимально использовать все мощности программы.

Внимательное отношение к ID элементов в Ревит позволит:

- автоматизировано находить изменения в разных версиях;

- уйти от ошибок/предупреждений;

- осуществить комфортную совместную работу, в том числе между дисциплинами.