
Команда FreeCAD продолжает избавляться от мифа, что полезных свободных САПР не бывает. Только что выпущенная версия v0.13 включает многочисленные улучшения практически всех аспектов работы программы.
В новую версию попало несколько важных инструментов проектирования, были улучшены инструменты фаски и скругления. Очень радует новая, достаточно толковая система привязок, доступная в рабочих столах черчения и архитектуры.
Команда хорошо задокументировала изменения и опубликовала примечания к релизу. Вместо дублирования усилий давайте остановимся на двух важных аспектах этой версии и поговорим о будущем проекта.
Частное производство
В сообществах вроде Thingiverse приложение OpenSCAD является довольно распространенным инструментом создания моделей для трёхмерной печати. В новой версии FreeCAD есть экспериментальный рабочий стол OpenSCAD, написанный Себастьяном Хоогеном (Sebastian Hoogen). Как раз здесь список изменений неполон, давайте это исправим.
Во-первых, вы можете открыть существующий файл OpenSCAD — как SCAD, так и CSG. Для этого вам нужно в диалоге настройки программы указать путь к исполняемому файлу OpenSCAD. Вот довольно известный пример из примеров в поставке OpenSCAD:
Вы также можете создать новый объект из собственного кода или предустановок, применить логические операции к нескольким объектам, использовать выдавливание, вращение вокруг собственной оси, а затем проанализировать геометрию конечного объекта на присутствие ошибок.
После этого проект можно экспортировать в файл SCAD или CSG, и он вполне ожидаемо откроется в OpenSCAD:
В принципе, экспорт в SCAD можно пропустить, поскольку FreeCAD сам умеет генерировать файлы STEP.
У Себастьяна есть планы и дальше развивать этот рабочий стол:
Библиотеки в OpenSCAD генерируют полигональные данные, которые не пригодны для модуля импорта во FreeCAD. Я бы хотел в будущем написать аналог для FreeCAD, чтобы программа создавала корректную базовую геометрию.
Кроме того, было бы неплохо задействовать сумму Минковского, которая используется для скругления фигур в OpenSCAD. В ядре FreeCAD этой операции сейчас нет.
В остальном, получается, что FreeCAD становится ещё и визуальным редактором OpenSCAD. Ну и как вам такой поворот?
Архитектура
Если вам нужен хороший обзор изменений в рабочем столе Arch, предлагаем вам почитать статью “FreeCAD Arch module how-to” Йорика ван Хавре (Yorik van Havre). Это отличное введение в рабочий процесс и знакомство с новыми функциями, написанное самим разработчиком.
Вот основные новшества
- новая система осей;
- новые объекты здания и пола;
- новые инструменты создания стен, крыши и окон;
- новая система секций для быстрого создания 2D-планов;
- создание стен и конструкций из закрытых мешей.
Здесь стоит подробнее остановиться на одном принципиально важном моменте — появлении импорта IFC. Для этого Йорик использовал существующую библиотеку IfcOpenShell Томаса Крийнена (см. наше интервью с Томасом о его проекте). Йорик считает поддержку IFC критически важной для FreeCAD и понемногу выстраивает весь рабочий процесс вокруг методологии BIM.
Вообще говоря, у библиотеки IfcOPenShell свой собственный новый релиз состоялся за день до анонса FreeCAD 0.13. Кроме различных исправлений и улучшений там появилась поддержка импорта в Blender 2.65, а к ещё одному новшеству мы вернёмся чуть позднее.
Сразу стоит отметить, что попытка использовать загрузчик IFC на реальных проектных данных в FreeCAD 0.13 может дать вам неверное представление о том, куда проект движется. Во-первых, импорт больших файлов работает ужасно медленно, вплоть до того, что легче убить процесс и нарисовать всё с нуля. На то есть несколько причин.
1. Проблемы в IfcOpenShell. Вот что говорит Томас:
IfcOpenShell пока что нельзя назвать реактивным. С твердотельными объектами в IFC она справляется на раз, но при этом OpenCASCADE затыкается на треугольных сетках, которые часто встречаются, к примеру, в объектах мебели.
2. Недостаточно оптимизированная интеграция IfcOpenShell в FreeCAD. Слово Йорику:
Интеграция IfcOpenShell в FreeCAD сделана пока что очень грубо. Вместе с тем, это позволяет нам на раннем этапе как следует продумать архитектуру обоих приложений. Мы уже нашли отличный способ передачи «родных» данных Open CASCADE между ними.
Мы с Томасом достаточно активно обсуждаем будущее IFC и FreeCAD и придумали кое-какие стратегии ускорения работы. Один из вариантов — в некоторых случаях напрямую использовать данные сеток вместо сложной геометрии Open CASCADE.
3. Наконец, у FreeCAD есть свои собственные проколы. Йорик объясняет:
Проблема работы с большими файлами — это не только проблема IFC и IfcOpenShell. Сейчас FreeCAD сначала читает весь файл IFC парсером на Python (а Python, как известно, медленно работает с большими списками), а затем вызывает IfcOpenShell, чтобы получить геометрию объектов.
Я собираюсь сделать так, что процесс IfcOpenShell сам читал файл. Уже одно это сократит загрузку данных IFC вдвое. Кроме того, сокращение загрузки больших файлов — одна из задач Юргена, который сейчас занимается рабочим столом для сборки.
Второй серьёзный недостаток состоит в отсутствии некоторых концепций IFC, а также в отсутствующем экспорте файлов IFC из FreeCAD. Так что программу пока нельзя назвать полноценным решением BIM. Но вы не расстраивайтесь.
В IfcOpenShell 0.3.0 уже есть функция создания файлов IFC, так что поддержка экспорта в этот формат во FreeCAD — вопрос времени. Кроме того, речь идет не только о геометрии. На следующий цикл разработки Йорик запланировал добавить работу с материалами, а также ввести понятия IFC — пространства, полы и многослойные объекты вроде стен.
Разумеется, на это уйдёт некоторое время. Но если учесть, что релизы в проекте — скорее формальность, вы вполне можете работать со сборками нестабильной версии по мере их появления.
Дальнейшие планы
Похоже, что команда начала двигаться в направлении PLM/PDM. Команда уже общается с проектом OpenPLM. Юрген Ригель в последнее время активно работает над рабочим столом сборки, а Йорик ван Хавре собирается добавить базовый объект таблицы, который будет полезен для создания спецификаций.
Остаётся разобрать лишь несколько вопросов. Во-первых, собирается ли проект в ближайшее время стабилизироваться?
Вернер Мейер, один из членов основной команды, считает, что проблемы со стабильностью, в основном, подпадают под две категории. Первая — это ошибки в ядре (Open CASCADE), вторая — ошибки в графических драйверах, особенно на Linux. В обоих случаях команда бессильна.
Что насчёт пригодности для решения задач пользователей? У Юргена на этот счёт своё мнение:
Я работаю в большой автомобильной компании и постоянно вижу, насколько серьёзные системы CAD и CAE упрощают проектирование. При этом я вижу, что растущему движению частных производителей (makers movement) нужны в точности те же инструменты, которых сейчас используются в промышленности!
Им нужен моделировщик для проектирования деталей, FEM для стресс-анализа и частотного анализа, системы CAM для производства. Но больше всего им нужны средства сборки, упрощающие географически распределённое проектирование. Сборка во FreeCAD может стать тем, чем Git стал для программистов.
Есть ли у меня на это время? Конечно, нет! Я могу лишь надеяться на том, что мне удастся заложить основы и указать направление. Нам нужно огромное количество разработчиков, чтобы достичь все цели.
И всё же, я настроен оптимистично. В сообществе немало людей, которые разделяют наше видение будущего и хотят участвовать в большом открытом проекте по созданию средства проектирования.
Что подводит нас к завершающей части.
Как вы можете помочь
Как считает Йорик, проекту критически не хватает примеров и учебников, а также инструментов для конечных пользователей. Это два самых слабых места FreeCAD.
Есть множество других вещей, которые можно легко добавить: мастера (wizards), небольшие макросы, вспомогательные инструменты, средства создания определённых объектов и т.д. Всё это не требует каких-то особых навыков программирования.
Скачивание
FreeCAD работает на Windows, Mac и Linux. Доступен репозиторий для пользователей Ubuntu.
Оставить комментарий