Arch tutorial/ru

Введение
Этот учебник нацелен дать Вам основы работы с верстаком Arch. Он достаточно прост чтобы Вам не требовался опыт работы с FreeCAD, но некоторые навыки в приложениях 3D или BIM были бы полезны. В любом случае, Вам следует быть готовым самостоятельно искать дальнейшую информацию о работе FreeCAD в его вики-документации. Если у Вас не было предыдущего опыта с FreeCAD, как минимум Вы должны прочитать Начиная работу. Так же гляньте наш раздел учебников, и достаточно много учебников можно найти на youtube.

Назначение верстака Arch - предложить полный рабочий процесс BIM внутри FreeCAD. Поскольку он еще в разработке, не надейтесь найти в нём те же инструменты и уровень завершённости, как и в коммерческих альтернативах вроде Revit или ArchiCAD, но, с другой стороны, у FreeCADа куда более широкий спектр применений, чем у этих приложений, поэтому верстак Arch сильно выигрывает от других обслуживаемых FreeCADом дисциплин, и предлагает некоторые возможности, редко встречающиеся в традиционных приложениях BIM.

Вот, например, некоторые интересные возможности верстака Arch FreeCAD, которые Вы вряд ли найдёте в других приложениях BIM:


 * Архитектурные объекты всегда представляют собой твёрдые тела. Из надёжного механического тыла FreeCAD мы знаем важность работы с твёрдыми объектами. Это гарантирует гораздо менее подверженную ошибкам работу, и надёжные булевы операции. Поскольку разрезание трёхмерных объектов двумерными плоскостями для извлечения секций - это так же булева операция, Вы можете сразу видеть важность этого пункта.


 * Архитектурные объекты могут иметь любую форму, без ограничений. Стены не обязательно вертикальны, плиты не обязаны выглядеть как плиты. Любой твердотельный объект может быть любым архитектурным объектом. Очень сложные вещи, обычно трудно определимые в других приложениях BIM, вроде плит пола, изогнутых вверх и становящихся стеной (да, Заха Хадид, это мы о тебе), сейчас в FreeCAD вообще не проблема.


 * Вся мощь FreeCAD в ваших руках. Вы можете проектировать архитектурные объекты с помощью других инструментов FreeCAD, вроде верстака PartDesign, и после готовности преобразовать их в архитектурные объекты. В них останется вся их история моделирования, и они останутся редактируемыми. Верстак Arch так же наследует большую часть функциональности верстака Draft, таких как привязка и рабочие плоскости.


 * Верстак Arch хорошо совместим с сетками. Вы можете легко проектировать архитектурные модели в основанных на сетках приложениях вроде Blender или SketchUp и импортировать их в FreeCAD. Если Вы внимательны к качеству ваших моделей и их объекты являются твердыми телами, превращение их в архитектурные объекты потребует лишь нажатие кнопки.

На момент написания верстак Arch, как и весь FreeCAD, страдает от ограничений. Над многими из них продолжается работа, и они исчезнут в будущем.


 * FreeCAD - не приложение для черчения на плоскости. Он сделан для объемного моделирования. Есть разумный набор инструментов для черчения и редактирования двумерных объектов с помощью верстаков Draft и Sketcher, но они сделаны не для больших (и иногда плохо нарисованных) двумерных файлов САПР. Обычно Вы сможете успешно импортировать двумерные файлы, но не рассчитывайте на высокую производительность, если хотите продолжать работать с ними на плоскости. Вас предупредили.


 * Нет поддержки материалов. У FreeCAD будет полная система материалов, способная определять очень сложные материалы со всеми возможностями, которые Вы можете ожидать (пользовательские свойства, семейства материалов, визуальные свойства и так далее), и верстак Arch, разумеется, будет их поддерживать по готовности.


 * Очень предварительная поддержка IFC. Вы уже можете импортировать файлы IFC, достаточно качественно, если в Вашей системе установлен IfcOpenShell, но экспорт пока ещё официально не поддерживается. Над ним работают разработчики и FreeCAD и IfcOpenShell, и в будущем мы надеемся на полнофункциональную поддержку IFC.


 * Большинство инструментов Arch всё ещё в стадии разработки. Это значит, что инструменты автоматического создания сложной геометрии, вроде Arch Roof или Arch Stairs могут поддерживать только некоторые типы объектов, а другие инструменты, имеющие предустановки, вроде Arch Structure или Arch Window имеют только набор базовых предустановок. Они, разумеется, растут со временем.


 * В FreeCAD поддерживаются единицы измерения, которые позволяют Вам работать с любыми единицами (даже с имперскими, ребята из США должны быть за это благодарны Jürgen, отцу и диктатору FreeCAD). Но пока она не завершена, и верстак Arch ещё не поддерживает её. Считайте его "безъединичным".

Типовой рабочий процесс
Верстак Arch в основном сделан под два типа рабочих процессов:


 * Создать свою модель быстрым, базирующемся на сетках приложением вроде Blender или SketchUp, и импортировать её в FreeCAD, чтобы получить виды в плане и в сечении. FreeCAD сделан для точного моделирования, на гораздо более высоком уровне, чем обычно требуется в архитектурном моделировании, создание моделей прямо в FreeCAD может быть тяжёлым и сложным. Поэтому такой процесс имеет большие преимущества. Он описан в этой статье моего блога. Если Вас заботит корректность и точность модели (чистые, твердотельные, не manifold сетки), этот рабочий процесс даёт ту же производительность, что и другие.


 * Создание модели прямо в FreeCAD. Это то, что будет показано в этом учебнике. Мы будем использовать в основном три верстака: разумеется, Arch, но кроме того Draft, все инструменты которого включены в Arch, так что переключение не требуется, и Sketcher. Для удобства Вы можете сделать то, что обычно делаю я, то есть создать в верстаке Arch пользовательскую панель инструментов, с помощью Панели инструментов → Настроить, и добавить часто используемые инструменты из верстака Sketcher. Это мой "настроенный" верстак Arch:



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

Подготовка
Вместо создания проекта с нуля для экономии времени возьмём для моделирования готовый демонстрационный. Я выбрал этот чудный дом известного архитектора Виланова Артигас (смотрите несколько картинок Leonardo Finotti), поскольку это близко к тому, где я живу, просто, это прекрасный пример привлекательной модернистской архитектуры Сан-Паулу, и легко доступен чертёж в формате DWG.

Мы будем использовать двумерный чертёж в формате DWG, полученный с вышеуказанной ссылки (от Вас требуется регистрация на том сайте, но это бесплатно, или Вы можете получить версию dxf напрямую здесь) в качестве базы для создания нашей модели. Так что сначала Вам надо загрузить файл, разархивировать его, и открыть файл DWG в приложении вроде DraftSight. Или Вы можете преобразовать его в файл DXF с помощью свободной утилиты вроде ODA File Converter. Если у Вас ODA converter установлен (и путь к нему установлен в настройках модуля Arch), FreeCAD так же может импортировать файлы DWG самостоятельно. Но, поскольку эти файлы могут быть плохого качества или слишком большими, обычно лучше сначала открыть их в двумерном приложении САПР и сделать небольшую обработку.

Здесь я убрал все детали рисунка, рамку и угловые штампы, сделал "очистку" ("purge" на языке AutoCADа) для удаления неиспользованных объектов, перенёс сечения в разумные положениях относительно вида сверху, и переместил всё в точку (0,0). После этого наш файл может быть спокойно открыть в FreeCAD. Проверьте различные опции, доступные в Правка → Параметры → Draft → Импорт/Экспорт, они влияют на то, как (и как быстро) файлы DXF/DWG будут импортированы.

Вот как файл выглядит после открытия в FreeCAD. Я так же изменил толщину стен (содержимое группы "muros"), и перевернул множество дверей, импортируемых с неправильным масштабом, с помощью инструмента Draft Scale:



Импортер DXF (который так же обрабатывает файлы DWG, поскольку при импорте файлов DWG их просто конвертируют сначала в DXF), группирует объекты по слоям. В FreeCAD нет слоёв, но есть группы. Группы предлагают аналогичный путь организации объектов в Ваших файлах, но не имеют особых параметров, применяемых ко всему их содержимому, как в слоях AutoCAD. Но они могут быть помещены внутри других групп, что очень удобно. Первое, что нам следует сделать, это создать новую группу в древе проекта, кликнув правой кнопкой на иконе документа, добавив группу, переименовать её в "base 2D plans", и перетащить объекты в неё.

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

Возможны различные стратегии построения стен в FreeCAD. При одной можно построить полный "поэтажный план" с помощью эскизирования, и построить из него единый большой стеновой объект. Эта техника работает, но Вы сможете назначить лишь одну толщину стен для всех стен проекта. Или Вы можете построить каждый участок стены из отдельных сегментов линий. Или, что мы будем здесь делать, и то, и другое: мы создадим набор полилиний поверх импортированного плана, по одной для каждого типа стен:



Как видите, я нарисовал красным линии, которые станут бетонными стенами (поиск картинок домов поможет Вам увидеть различные типы стен), зелёным станут внешние кирпичные стены, а синие станут внутренними стенами. Я провёл линии через двери, поскольку двери будут вставлены в стены позднее, и проёмы будут созданы автоматически. Стены так же могут быть выравнены по левому, правому краю или центру, так что не важно, по какой стороне Вы рисовали базовую линию. Я старался избегать пересечений насколько можно, поскольку наша модель будет при этом чище. Но мы позаботимся о пересечениях позднее.

Когда всё будет готово, если хотите, поместите все эти линии в новую группу, выберите каждую линию по одной, и нажмите инструмент Стена для создания стен из каждой из них. Можно так же выбрать несколько стен за раз. После выполнения этого и корректировки толщины (внешние стены толщиной 25 см, внутренние стены толщиной 15 см) и некоторого выравнивания, наши стены готовы:



Мы так же можем создать наши стены с нуля. Если Вы нажмёте кнопку Стена без выбранного объекта, Вы сможете указать двее точки на экране для построения стены. Но внутри инструмент Стена на самом деле нарисует линию, на которой и построит стену. Поэтому я счёл более дидактичным показать, как всё работает на деле.

Заметили, что я внимательно следил, чтобы не было пересечения стен? Это убережёт нас от головной боли далее, например, если мы экспортируем нашу работу в другое приложение, для которого это будет проблемой. Я сделал только одно пересечение, где мне было лень рисовать два маленьких сегмента линий, и нарисовал одну большую полилинию пересекающей другую. Это надо исправить. По счастью, все архитектурные объекты имеют отличную возможность добавляться один к другому. Это объединяет их геометрии, но они по-прежнему смогут редактироваться независимо. Чтобы добавить одну из пересекающихся стен к другой, выделите первую, CTRL + выбрать вторую, и нажмите инструмент Добавить компонент:



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

Например, можно было нарисовать все базовые линии, не обращая внимания на пересечения, и исправить всё с помощью Arch Add позднее. Но это сильно увеличило бы сложность модели, и без всякой пользы. Лучше сделать это правильно с самого начала, и сохранять их геометрически простыми.

Теперь, когда наши стены в порядке, нам нужно увеличить их высоту до пересечения с крышей. Затем, поскольку стены всё ещё не могут быть автоматически обрезаны крышей (это когда-нибудь будет), мы сделаем пустой объект с формой крыши, чтобы вычесть его из наших стен.

Сначала, посмотрев на чертежи, мы видим, что наивысшая точка крыши на уровне 5,6 метров от земли. Так что сделаем все наши стены высотой 6 метров, так что мы будем уверены, что они будут обрезаны нашим фиктивным объёмом крыши. Почему 6, а не 5,6 метров? Если Вы работали с булевыми операциями (добавление, вычитание, пересечение), то отмечали, что они не любят работать с соприкасающимися поверхностями. Они предпочитают четко пересекающиеся объекты. Так что делая это, мы предохраняем себя.

Чтобы увеличить высоты наших стен, просто выделите их (не забудьте те, что мы добавили одна к другой) в древе проекта, и измените параметр "height".

Перед тем как сделать нашу стену и обрезать стены, сделаем остальные объекты, которые должны быть обрезаны: стены верхней студии, и колонны. Стены студии делаются так же, как остальные, на главном виде сверху, но они будут подняты на уровень 2,6 метра. Так что, чтобы их верх был на уровне 6 метров, мы дадим им требуемую высоту 3,4 метра. Когда это будет готово, мы поднимем наши стены на 2,6 метра: Выделите их все, переключитесь на фронтальный вид (Вид → Стандартные виды → Спереди), нажмите кнопку Draft Move, выберите первую точку, затем введите координаты 0, 2.6, 0, и нажмите Enter. Ваши объекты теперь подняты на 2,6 метра:



Теперь подвинем наши стены горизонтально, к их правильному положению. Поскольку мы имеем точки для захвата, это проще: нажимаем инструмент Draft Move, и перемещаем из с одной точки в другую:



В конце я сменил цвет некоторых стен на кирпичный (чтобы легче их отмечать), и сделал небольшие изменения: некоторые стены не поднимаются до крыши, но остаются на высоте 2,6 метра. Я подправил высоту этих стен.

Возведение конструкции
Теперь, когда нам надо обрезать стены вычитаемым объемом, нам следует так же посмотреть, нет ли других объектов, которые следует обрезать таким же образом. Они есть, это некоторые колонны. Это хорошая возможность представить следующий архитектурный объект, Структуру. Объект Структура похож на стену, но их делают не по базовым линиям. Взамен, над ними работают как с вытягиваемым профилем (вдоль линии профиля или нет). Профилем структуры может быть любой плоский объект, при одном требовании: это должна быть замкнутая фигура.

Для наших колонн мы используем иную стратегию, чем для стен. Вместо "рисования" поверх чертежа, мы напрямую используем объекты из них: окружности, которые которые показывают колонны на виде сверху. Теоретически, мы должны просто выбрать один из них, и нажать кнопку Структура. Но если мы сделаем это, мы получим "пустой" объект. Это потому, что мы не можем быть уверены, как объект нарисован в файле DWG, и нередко это не замкнутые фигуры. Поэтому, перед тем как превращать их в колонны, превратим их в грани, дважды используя к ним инструмент Draft Upgrade. Сначала превратив их в замкнутые полилинии, потом превратив полилинии в грани. Следующий шаг не обязателен, но если у Вас есть грань, у вас 100% гарантия, что она замкнута (иначе грань не будет получена).

После преобразования всех наших колонн в грани, мы можем обработать их инструментом Структура, и подстроить высоту (некоторые имеют 6 метров, другие - 2,25 метров в высоту):



На картинке выше Вы можете видеть две колонны, которые пока как в файле DWG, две уже превращённые в грани, и две превращённые в Структуру с высотой 6 метров и 2,25 метра.

Заметьте, что эти разные архитектурные объекты (стены, структуры и всё остальное) имеют между собой много общего (например, они могут быть добавлены один к другой, как мы видели это со стенами, и каждый может быть превращён в другой). Так что это дело вкуса, мы могли сделать наши колонны с помощью стен, и преобразовать их при необходимости. На деле, некоторые из наших стен бетонные, нам следует в дальнейшем преобразовать их в структуры.

Вычитание
Настало время создать объём для вычитания. Проще всего нарисовать его профиль поверх сечения. Затем повернём его и поместим в нужную позицию. Поняли, почему я в начале поместил сечения и лестницы таким образом? Это будет удобно для черчения нужного нам объёма, а потом перемещения его в нужную позицию модели.

Нарисуем объём больше крыши, который будет вычитаться из наших стен. Для этого я нарисовал две линии поверх базы крыши, затем расширил их ещё немного с помощью инструмента Draft Trimex. Затем я нарисовал полилинию, с привязкой к этим линиям, и пошёл выше 6 метров. Я так же нарисовал голубую линию на уровне земли (0,00), которая будет осью вращения.



Теперь сложная часть: мы используем инструмент Draft Rotate для вращения нашего профиля на 90 градусов вверх, в правильную позицию для выдавливания. Для этого сначала изменим рабочую плоскость на YZ. После этого вращение будет в этой плоскости. Но если мы сделаем как мы делали раньше, и установим наш вид на боковой вид, будет трудно видеть и выбрать наш профиль, и знать где базовая точка, вокруг которой надо вращать, верно? Поэтому мы должны установить рабочую плоскость вручную: нажать кнопку Draft SelectPlane (она на панели "Задачи" окна древа проекта), и установим её в YZ (это боковая сторона). Когда Вы установите так рабочую плоскость вручную, она не меняется в зависимости от Вашего вида. Вы можете теперь вращать Ваш вид как угодно чтобы получить хороший обзор того, что Вам надо выделить. Чтобы вернуть рабочую плоскость назад в автопереключение по виду, нажмите кнопку Draft SelectPlane снова и установите её в "None".

Теперь поворот сделать легко: Выберите профиль, нажмите кнопку Draft Rotate, нажмите кнопку на голубой линии, введите 0 как стартовый угол, и 90 как угол поворота:



Теперь всё, что требуется, это переместить профиль немного ближе к модели (если нужно, установите рабочую плоскость в XY), и выдавить его. Это может быть выполнено либо инструментом Part Extrude, или Draft Trimex, который так же имеет скрытую возможность выдавливать грани. Убедитесь, что выдавленное Вами больше чем все стены, из которых оно вычитается, во избежание появления стыка поверхностей:



Теперь вступает в действие обратный инструмент, обратный Arch Add: Arch Remove. Как Вы догадываетесь, он тоже создаёт объект-потомок, но его форма вычитается из объекта вместо объединения. Так что теперь всё просто: выделить объём для вычитания (я переименовал его в "Roof volume to subtract" в древе проекта, чтобы его было легче заметить), CTRL + выбрать стены, и нажать кнопку Arch Remove. После вычитания вычитаемый объём исчезнет из окна трёхмерного вида и древа проекта. Это потому что он был отмечен как производный от стены, и был "проглочен" ею. Выберите стену, раскройте её в древе проекта и Вы увидите наш вычитаемый объём.

Теперь выберите объём из древа проекта, CTRL + выберите следующую стену, нажмите Arch Remove. Повторите для следующей стены, пока не обрежете всё как надо:



Помните, что и для Arch Add и для Arch Remove важен порядок, в каком выбраны объекты. Хост всегда последний, как при "Удалении X из Y" или "Добавить X к Y"

Создание крыши
Теперь всё, что нам осталось для завершения структуры, это сделать крышу и малые внутренние перекрытия. Опять таки, проще всего нарисовать их профили поверх секции, с помощью инструмента полилиния. Здесь я нарисовал 3 профиля поверх каждого из них (я переместил их в сторону чтобы Вам было лучше видно). Зелёный будет использоваться для боковых границ потолочной плиты, синий для боковых частей, красные для центральной части, которая находится над блоком ванной:



Далее, мы должны повторить вышеуказанную операцию вращения, чтобы повернуть объекты в вертикальную позицию, переместить их в нужные места, и копировать те из них, которые должны быть выдавлены дважды, инструментом Перемещение, с нажатой клавишей ALT, которая создаёт копии вместо перемещения реального объекта. Я так же добавил ещё два профиля для боковых стен прохода к ванной.



Когда всё на своём месте, это как раз для использования инструмента Draft Trimex для выдавливания, затем конвертировать их в структуры.



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

Теперь последняя вещь, которую надо исправить, это маленькая плита в ванной, которая пересекает некоторые стены. Исправим это созданием нового вычитаемого объёма, и вычтя его из этих стен. Другая возможность инструмента Draft Trimex, который мы использовали для выдавливания, что он так же может выдавить единственную грань существующего объекта. Это создаёт новые, отдельные объекты, так что нет риска "испортить" другие объекты. Так что мы можем выбрать базовую грань малой плиты (гляньте на неё снизу модели), затем нажмите кнопку Draft Trimex и выдавите его вверх выше крыши. Затем вычтите его из двух внутренних стен ванной с помощью инструмента Arch Remove.



Полы, лестницы и камин
Теперь, когда наша конструкция готова, нам осталось добавить несколько небольших объектов.

Камин
Давайте начнём с камина. Вы уже знаете, как он работает? Нарисуйте несколько замкнутых полилиний, переместите их на их верную высоту инструментом Draft Move, выдавим их с помощью инструмента Draft Trimex, превратим больший из них в структуру, и вычесть меньший. Заметьте, что труба дымохода не может быть нарисована на виде сверху, но я нашёл её позицию, переместив голубые линии с видов сечения.



Перекрытия
Перекрытия плохо показаны на исходном чертеже. Глядя на сечения, мы не знаем, где и какой толщины стоят плиты перекрытий. Поэтому я предположил что все стены лежат на фундаментных блоках, на уровне 0,00, и что есть плиты пола, так же сидящие на этих блоках, толщиной 15 см. Поэтому плиты пола не подходят под стены, а обходят их. Мы можем сделать это, создав большую прямоугольную плиту, затем вычитая стены, но мы помним, что операция вычитания ресурсоёмкая. Лучше сделать её из маленьких элементов, это будет "дешевле" по вычислительным ресурсам, но так же, поскольку мы сделаем это интеллигентно, комната за комнатой, это будет полезно при вычислении площади пола в дальнейшем:



Когда будут нарисованы полилинии, превратим их в структуры, и дадим им высоту 0,15:



Лестницы
Теперь лестницы. Познакомимся со следующим архитектурным инструментом, Arch Stairs. Этот инструмент на время написания учебника всё еще на ранней стадии разработки, так что не ожидайте от него многого. Но он уже вполне пригоден для создания простых, прямых лестниц. Важно понимать одну концепцию, этот инструмент придуман для построения лестниц с плоского пола до стены. Другими словами, при виде сверху лестница занимает точно то же место, что и на виде сверху, так что последняя ступень не рисуется (хотя и учитывается при определении высоты).

В данном случае я предпочитаю строить лестницу из сечения, поскольку нам нужно много размеров, которые проще получить из него. Здесь я нарисовал несколько красных опорных линий, затем две голубые линии, которые станут базой наших двух секций лестницы, и две зелёные замкнутые полилинии, которые формируют пропущенные части. Теперь выберем первую голубую линию, нажмём инструмент Arch Stairs, установим число ступенек равным 5, высоту 0,875, ширину 1,3, тип структуры в "massive" и толщину структуры в 0,12. Повторим для другой части лестницы.

Затем выдавим обе зелёные полилинии на 1,3, и повернём их в правильную позицию:



На вертикальной проекции нарисуем (затем повернём) границу:



Теперь помещаем всё на место:



Не забудьте так же обрезать колонны, которые пересекают лестницы, поскольку для BIM плохи пересекающиеся объекты. Мы строим как в реальном мире, помните, где твердотельные объекты могут пересекаться. Здесь я не хочу вычитать колонны прямо из лестниц (иначе в древе проекта колонны будут проглочены лестницами, что не есть хорошо), так что я возьму профиль из которого были сделаны колонны и выдавлю их вновь. Это новое выдавливание затем будет вычтено из лестниц.

Отлично. Сделана трудная работа, давайте сделаем очень трудную работу!

Окна и двери
Окно модуля Arch достаточно сложный объект. Они используются для всех видов "вставляемых" объектов, вроде окон или дверей. Да, во FreeCAD двери - это особый вид окон. В реальной жизни тоже, если подумать, не так? Инструмент окно пока непрост в использовании, но считайте это компромиссом, поскольку он был построен для максимизации возможностей. С его помощью можно сделать практически любой вид окна, какой Вы можете представить. Но когда инструмент получит больше предустановок, ситуация должна улучшиться в будущем.

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

Есть два способа создания таких объектов в FreeCAD: используя предустановки, или рисуя раскладку окна с нуля. Мы рассмотрим два метода. Но помните, что метод предустановок только создаёт раскладку и определяет необходимые выдавливания для Вас.

Использование предустановок
Нажав инструмент Arch Window без выделенного объекта, Вы получите приглашение либо указать двумерную раскладку, либо использовать предустановки. Используем установку "Simple Door", чтобы сделать главную входную дверь нашей модели. Сделаем ширину 1 м, высоту 2,45 м, размер W1=0,15 м, и оставим остальные параметры на 0,05 м. Затем кликнем на нижний левый угол стены, и Ваша новая дверь готова:



Вы увидите, что Ваша новая дверь не появилась в древе проекта. Это потому, что, указав стену, мы указали, что стена является хостом окна. Соответственно, он был "проглочен" стеной. Но правым кликом на стене мы найдём дверь в древе проекта.

В этом случае, если наше окно не вставлено в стену (вход уже был здесь), мы должны так же открепить наше окно из базовой стены. Это делается двойным кликом на базовой стене в древе проекта для входа в режим редактирования. Тогда Вы увидите окно в его группе "Subtractions". Выберите окно, нажмите кнопку "remove element", затем "OK". Наше окно будет удалено из базовой стены, и будет лежать внизу древа проекта.

У нас есть другая дверь, такая же как эта, немного левее. Вместо создания новой двери с нуля, у нас есть два способа скопировать предыдущую: используя инструмент Draft Move с нажатой кнопкой ALT, что, как Вы уже знаете, копирует объект вместо его перемещения. Или, что лучше, можно использовать инструмент Draft Clone. Этот инструмент создаёт "клон" выбранного объекта, который можно перемещать кругом, но который сохраняет форму оригинального объекта. Если оригинал изменяется, так же изменяется и клон.

Так что всё, что нам теперь нужно, это выделить дверь, нажать инструмент Draft Clone, затем переместить клона в требуемую позицию с помощью инструмента Draft Move.

Организация Вашей модели


Теперь наступило время сделать небольшую чистку дома. Поскольку у нас уже есть два окна, наступил подходящий момент для очистки в древе проекта: создайте новую группу, переименуйте её в "windows", и перетащите в неё два окна. Советую отделить другие элементы таким же образом, например стены и структуры. Поскольку Вы так же можете создать группы внутри групп, Вы можете улучшить организацию, например, поместив все элементы, формирующие крышу, в отдельную группу, так что будет легко включить и отключить их (делание групп видимыми и невидимыми делает то же самое со всеми объектами).

В верстаке Arch имеются дополнительные инструменты для организации модели: Arch Site, Arch Building и Arch Floor. Эти три объекта базируются на стандартных группах FreeCAD, так что они работают как группы, но содержат дополнительные параметры. Например, через полы можно устанавливать и управлять высотой содержащихся в них стенах и структурах, и когда они перемещаются, всё их содержимое так же перемещается.

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

Теперь вернёмся к работе. Скроем группу крыши, чтобы видеть лучше внутри, и переключим режим показа объектов пола на Wireframe (или используйте инструмент ToggleDisplayMode), так чтобы мы всё ещё могли захватывать его, но могли видеть вид сверху под ним. Но можно так же выключить полы полностью, затем поместить двери на уровень 0, после чего поднять их на 15 см с помощью Draft Move.

Расставим внутренние двери. вновь используем предустановку "Simple Door", сделаем двери 1,0 м и 0,7 м шириной и 2,1 м высотой, с размером W1=0,1 м. Убедитесь, что Вы захватили правильную стену, когда устанавливаете их, так что они автоматически делают проём в этой стене. Если их трудно расположить их правильно, можно поместить их в более простое место, в угол стены, например, а потом переместить их. Проём переместится с ним.

Если Вы по ошибке поместили окно в неправильную стену, это легко исправить: уберите окно из группы "Subtraction" базовой стены в режиме редактирования, как мы видели выше, затем добавьте её в группу "Subtraction" правильной стены тем же методом, или, просто, используя инструмент Arch Remove.

После небольшой работы все наши двери здесь:



После внимательного взгляда на вертикальный разрез я заметил ещё одну ошибку: верх кирпичной стены не 2,6 м, а на 17,5 см ниже, то есть 2,425 м. По счастью, в окнах на базе предустановок мы имеем возможность менять общине размеры (ширину и высоту) через их параметры. Так что изменим их высоту на 2,425 - 0,15, что равно 2,275. Следующее окно, как клон первого, адаптируется тоже. Вот в этом проявляется реальная магия параметрического дизайна.

Теперь мы рассмотрим по-настоящему интересную вещь: как спроектировать своё собственное окно.

Создание пользовательских окон
Как я объяснял выше, объекты "окно" создаются из двумерного макета, составленного из замкнутых элементов (полилиний, кругов, прямоугольников, чего угодно). Поскольку объекты Draft не могут поддерживать более одного такого элемента, оконный переплёт лучше рисовать инструментами эскизирования. К сожалению, при эскизировании нельзя привязываться к внешним объектам, как при черчении, что было бы полезно, поскольку у нас всё уже нарисовано. По счастью, существует инструмент для конвертирования объектов Draft в эскизы: Draft To Sketch.

Так что начнём с создания нашего первого оконного переплёта. Я нарисовал его на фасаде, используя несколько прямоугольников: один для внешних линий, и 4 для внутренних линий. Я остановился перед дверью, поскольку, как Вы помните, наши двери уже имеют раму:



Затем выберите все прямоугольники и нажмите кнопку Преобразовать в эскиз (и удалите прямоугольники, поскольку этот инструмент не удаляет оригинальный объект на случай, если что-то пойдёт не так). Тогда, выделив новый эскиз, нажмите инструмент Arch Window:



Инструмент определит, что раскладка содержит одну внешнюю рамку и несколько внутренних прямоугольников, и автоматически предложит конфигурацию по умолчанию: одну рамку, сделанную вычитанием внутренних прямоугольников из внешнего, выдавленный на 1 м. Изменим это, войдя в режим редактирования окна, двойным кликом по древу проекта:

Вы увидите компонент "по умолчанию", который был создан автоматически инструментом "Window", который использует 5 полилиний (всегда вычитая внешние из наибольших внутренних), и имеет размер выдавливания, равный 1. Изменим величину выдавливания на 0.1, чтобы привести в соответствие с использованным для дверей.

Затем добавим 4 новые стеклянные панели, каждая с использованием единственной полилинии, и дадим им выдавливание 0,01 и смещение 0,05, так что они помещаются в середине рамы. Вот так окно будет выглядеть после завершения работы:



Я думаю, теперь Вы должны понять силу этой системы: возможна любая комбинация рамок и панелей. Если Вы можете нарисовать его на плоскости, может быть и трёхмерный объект.

Теперь нарисуем другие части, затем всё переместим на место. Но сначала нам надо скорректировать базовый двумерный рисунок, поскольку некоторые линии просто пропущены, где окна соприкасаются с лестницами. Мы можем исправить это, обрисовав линии лестниц со смещением 2,5 см с помощью инструмента Draft Offset (разумеется, с нажатой кнопкой ALT, чтобы копировать линии вместо их перемещения). Теперь мы можем нарисовать нашу раскладку, с помощью полилиний, затем конвертировать их в эскиз, затем превратив его в окно.

Сделав это несколько раз (я сделал 4 отдельных куска, но это Вы должны решать), мы завершили фасад.



Теперь, как и раньше, дело за поворотом элементов и перемещение их к их правильной позиции.



Последняя пропущенная часть, это сегмент стены, который не появился на виде сверху, который надо добавить. У нас несколько возможностей для этого, я выбрал нарисовать линию на уровне земли, потом поднять их на требуемую высоту, затем сделав из него стену. Затем, нам нужно выцепить наш объём вычитания крыши (он должен остаться под последней колонной), затем вычесть его. Теперь эта часть строения готова:



Готово? Не совсем. Посмотрите на вид выше, мы сделали наши двери с рамкой 5 см, помнится (это значение по умолчанию из предустановок). Но другие окна имеют рамки 2,5 см. Это надо исправить.

Редактирование окон
Мы уже видели как построить и обновить оконный компонент, через режим редактирования окна, но мы так же можем редактировать базовый эскиз. Предустановленное окно не отличается от самодельного, просто инструмент Arch Window создаёт базовый эскиз сам. Выберите Вашу дверь (оригинал, не копию, помните, что мы сделали клон), и раскройте его иерархию в древе проекта. Здесь есть эскиз. Дважды кликните для входа в режим редактирования.

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

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



Теперь всё, что нам нужно сделать, это отредактировать расстояние в 5 см между внешней и внутренней линией, дважды кликнув по ней и изменив её значение на 2,5 см (помните, единицы еще не функционируют во время написания учебника). После нажатия кнопку "OK", наша дверь (и его клон) обновился.

Работа без опоры на двумерных чертёж
Пока наша работа была относительно проста, поскольку у нас была подкладка из плоского чертежа, на которую мы опирались. Но теперь мы должны сделать задний фасад и остеклённый атриум, и всё становится сложнее: чертёж противоположного фасада содержит множество ошибок, не показывает атриум вообще, и у нас просто нет чертежа его внутренних стен. Так что нам надо придумать многое самостоятельно. Обязательно гляньте на картинки для образца, чтобы представить, как всё сделано. Или сделайте это как пожелаете!

Одну вещь мы уже сделали: продублировали сложное лестничное окно с помощью Draft Move, поскольку они одинаковы на обоих сторонах.



Заметьте, что здесь я предпочёл продублировать с помощью Draft Move, поскольку клоны сейчас не поддерживают разные цвета внутри объектов. Разница в том, что клон это копия конечной формы оригинального объекта, в то время как если Вы скопировали объект, Вы создали новый с теми же параметрами, что и оригинальный (следовательно, ещё и базовый эскиз и определения компонентов окна, которые сохранены как параметры).

Теперь мы должны атаковать части, которые нигде не были нарисованы. Начнём со стеклянной стены между гостиной и атриумом. Легче всего нарисовать её на фронтальном виде, поскольку мы получим правильную высоту крыши. Когда Вы будете на виде сверху, Вы сможете повернуть вид из меню Вид -> Стандартные виды -> Повернуть влево или вправо, пока не получите удобный для работы вид, вроде этого:



Как на картинке выше, я сделал линию от модели к левой секции, чтобы получить точную ширину окна. Затем я воспроизвёл эту ширину на фронтальном виде и разделил его на 4 части. Затем я построил одни кусок главного окна, плюс 4 дополнительных окна для сдвижных окон. Эскизировщик иногда затрудняется с пересекающимися полилиниями, поэтому я предпочитаю держать из отдельно, как здесь:



После необходимых поворотов, всё защёлкивается точно на место.



Нам всё ещё нужен здесь угловой кусок. Небольшой полезный трюк с инструментом Draft SelectPlane, если ваша грань выбрана когда Вы нажали кнопку, рабочая плоскость соответствует этой грани (как минимум эта позиция и если грань прямоугольная, она так же пытается соответствовать их осям). Это полезно для рисования двумерных объектов прямо на модели, так как здесь, мы можем нарисовать прямоугольник для выдавливания прямо в правильное положение.



Затем сделаем два оставшихся куска. Один из них прост, это копия того, что на другой стороне, так что мы просто используем двумерный чертёж.



Другой немного сложнее, смотря на картинки, мы видим что у него много вертикальных делений, как у лестничных окон. По счастью (или хорошему дизайну Вильянова Арригаса), ширина нашего окна в 4,5 м, точно такая как лестничного окна, так что мы можем использовать то же самое деление: 15 кусков по 30 см. Здесь я использовал инструмент Draft Array для копирования двух линий 15 раз, и рисовать прямоугольники поверх них:



Когда они сделаны, мы можем сделать наше окно уже известным нам методом. Другой маленьких полезный трюк, если Вы еще не обнаружили его сами: при редактировании окна, если Вы измените имя компонента, это фактически создаёт его дубликат. Так что для создания 15 внутренних стеклянных панелей, вместо того чтобы делать 15 кликов на кнопке добавления и 15 раз заполнять данные, Вы можете редактировать одно, и изменять его имя и полилинию, что каждый раз создаст копию.

После того как окно повёрнуто и перенесено на место, атриум готов:



Редактирование и исправления
Теперь, глядя на задний фасад и сравнивая его с планом, мы видим что есть некоторые различия, которые надо исправить. А именно, окно спальни меньше, чем я сначала думал, и нам надо увеличить стену. Чтобы сделать это правильно, некоторые полы должны быть обрезаны.



У нас есть несколько способов это сделать, создание вычитаемого объёма было бы проще всего, но это бы неоправданно усложнило модель. Лучше отредактировать базовую полилинию пола. Здесь вступает в дело режим Draft Edit. Развернув этаж в списке проекта, сделаем полилинию видимой, и мы можем двойным щелчком войти в режим редактирования. Значит, мы можем перемещать её точки, а так же добавлять или удалять точки. Таким образом, редактирование плит пола будет несложным.



Ещё немного пота (человек, делавший эти чертежи, наверно, поленился, когда делал последний фасад, многое сделано неправильно), у нас появился окончательный дом:



Обратите внимание на трубу камина, которая сделана из окружности, использованной для отверстия в каминном блоке, которую я выдавил, затем превратил в трубу с помощью инструмента Part Offset.

Выход
Теперь, после тяжёлой работы по построению этой модели, пришло воздаяние: что мы можем сделать с этим? Работа с помощью BIM имеет преимущества, все наши традиционные архитектурные потребности, вроде двумерных чертежей (виды сверху, сечения и т.д.), визуализация и калькуляция (перечни элементов и так далее) могут быть взяты из модели. И даже лучше, пересчитываться при изменении модели. Я покажу, как получить эти различные документы.

Приготовления
Перед началом экспорта сделаем одно интересное соображение: как видите, наша модель становится все сложнее, со множеством взаимосвязей между объектами. Это делает последовательные операции вычисления, вроде вырезов через модель, тяжёлыми. Один из быстрых путей кардинально "упростить" вашу модель, это убрать всю её сложность, экспортировав её в формат STEP. Этот формат сохраняет всю геометрию, но удаляет все связи и параметрических конструкции, сохраняя лишь конечную форму. После обратного импорта этого файла в FreeCAD, у Вас будет модель без связей с гораздо меньшим размером файла. Считайте его как "выходной" файл, который Вы можете создать в любое время из "главного" файла:



Экспорт в IFC и другие приложения


Одна из основных вещей, которая Вам нужна при работе с BIM, это возможность импорта и экспорта файлов IFC. Работа над этим в FreeCAD ещё продолжается. Формат IFC уже поддерживается, и импорт файлов IFC уже довольно качественный. Экспорт всё же ещё экспериментальный, и имеет много ограничений. Тем не менее, дела улучшаются и надлежащий экспорт в IFC будет у нас очень скоро.

Экспорт в IFC почти не требует настроек, когда установлены необходимые программные библиотеки. Вам надо только пересоздать структуру, которая нужна для всех файлов IFC, добавив в ваш файл Arch Building, затем Arch Floor, затем переместить в них все группы объектов, составляющих Вашу модель. Убедитесь, что Вы не захватили сюда Вашу конструктивную геометрию (все нарисованные двумерные заготовки, которые мы нарисовали), чтобы не сделать Ваш файл IFC слишком тяжёлым.

Ещё надо проверить параметр "Role" структурных элементов. Поскольку в IFC нет "универсальных" структурных элементов, как в FreeCAD, нам надо указать им их роли (колонны, балки и т.д), чтобы при экспорте было ясно, какие элементы должны быть созданы в файле IFC.

В этом случае нам нужна полная архитектурная система, чтобы при экспорте в IFC было известно, должны ли объекты экспортироваться как стены или колонны, так что мы используем нашу "базовую" модель, а не "выходную" модель.

Когда это будет готово, просто выберите Ваш строительный объект, и выберите формат "Industry Foundation Classes". Экспорт в приложение без поддержки BIM, вроде Sketchup, так же прост, у Вас есть несколько экспортных форматов на выбор, таких как Collada, STEP, IGES ou OBJ.

Визуализация
FreeCAD так же содержит модуль визуализации, верстак Raytracing. Этот верстак сейчас поддерживает две программы рендеринга, PovRay и LuxRender. Поскольку FreeCAD не проектировался для визуализации изображений, возможности, предлагаемые Вам его верстаком Raytracing немного ограничены. Лучшее направление действий, если Вы хотите сделать хорошую визуализацию, это экспортировать Вашу модель в основанный на сетках формат вроде OBJ или STL, и открыть его в приложении, более подходящем для рендеринга, вроде Blender. Нижележащее изображение получено с помощью циклического механизма Blender:



Но для быстрой визуализации верстак Raytracing уже может сделать хорошую работу, с преимуществом очень легкой настройки, благодаря системе шаблонов. Это визуализация нашей модели полностью внутри FreeCAD, с помощью механизма Luxrender с использованием шаблона "indoor".



Верстак Raytracing пока предлагает Вам очень ограниченный контроль над материалами, но подсветка и окружения определены в шаблонах, поэтому они могут быть полностью настроены.

Двухмерные чертежи
Разумеется, наиболее важно в использовании BIM автоматическое создание плоских чертежей. Это делается в FreeCAD с помощью инструмента Arch SectionPlane. Этот инструмент позволяет Вам поместить сечение на месте трёхмерного вида, который Вы можете ориентировать для получения вида сверху, сечений и фасадов. Сечения должны знать какие объекты они должны включать, так что при их создании их надо добавить к ним объекты с помощью инструмента Arch Add. Вы можете добавить отдельные объекты, или, что удобнее, группы, этажи или всё здание. Это позволит позднее легко сменить границы сечения, добавляя или убирая объекты из этой группы. Любое изменение этих объектов отражается на видах, произведённых сечением.

Плоскость сечения автоматически создаёт вид сечения объектов, которые она пересекает. Другими словами, чтобы получить вид вместо сечения, Вам надо поместить секущую плоскость вне ваших объектов.



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

Вид в виде формы

Этот выход произведён инструментом Draft Shape2DView с выбранной секущей плоскостью. Был получен двумерный вид модели прямо в трёхмерном пространстве, как на рисунке выше. Основное преимущество здесь в том, что его можно обработать с помощью инструментов Draft (или любого другого стандартного инструмента FreeCAD), так что Вы можете добавить текст, размеры, символы и так далее:



На картинке выше, два вида Shape2D были созданы для каждого сечения, один показывает всё, другой показывает только секущие линии. Это позволяет получить различные толщины линий, и включить штриховку. Затем были добавлены размеры, текст и символы, и импортирован набор блоков для показа мебели. Эти виды легко экспортировать в DXF или DWG, и открыть в Вашем любимом двумерном приложении САПР, вроде LibreCAD или DraftSight, где Вы можете продолжать работу над ним:



Заметьте, что некоторые возможности до сих пор не поддерживаются при экспорте DXF/DWG, поэтому результат в других приложениях может отличаться. Например, в изображении выше я отменил штриховку, и исправил позицию текста размерностей. Если Вы планируете поместить Ваши объекты в различные группы FreeCAD, в двумерном приложении они станут слоями.

Проекции

Другой вид выхода, который можно создать секущими плоскостями, это проекции. Они создаются использованием инструмента Draft Drawing с выбранной плоскостью сечения. Этот метод имеет одно большое ограничение по сравнению с предыдущим: у Вас ограничены возможности редактирования результатов, и пока ещё не поддерживаются размеры и штриховка.

С другой стороны, выходом легче манипулировать, и графические возможности формата SVG больше, в будущем несомненно это станет предпочтительным методом. Однако сейчас предыдущий метод даёт лучшие результаты.



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

Подсчёт материалов
Это ещё одна очень важная задача, которая должна быть выполнена на модели BIM. В FreeCAD все хорошо с самого начала, поскольку ядро OpenCasCade уже занимается вычислением длин, площадей и объёмов для всех производимых им форм. Поскольку все архитектурные объекты это тела, Вы с гарантией можете получить из них объёмы.

Использование встроенной электронной таблицы

To populate a spreadsheet with values extracted from the model the Arch_Schedule tool can be used.



Режим опроса

Другой путь для обследования Вашей модели и извлечения данных, это использование режима опроса. В этом режиме Вы можете кликнуть на точки, рёбра, грани, или выделить весь объект двойным кликом, и получить высоту, длину, площадь или объём, показываемый в модели, печатаемый в выходном окне FreeCAD и копируемый в буфер обмена, так что Вы можете легко извлечь и вставить значения в другое открытое приложение.



Заключение
Надеюсь, это дало Вам хороший обзор доступных инструментов, далее обязательно посмотрите документацию верстаков Arch и Draft (есть немало других инструментов, которые не были упомянуты здесь), и прочую документацию FreeCAD. Нанесите визит так же на форум, многие проблемы обычно могут быть мгновенно решены здесь, и просмотрите в моём блоге новости разработки верстака Arch.

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