Работа со связанными файлами и отслеживание изменений. Часть 1

«Ты передвинул колонну, а нам ничего не сказал!» — «Ой, я случайно перетащил» или «Ой, я забыл сказать, что её надо передвинуть». Сколько раз мы это слышали? :)

В Ревите есть несколько способов контроля изменений. Но для начала, конечно, нужно закрепить важные элементы и отключить кнопку «Перетащить на выделение»:
Далее схема работы зависит от того, используется ли разделение файлов, или все выполняется в одной модели. Во втором случае можно использовать запрет редактирования рабочих наборов, но не буду останавливаться на его плюсах и минусах. В этой статье расскажу про работу по схеме связанных файлов и инструмент «Копирование/Мониторинг».

Вначале немного порассуждаем. Заранее предупреждаю, что ниже — просто мои мысли, которые возникли после нескольких проектов, а не однозначная правда.
Итак, вы — конструктор, работаете с подгруженным файлом архитекторов. Разбираться будем на примере стен.

Основной вопрос — достаточна ли точность файла АР для использования его в работе. Например, бывает вот такое:
Понятно, что так ничего хорошего не выйдет, и нужно в своем файле ставить стены заново.
Но даже если точность достаточна — конструкторам работать с элементом из другого файла просто неудобно. Посмотрим следующий порядок работы:
  1. Первоначально архитекторы располагаются все элементы в своем файле;
  2. После того, как модель в достаточной степени проработана — этот файл подгружается в файл КР. В данном файле создаются все несущие элементы;
  3. Архитекторы подгружают к себе файл КР и удаляют все несущие элементы из своего файла.

Что получается: архитекторы могут свободно двигать перегородки в своем файле, а несущие элементы изменить не могут. Для того, чтобы проделать проем в несущей стене — нужно обращаться к конструкторам. Ситуация, когда несущий элемент переместит кто-то из конструкторов и не сообщит архитекторам — маловероятна.

Конечно, при таком способе тоже есть свои минусы. Например, если нужно поставить дверь в несущую стену. Архитектор не может установить дверь в стену из другого файла. Устанавливать ее в файле конструкторов? Но тогда эта дверь не попадет в спецификацию, которую делает архитектор. Видимо, архитекторам нужно дублировать несущие стены из вложенного файла стенами в своем файле, и ставить двери в них.
Какой получается схема работы?
Если стену передвинул конструктор — она передвинется в файле АР. Об этом факте нужно будет сообщить; как именно изменилась стена — будет видно в файле. Если забудут сообщить — две стенки на плане сразу бросаются в глаза:
Стены из вставленного файла КР сделаны прозрачными и заштрихованы красным, в файле АР — залиты серым цветом.
Несущие стены архитектор сдвинуть не сможет. Если он случайно сдвинет свою стену в этом месте — получится то же, что на картинке.
Архитектор может установить дверь — она прорежет стену из файла АР, но не прорежет стену из подгруженного файла КР. Нужно будет сообщить конструктору, чтобы он сделал проем в несущей стене; габариты можно будет посмотреть по стене из файла АР.
Архитектор сдвинул дверь, но конструктор не внес изменение в файл. В файле АР будет такая картина
При таком способе работы не страшно, что стены у архитекторов расположены не совсем точно. Конструктор может сдвинуть стену на несколько миллиметров, и эти изменения не затронут файл АР.
На практике выяснилось, что есть проблемы с отображением штриховки таких дублирующихся стен. Например, штриховки не отображаются, если в качестве шаблона используется стандартный «конструктивный шаблон». Также непонятна логика приоритета заливки стены из вложенного файла и стены в данном файле. В некоторых стенах видно штриховку из вложенного файла, на других — штриховку стены из основного файла:
Есть определенная логика, например, больший приоритет имеет ранее созданный элемент, но при работе всё равно получается полная ерунда
Обойти проблему можно при помощи фильтров. В файле АР я создал тип стены «Стены для КР 200мм», условный материал с отображением в разрезе сплошной заливкой белого цвета. Затем в файлах создал фильтр, устанавливающий прозрачность 100% для стен с «именем типа» содержащим «Стены для КР». В этом случае штриховка и тонирование однозначно будут приниматься по материалу стены из файла конструкторов.
Итак, получается такая схема работы. В принципе, всё удобно. Вот только не помешало отслеживать изменения не глазами, просматривая план, а автоматически. Именно для этого и нужен «Мониторинг». О нем — в части 2.