FreeCAD — новый метод рисования
Disclamer: Я никогда в своей жизни не работал с CAD/CAM приложениями раньше, и, вдруг, пришлось. Принципы работы FreeCAD меня так восхитили, что это требует срочного поста на Хабр, чтобы рассказать другим.
Написанное в этом посте, вероятнее всего, будет тривиальным и скучным для большинства активных пользователей CAD, и этот пост нацелен в первую очередь на не-пользователей CAD с целью рассказать им про чудный новый мир компьютерной графики.
Вступление
У меня возникла простая задача — сделать 3D модель своей квартиры. Не просто «стенки в размер», а все балки, выступы и загибы. Я попробовал одну, вторую, третью программу… Я отчаялся (началось с SweetHome3D, а закончилось blender и inkscape). Они все были чертовски неудобными. Среди программ, которые я попробовал, был и FreeCAD, который я пропустил по причине «нифига не сделать» и «не работает толком».
После того, как я отчаялся, я пошёл по второму кругу. На этот раз, чуть больше читая документацию… И FreeCAD не только «взлетел», но и ещё и открыл для меня восхитительный новый мир точного векторного рисования, основывающегося на Constrains.
3Д моделирование в FREECAD для начинающих. Как сделать 3д модель в FREECAD
Проблемы моделирования
Для начала я расскажу про ту боль, от которой я страдал в разных редакторах.
Начнём с SweetHome3D. Условно-понятный интерфейс, позволяющий описать комнату как «пол» (где задаётся форма и выступы), вокруг которой делается «стена». SweetHome3D дал мне две проблемы: пиксельхантинг (размер меняется либо микроскопическими сдвигами мыши, либо в диалоге, но не существует метода «прижать» стенку к полу с точностью — только пиксельхантинг.
Вторая проблема — модель SweetHome3D не подразумевает существование балок, арок и других элементов стены, не идущих сверху до низу. Дополнительно, SH3D не умеет наклонных стен и полов (я бы хотел, чтобы такой проблемы у меня не было, но перед тем, как эту проблему устранять IRL, её надо задокументировать). Т.е. SH3D покрывает 90% того, что мне было нужно, доставляя невероятную боль с 5%, и делая невозможным оставшиеся 5%.
Blender теоретически позволяет сделать всё, но только теоретически. На практике либо моих навыков не хватало, либо сам процесс очень медлительный, но нарисовав три с половиной угла, я сдался. Слишком медленно и слишком много возни с освещением и другими неважными вещами. Плюс (насколько я знаю), Blender вряд ли сможет показать нормальные 2D проекции с размерами.
Inkscape был хорош кроме одной проблемы — в многосекционной линии (F2) невозможно задать размеры каждой секции. Можно было бы — я бы всё в Inkscape так и рисовал.
… Но мой пост не про абсолютное превосходство FreeCAD над Blender (я в обоих их новичок и толком сравнить не могу), а про новый стиль рисования. Сначала про проблемы старого стиля (то есть «обычного» векторного рисунка).
Проблема пиксель-хантинга
Перед тем, как перейти к картинкам и объяснению идеи Constrains, я хочу сфокусироваться на нескольких проблемах, которые извечно преследуют векторные рисунки:
- Почти объединённые кривые. Если две кривые почти соприкасаются, то можно подумать, что они соприкасаются. В какой-то момент (при печати, либо при дальнейших манипуляциях), картинка развалится.
- Почти параллельные/перпендикулярные линии. Они параллельны, но не до конца.
обратите внимание на outline, он показывает, что описывающий прямоугольник для двух линий больше самой линии, т.е. линия под острым углом.
- производная от предыдущего — линии, стыкующиеся под углом в 0.001°.
- неточности в размерах и толщине линий. Линия имеет свою толщину, и при редактировании (поворотах, ресайзах и т.д.) толщина начинает плыть. Более того, в большинстве векторных реакторов трудно нарисовать квадрат с площадью 100 и линией толщиной 0.5 (потому что линия на 50% заходит на площадь фигуры, и мы имеем не 10х10 внутри, а 9.75х9.75).
- Сохранение align’а и симметрии является задачей, требующей постоянного внимания.
В редакторах встроено множество инструментов для борьбы с подобными неприятностями, но у этих инструментов есть одно затруднение — их надо осмысленно применять там, где возникла проблема. А за возникновением проблем надо следить самому.
Constrains
Это было долгое вступление. Теперь я рассказываю про constrains, или, по-русски, удерживающие связи (перевод термина из статьи про степени свободы в механике.
Давайте попробуем нарисовать квадрат со стороной 10, опираясь на его фундаментальные свойства.
У квадрата 4 прямые стороны.
Почти получилось. Солвер подсказывает, что нам надо задать 15 дополнительных удерживающих связей, чтобы наша фигура была однозначной (у неё было 0 степеней свободы).
- Противоположные стороны квадрата параллельны *
Солвер говорит, уже лучше. Стало не хватать 13. Обратите внимание на красные пометки — это указание на constrains. В самом начале у нас случайно получилось два ограничения — две горизонтальные линии.
Стало лучше, хотя на квадрат это всё ещё похоже мало. Что же не так? Ах, да, квадрат — это полигон, а у полигона стороны сходятся в углах в точку. Добавим эти ограничения.
Получилось немного неожиданно, хотя solver всё более довольный. Указанная фигура — обычный такой четырёхугольник, в котором стороны попарно параллельны. Немного за пределами школьного курса, но вполне понятно.
Добавим объёма … плоскости к этой фигуре. Соседние грани — перпендикулярны.
Уже похоже на правду (хотя это я чуть-чуть подтянул вверх рисунок, потому что стороны нулевого размера вполне устраивают solver как перпендикулярные к прямой, на которой лежат (в виде точки)). solver ругается на избыток ограничений. Согласимся с ним и удалим одну перпендикулярность (у нас требование попарной параллельности, перпендикулярность для одной пары автоматически вытекает из перпендикулярности первой пары). После того, как мы удалили лишнее, solver жалуется на 4 свободы.
Запретим ещё что-нибудь, так как свободы слишком много.
Например, скажем, что все стороны должны быть одинакового размера. Достаточно сделать это для двух любых смежных сторон, и из этого вытекает, что все стороны равны (школьная геометрия!).
После этого у нас получается три свободы. Ещё три свободы? Но квадрат же… Да, это квадрат, но мы не знаем его размера (0 — тоже размер, между прочим), и положения в пространстве.
Зададим его — укажем, что один из углов квадрата лежит на точке «0, 0», плюс зададим для одной из сторон размер в 10мм.
Всё, квадрат полностью готов, у него нет свобод, а значит, нет и скрытых ошибок.
Этот пример был немного гротескным, но, как я надеюсь, выразительным. Особенно меня впечатлило, что solver не только проверяет на отсутствие неоднозначностей, но ещё и предупреждает, если фигура содержит больше ограничений, чем надо.
Лирика
Для меня такой метод описания рисунка является совершенно новым и неожиданным. В каком-то смысле он напоминает то, что делают типизированные языки программирования с машинным кодом — добавляют в него ограничений, позволяющих в математически-точной форме задать ограничения на возможные операции с данными. В тот момент, когда ограничений достаточно много, мы получаем однозначное решение, которое точно есть и точно однозначное. И точно правильное, если входные данные были правильными. И никаких «случайно задел мышкой» или «рука дрогнула».
- Настройка Linux
- Работа с 3D-графикой
- CAD/CAM
Источник: habr.com
Freecad что это за программа
FreeCAD is made primarily to design objects for the real world. Everything you do in FreeCAD uses real-world units, be it microns, kilometers, inches or feet, or even any combination of units. FreeCAD offers tools to produce, export and edit solid, full-precision models, export them for 3D printing or CNC machining, create 2D drawings and views of your models, perform analyses such as Finite Element Analyses, or export model data such as quantities or bills of materials.
Мощное твердотельное геометрическое ядро
FreeCAD features an advanced geometry engine based on Open CASCADE Technology. It supports solids, Boundary Representation (BRep) objects, and Non-uniform rational basis spline (NURBS) curves and surfaces, and offers a wide range of tools to create and modify these objects, including complex Boolean operations, fillets, shape cleaning and much more.
Параметрическая среда с широкими возможностями
All FreeCAD objects are natively parametric, meaning their shape can be based on properties such as numeric values, texts, on/off buttons, or even other objects. All shape changes are recalculated on demand, recorded by an undo/redo stack, and allow to maintain a precise modelling history. Properties of one object can drive the value of properties of other objects, allowing complex, custom parametric chains that could only exist in your wildest dreams. New parametric objects are easy to code.
Python повсюду
While the FreeCAD core functionality is coded in C++ for robustness and performance, large parts of the external layers, workbenches and and almost all the communication between the core and the user interface is coded in Python, a flexible, user-friendly, easy to learn programming language. From Python code, you are able to do just anything in FreeCAD, from simple one-line commands in the integrated Python console to recording macros, coding your own tools up to full custom workbenches.
Совместимость с форматами файлов
FreeCAD allows you to import and export models and many other kinds of data from your models such as analyses results or quantities data to dozens of different file formats such as STEP, IGES, OBJ, STL, DWG, DXF, SVG, SHP, DAE, IFC or OFF, NASTRAN, VRML, OpenSCAD CSG and many more, in addition to FreeCAD’s native FCStd file format. Add-on workbenches can also add more file formats.
Редактор 2D эскизов основанный на параметрических ограничениях
FreeCAD оснащен современным Sketcher со встроенным решением ограничений, позволяет создавать эскизы 2D-фигур с геометрическим ограничением. Эскизы — основной строительный блок FreeCAD, и построенные в нём ограниченные 2D-фигуры могут использоваться в качестве базы для построения других объектов во FreeCAD, как с помощью выделенного верстака PartDesign, так и любого другого верстака.
Большая (и развивающаяся) многопрофильная экосистема
FreeCAD предлагает специальные верстаки для различных целей, таких как CSG-моделирование, простое 2D-черчение, NURBS-поверхности, архитектурное или BIM-моделирование, 3D-печать, CAM и ЧПУ, облака точек, работу с файлами OpenSCAD, расчет траекторий промышленных роботов, выполнение анализа Методом конечных элементов, и многое другое. FreeCAD также предоставляет простые инструменты для установки и управления дополнительными внешними верстаками и макросами, разработанными пользователями сообщества.
Разработано сообществом
FreeCAD производится для всех всеми. Он разработан и поддерживается сообществом разработчиков, пользователями, модераторами, переводчиками, всеми объединёнными желанием сделать FreeCAD свободным и мощным инструментом. Нет никаких коммерческих целей для принятия решений, нет настоятельных призывов обновить версию FreeCAD или заинтересовать Вас в конкретном рабочем процессе или экосистеме. Сам FreeCAD, файлы и данные, которые Вы производите с FreeCAD, являются действительно Вашими, навсегда.
Примечания к выпуску
По ссылке можно найти примечания к выпуску для текущих и предыдущих версий FreeCAD. Примечания к выпуску описывают, что нового в каждом релизе:
- Выпуск 0.20 — Июнь 2022 (current stable release)
- Выпуск 0.19 — Март 2021
- Выпуск 0.18 — Март 2019
- Выпуск 0.17 — Апрель 2018
- Выпуск 0.16 — Апрель 2016
- Выпуск 0.15 — Март 2015
- Выпуск 0.14 — Март 2014
- Выпуск 0.13 — Январь 2013
- Выпуск 0.12 — Декабрь 2011
- Выпуск 0.11 — Март 2011
Follow the official FreeCAD channels for fresh news:
- Official blog
- Twitter account
Свяжитесь с нами!
Источник: www.freecad.org
Программа для 3D моделирования Free cad
Для того, чтобы создавать 3D объекты высокого качества, можно воспользоваться программой Freecad. Она проста для освоения, обладает большим количеством полезных инструментов, позволяет проводить расширение функциональности. Эта программа создаёт параметрические объекты, позволяющие корректировать форму модели без внесения изменений в предварительно подготовленный чертёж.
- 1 Область применения
- 2 Функциональные возможности приложения
- 3 Особенности интерфейса
- 4 Работа с ПО
- 5 Преимущества редактора
- 6 Недостатки
- 7 Заключение
- 8 Полезное видео
Область применения
Эта программа может использоваться для проектирования трёхмерных деталей. Она проста для освоения и обладает понятным, продуманным интерфейсом. Freecad предназначена для параметрического моделирование. Это означает, что сделав модель, её можно менять, корректируя параметры и не внося более сложных изменений. Таким образом, уменьшается риск снизить качество чертежа при доработке.
Модульная структура позволяет наращивать функциональность путём добавления новых компонентов. Использование скриптовых языков дает возможность самостоятельно создавать нужные дополнения, улучшающие функциональность.
Это приложение будет полезно для следующих категорий пользователей:
- Freecad для начинающих в качестве домашнего хобби. Подойдёт, если пользователь хочет начертить 3D чертёж, не обладая профессиональными навыками трёхмерного проектирования. При работе не требуется практический опыт использования подобных систем. В сети есть большое количество понятных обучающих материалов и даже Freecad руководство на русском языке.
- По для опытных юзеров. Используя профессиональную систему на работе, будет легко найти аналогичные инструменты стандартной версии графического редактора.
- На этой программе будет удобно работать программисту, владеющему скриптовыми языками. Ему будет нетрудно разобраться, как работать, использую Python и Qt.
Справка! Freecad может работать с различными операционными системами: существуют варианты для Windows, Linux и MacOS. Программное обеспечение является открытым, то есть код приложения доступен пользователям. Это даёт возможность при необходимости вносить коррективы в программу.
Функциональные возможности приложения
Программа была создана для 3D CAD моделирования. Основным типом чертежей являются машиностроительные. Приложение себя хорошо зарекомендовало для использования в качестве программы для архитектурного моделирования. Программа попадает также в такие категории: САПР, CAE, PLM, Cax. Здесь имеются возможности для совместной работы с другими приложениями, например, с KiCad.
В программе предусмотрено большое количество 2D инструментов. Они позволяют сделать качественное двумерное изображение трёхмерного объекта.
Функциональные возможности приложения позволяют сделать следующее:
- Трёхмерные модели высокого качества.
- Параметрические объекты дающие расширенные возможности для проектирования.
- С помощью Freecad можно заниматься архитектурным моделированием.
- Здесь можно заниматься проектированием внешнего вида объектов, работая с его трёхмерной моделью.
- Можно создавать набор двумерных эскизов трёхмерных деталей.
- Получение чертежей высокого качества на основе двумерных моделей.
- Использовать большой набор специализированных инструментов для проектирования.
- В комплекте имеется значительное количество примитивов, с помощью которых можно составлять сложные формы.
- Можно подбирать оптимальные размеры объектов после создания первоначального чертежа.
- Предусмотрены специальные окружения для исполнения профессиональных задач в определённых сферах.
- Архитектурные объекты могут изображаться в качестве сочетания блоков различных форм и размеров.
- Интерфейс программы можно настраивать в соответствии со своими требованиями.
Эти и другие возможности позволяют эффективно использовать Freecad для трёхмерного моделирования. В последних моделях приняты дополнительные меры для того, чтобы программа демонстрировала стабильность и надёжность.
Особенности интерфейса
Используемые инструменты разделены на группы:
- К первой относятся применяемые виды: аксонометрический, вдоль различных осей координат.
- Вторая группа открывает доступ к существующим примитивам. Их использование позволяет ускорить работу над моделью. Здесь можно выбрать следующие варианты: шар, куб, пирамиду, параллелепипед, тор, конус и другие. Есть возможность создавать собственноручно разработанные примитивы. Для того, чтобы к этому приступить, достаточно кликнуть по соответствующей кнопке.
- Третья группа предусматривает возможность выполнения логических операций над изображаемыми объектами. С их помощью можно выбирать, например, объединение или пересечение форм.
Имеются встроенные электронные таблицы. Они используются для хранения параметров Freecad модели. Содержимое таблиц можно изменять, модифицируя созданный объект.
Доступно создание многокомпонентных конструкций. При этом сначала создаются детали, а затем из них собирается нужный объект.
Внимание! В интерфейсе предусмотрены ссылки на большое количество обучающих материалов и чертежей моделей, которые могут быть использованы в качестве примера.
Работа с ПО
После запуска пользователь попадает в главное окно программы. Оно разделено на две части. Справа находится поле, в котором будет создаваться трёхмерная модель. У левого поля можно выбрать из двух вкладок: «model» и «Задачи».
На первой из них можно переключать вид, выбирать нужные элементы, изменять масштаб, вращать деталь или делать другие действия. Во второй отображаются особенности выполняемых задач. Если некоторые из них являются активными и требуют ввод от пользователя, то рядом с ними отображается иконка в виде карандаша.
Для того, чтобы выбрать подходящие инструменты, необходимо установить соответствующий им режим. Здесь не предусмотрено одновременное наличие сразу всех их.
Перед началом работы переходят в пункт главного меню – «Рабочий стол». После этого открывается возможность выбирать из всех доступных режимов работы. Доступно черчение, редактирование или просмотр.
Программа использует в работе собственный графический формат: FCStd. При сохранении можно выбрать один из наиболее распространённых вариантов: Freecad DWG, DXF, SVG, PDF и ещё много других распространённых вариантов.
Работая с моделями можно применять следующее:
- Присутствует модуль, предназначенный для проведения рендеринга.
- Создав объёмный объект, на его основе можно создать двухмерные чертежи в различных проекциях.
- Для создания модели доступно использование предустановленных примитивов. Не представляет сложностей самому создать новые, если возникла необходимость.
- Перед тем, как работать в Freecad, есть возможность выбрать из нескольких растровых форматов.
- В программе доступно использование модуля, имитирующего выполнение обработки металлической детали.
- Присутствует встроенная среда для создания, отладки и работы с макросами.
- Работать в редакторе можно не только визуально, но и с помощью скриптовых команд.
Эта программа, хотя имеет значительные возможности, тем не менее отличается скромным потреблением ресурсов компьютера. С ней удобно работать даже на машинах бюджетного класса с объёмом оперативной памяти от 800 МБ. Дистрибутив занимает 125 МБ, что для современных утилит совсем немного.
Преимущества редактора
Оставленные о Freecad отзывы, показывают, что программа имеет следующие достоинства:
- С её помощью можно создавать рисунки и чертежи трёхмерных деталей. Доступна работа с фигурами различной степени сложности.
- Предусмотрена возможность экспорта готовых моделей наиболее популярных форматов и импорта в них.
- Графический редактор позволяет оформлять документацию и выполнять необходимые инженерные расчёты.
- Free cad обладает всеми необходимыми инструментами, которые необходимы для трёхмерного рисования.
- Для выполнения во Freecad 3D чертежей можно использовать следующие форматы: STEL, SVG, STEP, DXF, OBJ, DAE и IGES.
- Здесь применяется модульная архитектура. Таким образом можно выполнить конфигурирование программы нужным пользователю образом.
- В процессе работы можно использовать скрипты на Python или Qt.
- Для работы предусмотрено наличие консоли.
Чертежи, которые создаются при помощи редактора, являются параметрическими. А при их рисовании не нужно прилагать значительные усилия для получения качественного результата.
Недостатки
Программа обладает всего двумя явными минусами:
- Она не включает в себя всех функций, необходимых для работы полноценной САПР.
- В работе важную роль играет использование скриптов на Python или Qt. Далеко не всем пользователям подходит необходимость изучения этих языков для рисования трёхмерных фигур.
Заключение
Freecad поможет нарисовать трёхмерные детали. Здесь можно создать самому дополнения для увеличения функциональности редактора или воспользоваться уже готовыми. Однако уровень функциональности недостаточен для использования в сложных коммерческих проектах.
Полезное видео
Практический урок для новичков:
Источник: junior3d.ru
FreeCAD
Программа (САПР) для трехмерного параметрического моделирования
- Windows 10
- Windows 8.1
- Windows 8
- Windows 7
Всего оценок: 3
Тип лицензии:
Freeware (бесплатное)
Языки: Английский, Русский
Снимки экрана 4
FreeCAD — это параметрическая система автоматизированного проектирования (САПР) с открытым исходным кодом. Программный комплекс, состоящий из нескольких обособленных друг от друга модулей, позволяет проектировать трехмерные объекты методом параметрического моделирования (параметризации).
Принцип проектирования во FreeCAD
Алгоритм данного метода моделирования выглядит примерно следующим образом:
- Сначала проектировщик создает одну основную часть (назовем ее «костяком») конечной модели.
- Затем задает параметры других элементов модели и соотношения между этими параметрами.
- Задействует нужный инструмент (один из имеющихся в программе либо созданный самостоятельно), после чего FreeCAD вырисовывает конечную модель, опираясь на ранее заданные параметры и соотношения между ними.
- Если проектировщик решит изменить хотя бы один (а их, как правило, десятки) из первоначально заданных параметров, конечная модель автоматически будет преобразована в соответствии с введенными изменениями. Именно в этом и заключается основное отличие параметрического моделирования от привычного многим трехмерного.
Модули FreeCAD
В настоящее время продукт FreeCAD располагает тремя во многом друг от друга независимыми модулями:
- Рисование. Предоставляет пользователю широкий набор инструментов, позволяющий проецировать 3D-модель на чертежный лист.
- Рендеринг. Данный модуль отвечает за экспорт создаваемых 3D-объектов для рендеринга в других программах 3D-моделирования.
- Архитектура. Набор инструментов для информационного моделирования зданий (BIM) в формате IFC.
Таким образом, программный комплекс FreeCAD может применять в самых различных сферах деятельности человека, начиная от создания трехмерных объектов в демонстрационных целях (например, видеопрезентации) и заканчивая проектированием конструктивных деталей техники, сложных одиночных и составных механизмов или даже целых зданий.
Возможности FreeCAD также могут быть расширены благодаря поддержке языка программирования Python, при помощи которого проектировщик сможет создавать собственные инструменты моделирования, автоматизировать те или иные процессы проектирования.
Совместимость с Windows
На данной странице представлены две версии FreeCAD — для 32-х и 64-битных (x86, x64) систем Windows 7, 8, 8.1 и 10. Интерфейс программы имеет частичную поддержку русского языка.
Источник: www.softsalad.ru