Выпущен FreeCAD 0.13

freecad 0.13

Команда 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.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.