FreeCAD: 3D редактор, первые шаги Печать
Добавил(а) microsin   

FreeCAD это бесплатная система автоматизированного проектирования (САПР) с открытым исходным кодом, предназначенная для 3D-моделирования в различных областях: машиностроение, архитектура, 3D-печать и другие области.

FreeCAD main window

Основные характеристики:

Тип: параметрическая САПР общего назначения.
Лицензия: GNU LGPLv2+ (свободное ПО).
Платформы: Windows, Linux, macOS.
Ядро: OpenCASCADE Technology.
Языки: C++, Python.

[Обзор ключевых возможностей]

1. Параметрическое моделирование

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

2. Модульная архитектура (Верстаки)

FreeCAD организован как набор верстаков (workbenches) — каждый специализируется на определённых задачах:

Верстак Назначение
Part Design Создание деталей из эскизов с помощью выдавливания, вырезания и других операций
Part Работа с базовыми геометрическими примитивами и булевыми операциями (сложение, вычитание)
Sketcher Создание 2D-эскизов с геометрическими ограничениями
Assembly Сборка механизмов из нескольких деталей (доступен в версии 1.0+)
TechDraw Создание технических чертежей по 3D-моделям
Mesh Работа с полигональными сетками (например, для подготовки к 3D-печати)
BIM/Arch Архитектурное проектирование и информационное моделирование зданий
CAM Создание управляющих программ для станков с ЧПУ
FEM Инженерный анализ методом конечных элементов

3. Поддерживаемые форматы файлов

FreeCAD читает и записывает множество форматов:

- Обмен CAD-данными: STEP, IGES, BREP.
- Для 3D-печати: STL.
- Чертежи: DXF, DWG, SVG.
- 3D-графика: OBJ, DAE, VRMLю
- Архитектура: IFC

4. Интерфейс

Основные элементы интерфейса FreeCAD:

Трёхмерный вид — рабочая область для моделирования.
Дерево проекта — отображает историю и иерархию объектов.
Редактор свойств — просмотр и изменение параметров выделенных объектов.
Панель задач — отображает активные команды и настройки.
Консоль Python — для написания скриптов и автоматизации.
Переключатель верстаков — для смены набора инструментов

5. Навигация мышью

По умолчанию используется режим CAD навигации:

- Вращение: зажать среднюю кнопку мыши + левую кнопку (ЛКМ).
- Панорамирование: зажать среднюю кнопку мыши.
- Масштабирование: колесо мыши

[С чего начать?]

1. Скачайте FreeCAD с официального сайта freecad.org.

2. Изучите интерфейс — разберитесь с древесом проекта и переключением верстаков.

3. Начните с верстака Part Design — он наиболее популярен для создания механических деталей

4. Рабочий процесс в Part Design:

   - Создайте тело (Body)
   - Нарисуйте эскиз (Sketch) на плоскости
   - Примените ограничения для точного задания размеров
   - Используйте выдавливание (Pad) для создания 3D-формы
   - Добавляйте новые эскизы на грани и используйте вырезание (Pocket) или другие операции

5. Не бойтесь ошибаться — благодаря параметричности, вы всегда можете вернуться и изменить параметры.

Ресурсы для обучения

- Официальная вики: wiki.freecad.org (есть разделы на русском языке).
- Форум сообщества: активная помощь от пользователей.
- Видеоуроки на русском доступны на Rutube и YouTube.

FreeCAD — мощный бесплатный инструмент, который может успешно заменить коммерческие САПР для большинства задач хобби-проектирования и малого бизнеса.

[Установка на Ubuntu]

sudo apt install freecad

sudo add-apt-repository ppa:freecad-maintainers/freecad-stable
sudo apt update
sudo apt install freecad

[Другие варианты установки]

1. Установить через Flatpak

Установка Flatpak (если ещё не установлен):

sudo apt install flatpak

Добавление Flathub:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Установка FreeCAD:

flatpak install flathub org.freecadweb.FreeCAD

2. Для старых версий Debian/Ubuntu

Возможно, пакет называется по-другому. Поиск доступных пакетов:

apt search freecad

Или установка через backports (для Debian):

sudo apt install -t bookworm-backports freecad

Рекомендация: используйте способ установки через PPA (sudo add-apt-repository ppa:freecad-maintainers/freecad-stable) для получения последней стабильной версии FreeCAD. Если вы на Debian, лучше подойдёт Snap или Flatpak.

FreeCAD падает при попытке создать новый файл (меню File -> New). Если запустить freecad из консоли, то выводится сообщение об ошибке:

$ freecad
FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##
QSocketNotifier: Can only be used with threads started with QThread QOpenGLFunctions created with non-current context (qt.qpa.wayland) Wayland does not support QWindow::requestActivate() freecad: ./src/glue/gl.cpp:2234: const cc_glglue* cc_glglue_instance(int): Assertion `current_ctx && "Must have a current GL context when instantiating cc_glglue!! (Note: if you are using an old Mesa GL version, set the environment variable COIN_GL_NO_CURRENT_CONTEXT_CHECK to get around what may be a Mesa bug.)"' failed. Aborted (core dumped)

Ошибка устраняется запуском freecad с установленной переменной окружения COIN_GL_NO_CURRENT_CONTEXT_CHECK (обходной путь решения проблемы):

COIN_GL_NO_CURRENT_CONTEXT_CHECK=1 freecad 

[Другие способы решения]

1. Запуск в XWayland (рекомендуется)

 QT_QPA_PLATFORM=xcb freecad

2. Комбинация обоих флагов

COIN_GL_NO_CURRENT_CONTEXT_CHECK=1 QT_QPA_PLATFORM=xcb freecad

3. Создание скрипта запуска

Создайте файл ~/bin/freecad-fix.sh:

#!/bin/bash
export COIN_GL_NO_CURRENT_CONTEXT_CHECK=1
export QT_QPA_PLATFORM=xcb
exec freecad "$@"

Сделайте его исполняемым:

chmod +x ~/bin/freecad-fix.sh

4. Постоянное решение

Добавьте в ~/.bashrc или ~/.profile:

export COIN_GL_NO_CURRENT_CONTEXT_CHECK=1
export QT_QPA_PLATFORM=xcb

[Если проблема сохраняется]

Попробуйте установить драйверы OpenGL. Для Ubuntu/Debian:

sudo apt install mesa-utils

Для Fedora:

sudo dnf install mesa-dri-drivers

Или запустите FreeCAD с программным рендерингом (работает медленнее, но стабильнее):

LIBGL_ALWAYS_SOFTWARE=1 freecad

[Как рисовать модели в программе FreeCAD]

1. Выберите верстак `Part` (Деталь). Для этого найдите выпадающий список в верхней части окна (обычно там написано "Start") и выберите Part.

2. Создайте цилиндр. Нажмите на иконку Цилиндр на панели инструментов. Она выглядит как цилиндр с пунктирными линиями.

Готово! Модель цилиндра появится в 3D-виде, а в дереве проекта (левая панель, закладка "Model") добавится объект `Cylinder`.

Примечание: по умолчанию FreeCAD создает цилиндр радиусом 2 мм и высотой 10 мм. Нижнее основание цилиндра лежит в плоскости XY, а его центр совпадает с началом координат (точкой 0,0,0).

[Как изменить размеры]

Скорее всего, вам понадобятся другие размеры. Изменить их очень просто:

1. В дереве проекта кликните на вашем цилиндре, чтобы выделить его.
2. Внизу, во вкладке Данные (Data), найдите свойства Radius (Радиус) и Height (Высота).
3. Измените значения на нужные вам.

Свойство Angle (Угол) позволяет создать не полный цилиндр, а его сектор (например, половину или четверть). По умолчанию оно установлено в 360°.

Что делать, если цилиндр не видно? На вашем экране после выполнения команды может показаться, что ничего не произошло. Это часто случается с новичками.

Причина: цилиндр создался, но он либо очень маленький, либо находится не в центре вашего текущего вида.
Решение: нажмите комбинацию клавиш Ctrl+Shift+R или иконку "Подогнать всё" (Fit All) на панели инструментов. Вид автоматически приблизится к модели.

[Создание с заданием размеров]

Если вы хотите задать размеры цилиндра сразу при его создании, можно использовать другой метод:

1. В верстаке `Part` откройте меню Part → Primitives → Cylinder...

2. В открывшемся окне вы сможете ввести нужные значения Радиуса, Высоты и Угла, а также задать его положение в пространстве (Placement) до того, как модель появится на экране.

Просверлить отверстие в цилиндре, чтобы сделать из него трубу, можно двумя способами: вычитанием (в верстаке Part) или вырезанием (в верстаке Part Design). Первый способ проще для новичков.

Способ 1: Вычитание (Part → Cut)

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

1. Создайте внешний цилиндр

   Выберите верстак Part.
   Нажмите иконку Цилиндр.
   В свойствах (вкладка Данные) задайте нужный Радиус и Высоту (например, Радиус 10мм, Высота 20мм).

2. Создайте внутренний цилиндр (сверло)

   Снова нажмите иконку Цилиндр.
   В свойствах задайте для него Радиус, равный радиусу вашего будущего отверстия (например, 5мм).

Важное замечание: высота этого цилиндра должна быть равной или больше высоты внешнего цилиндра (например, 20мм или 25мм).

3. Совместите их по центру

   Выделите внутренний цилиндр (тот, что меньшего радиуса).
   В свойствах найдите раздел Placement (Размещение) → нажмите на кнопку с тремя точками `...` справа от `Position`.
   Убедитесь, что координаты x и y равны 0. Это гарантирует, что он находится точно в центре внешнего цилиндра.
   Если нужно сдвинуть отверстие по высоте (например, сделать глухое отверстие, а не сквозное), измените координату z. Но для сквозной трубы оставьте 0.

4. Выполните вычитание (Cut)

   Сначала выделите внешний (большой) цилиндр.
   Затем, зажав клавишу Ctrl, выделите внутренний (маленький) цилиндр. Важен порядок выбора: сначала большой, потом маленький.
   Нажмите кнопку Вычитание (Cut) на панели инструментов (иконка с двумя кругами — синим и белым).

FreeCAD Cut tool

Результат: у вас появится новый объект `Cut`. Если вы зайдете внутрь, то увидите, что цилиндр теперь полый — это труба.

Способ 2: Вырезание эскизом (Part Design → Pocket)

Этот способ использует "инструментальный подход". Вы рисуете круг на торце цилиндра и "выдавливаете" его внутрь.

1. Создайте тело и цилиндр

   Выберите верстак Part Design.
   Нажмите Создать тело (Create Body).
   Нажмите Создать эскиз (Create Sketch) и выберите плоскость XY (нижнее основание).
   Нарисуйте круг (инструмент `Circle`), поставьте центр круга в точку пересечения осей (красные и зеленые линии).
   Задайте диаметр круга (это будет внешний диаметр трубы). Закройте эскиз.
   Выделите эскиз и нажмите Выдавливание (Pad). Задайте высоту цилиндра.

2. Создайте отверстие

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

3. В появившемся окне задайте:

   Тип: `Насквозь (Through all)` (если нужна сквозная труба).
   Или Размер (Dimension) и введите глубину (если нужно глухое отверстие).
   Нажмите `OK`.

Результат: у вас получится аккуратная труба в рамках технологии Part Design.

Оба способа правильные. Первый (Part → Cut) быстрее и нагляднее для понимания логики "вычитания".

[Можно сразу сделать трубку]

1. Выберите верстак `Part` (Деталь). Для этого найдите выпадающий список в верхней части окна (обычно там написано "Start") и выберите Part.
2. Создайте трубку. Нажмите на иконку Труба (Create tube) на панели инструментов.

Готово! Модель трубки появится в 3D-виде.

[Как сгенерировать STL для печати на 3D-принтере]

Сгенерировать STL-файл из вашей модели в FreeCAD очень просто. Самый быстрый способ — использовать меню Файл → Экспорт (File → Export...), но для получения качественного результата перед этим нужно настроить один важный параметр.

Вот пошаговая инструкция, которая подойдет для любой модели, включая цилиндр с отверстием.

Шаг 1: Настройка качества сетки (важный момент)

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

1. Активируйте верстак "Mesh". Для этого посмотрите на верхнюю панель инструментов FreeCAD, где обычно написано "Start" (Старт). Кликните по этому выпадающему списку и выберите из него Mesh (Сетки).

2. Откройте меню Правка → Настройки... (Edit → Preferences...).

3. В левой колонке выберите Импорт/Экспорт (Import-Export).

4. Перейдите на вкладку Форматы сетки (Mesh Formats).

5. Найдите параметр "Максимальное отклонение полигональной сетки" (Maximum mesh deviation).

6. Измените значение с `0,10 mm` на `0,05 mm` или `0,02 mm` . Чем меньше число, тем выше качество и плавнее будут кривые. Нажмите `OK`, чтобы сохранить настройки.

Теперь, когда вы будете экспортировать модель в STL через Файл → Экспорт..., она создастся с высоким качеством.

Если вам не хочется менять настройки для всех файлов, вы можете воспользоваться верстаком Mesh для разового экспорта с нужными параметрами:

1. Активируйте верстак Mesh, как описано выше.

2. Выделите вашу модель в Древе проекта.

3. В главном меню выберите Сетки → Создать сетку из формы....

4. В появившемся окне выберите вкладку Стандартный (Standard). Здесь вы сможете вручную задать Отклонение поверхности (Surface deviation) — это аналог того самого параметра, который вы искали.

5. Нажмите OK. В дереве появится новый объект-сетка (с зеленой иконкой).

6. Кликните на нем правой кнопкой мыши и выберите Экспорт сетки..., чтобы сохранить его как STL.

Этот способ удобен, когда для конкретной модели нужны особые настройки, отличные от стандартных.

Шаг 2: Экспорт модели в STL

Теперь, когда качество настроено, можно экспортировать вашу модель.

1. Выделите модель в дереве проекта, которую хотите напечатать (например, `Cut`, если вы делали вычитание, или `Body`, если работали в Part Design).

2. Откройте меню Файл → Экспорт... или нажмите сочетание клавиш `Ctrl` + `E`.

3. В появившемся окне в поле Тип файла выберите `STL mesh (*.stl *.ast)`.

4. Введите имя файла и выберите папку для сохранения.

5. Нажмите Сохранить.

Готово! Файл готов для загрузки в программу-слайсер (например, Ultimaker Cura, PrusaSlicer или Bambu Studio).

Описанный выше метод подходит для 99% случаев. Но есть и второй способ, который дает больше контроля. Он использует Верстак Mesh (Сетки). Этот метод предпочтителен для сложных моделей, так как позволяет проверить и при необходимости исправить сетку до экспорта.

1. Переключитесь на верстак Mesh (Сетки) в выпадающем списке верстаков.

2. Выделите вашу модель в дереве проекта.

3. В главном меню выберите Сетки → Создать сетку из формы...

4. В окне выберите один из алгоритмов создания сетки (обычно оставляют `Standard`) и вручную задайте параметры Отклонение поверхности (Surface deviation) и Угловое отклонение (Angular deflection), которые влияют на качество.

5. Нажмите `OK`. В дереве проектов появится новый объект с зеленой иконкой — это ваша готовая сетка.

6. Нажмите на него правой кнопкой мыши и выберите Экспорт сетки... , затем сохраните как STL.

Этот метод полезен, если вам нужно объединить несколько объектов в одну сетку перед экспортом или проверить модель на ошибки.

Дополнительные замечания:

1. Единицы измерения. FreeCAD считает, что ваша модель спроектирована в миллиметрах. Если вы использовали дюймы, модель необходимо масштабировать.

2. Ошибка "Неправильная модель". Если слайсер ругается на файл, это может означать, что в модели есть "дырки" (она не "водонепроницаема"). В FreeCAD это можно исправить инструментами верстака `Mesh` (например, `Заполнить отверстия`) или `Part` (`Создать форму из сетки` → `Преобразовать в твердое тело` → `Уточнить форму`).

[Ссылки]

1. FreeCAD Установка в Linux.
2. OpenSCAD: редактор 3D-моделей для программистов.