Создание аддонов для FreeCAD. Урок 1. Подготовка среды разработки
Цель урока: настроить всё необходимое, чтобы создавать, тестировать и отлаживать аддоны без лишних усилий.
Дисклеймер. На pikabu нет редактора кода, поэтому код картинками, но в конце я дам ссылку на github, откуда можно будет скопировать блоки кода.
🔧 Шаг 1. Убедитесь, что у вас установлен FreeCAD
Требования:
FreeCAD версии 0.20 или новее (лучше 1.0+)
Работает на Windows, Linux или macOS
👉 Если у вас ещё нет FreeCAD — скачайте его с официального сайта:
🔗 https://www.freecad.org/downloads.php
Выберите:
Windows: .exe (установщик) или .7z (portable)
Linux: AppImage или пакет из репозитория
macOS: .dmg
💡 Совет: для обучения лучше использовать установленную версию (через установщик), так как она стабильнее и проще в настройке.
📁 Шаг 2. Найдите папку для аддонов
FreeCAD ищет пользовательские аддоны в специальной папке Mod.
Путь зависит от вашей ОС и типа установки.
✅ Как найти папку точно?
Запустите FreeCAD.
Откройте Python Console:
View → Panels → Python consoleВведите команды:
> import FreeCAD
> print(FreeCAD.getUserAppDataDir())
Нажмите Enter.
Вы увидите путь, например:
Windows (установленная версия):
C:\Users\ВашеИмя\AppData\Roaming\FreeCAD\Windows (portable):
D:\FreeCAD\data\Linux:
/home/ваше_имя/.local/share/FreeCAD/macOS:
/Users/ваше_имя/Library/Application Support/FreeCAD/
➕ Создайте папку Mod
Внутри этой директории должна быть папка Mod.
Если её нет — создайте вручную.
Пример для Windows:
C:\Users\ВашеИмя\AppData\Roaming\FreeCAD\Mod\
💡 Быстрый способ открыть папку на Windows:
Нажмите Win + R → введите %APPDATA%\FreeCAD → Enter
🖥 Шаг 3. Настройте текстовый редактор (опционально, но очень рекомендуется)
Хотя можно писать код в Блокноте, удобнее использовать редактор с:
Подсветкой синтаксиса Python
Автодополнением
Возможностью запуска скриптов
🔹 Рекомендую: Visual Studio Code (VS Code)
Скачайте и установите: https://code.visualstudio.com/
Установите расширение Python (от Microsoft)
🔹 Как открыть папку аддона в VS Code?
Запустите VS Code
File → Open Folder
Выберите папку Mod (или отдельный аддон внутри неё)
Теперь вы видите структуру проекта и можете редактировать файлы с комфортом.
🛠 Шаг 4. Изучите встроенные инструменты FreeCAD
FreeCAD уже содержит всё, что нужно для разработки.
1. Python Console
Меню: View → Panels → Python console
Позволяет выполнять команды в реальном времени
Пример: введите App.newDocument() → создастся новый документ
2. Report View
Меню: View → Panels → Report view
Показывает ошибки, предупреждения, логи
Обязательно держите открытым при тестировании аддона!
3. Macro Recorder
Меню: Macro → Macros...
Кнопка Record — записывает ваши действия в Python-код
Отличный способ изучить API FreeCAD
💡 Попробуйте:
Нажмите Macro → Start recording
Создайте коробку (Part → Box)
Остановите запись
Откройте макрос — вы увидите реальный код создания объекта.
🧪 Шаг 5. Проверка: создайте тестовую папку
Чтобы убедиться, что всё работает:
В папке Mod создайте подпапку:
TestAddon
Внутри создайте файл __init__.py (может быть пустым) — это говорит Python, что папка — модуль.
Перезапустите FreeCAD.
Откройте Report view.
Если вы не видите ошибок — значит, FreeCAD успешно сканирует папку Mod.
❗ Если появится ошибка вида ImportError — проверьте:
Правильность имени папки (без пробелов и кириллицы)
Наличие __init__.py (в новых версиях не всегда обязательно, но безопаснее добавить)
🗂 Структура папки разработчика (итог)
К концу этого урока у вас должна быть такая структура:
И вы знаете:
Где лежит Mod
Как открыть Python Console и Report View
Как использовать Macro Recorder
Как настроить VS Code (опционально)
✅ Практическое задание
Найдите папку Mod через FreeCAD.getUserAppDataDir()
Создайте папку MyFirstAddon внутри Mod
Добавьте в неё пустой файл __init__.py
Перезапустите FreeCAD
Убедитесь, что в Report view нет ошибок
🎯 Цель: FreeCAD должен запуститься без ошибок и "увидеть" вашу папку.
▶️ Что дальше?
В Уроке 2 мы создадим рабочий аддон:
Добавим кнопку
Сделаем, чтобы она что-то делала
Научимся регистрировать команды и рабочие среды
Понравилось — ставь «+»
Полезно? Подпишись.
Так я буду знать, какой контент вам интересен.
Вопросы можно задавать в комментариях 👇👇👇
Удачи! 🚀










