Уникальные идентификаторы
В Ревит у каждого элемента модели имеется уникальный идентификатор (далее по тексту буду называть его 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
Видимо у разработчиков Ревит логика была такая: моделируют конструкции снизу-вверх и соответственно у стен 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 элементов в Ревит позволит:
- автоматизировано находить изменения в разных версиях;
- уйти от ошибок/предупреждений;
- осуществить комфортную совместную работу, в том числе между дисциплинами.