Сайт проекта по адаптации САПР FreeCAD под стандарты СНГ

Данный проект имеет целью консолидацию усилий русскоязычного сообщества для доработки, внедрения в архитектуру САПР FreeCAD, особенно в модуль TechDraw опции для работы по стандартам ГОСТ-ЕСКД (ГОСТ 2.1xx, ГОСТ 2.2xx, ГОСТ 2.3xx) и параллельно популяризации FreeCAD на территории стран СНГ.

На данный момент цель сайта представить в одном месте основную информацию, новости FreeCAD на русском языке, помочь сориентироваться двум категориям заинтересованных:

  • Программисты: энтузиасты, студенты, лица, заинтересованные в адаптации САПР FreeCAD под свои нужды, владеющие навыками программирования на C++ или Python, желающие на практике вникнуть в технологию «Open Cascade Technology», «Coin3D» и прочие. Например, для студентов участие в разработке верстака может быть основой для курсового или даже дипломного проекта.
    Также, это возможность на практике прокачать свой английский, влиться в международное комьюнити.
  • Лица, желающие помочь материально или ресурсами, спонсоры. Для вас здесь будут ссылки на разработчиков, сообщества, которые реально могут привнести в проект FreeCAD что-то, и им пригодилась бы ваша поддержка, а заодно они могли бы прислушаться к вашим пожеланиям по внедрению во FreeCAD каких-то идей, более быстрому исправлению багов.

Чем интересен FreeCAD

  • Параметрическая САПР (3D/2D), открытый исходный код, бесплатная, активно развивающаяся (см. новости);
  • FreeCAD, как с графическим интерфейсом, так и без графического интерфейса, можно встроить как модуль в свой программный продукт! Например, как Python-модуль.
  • Экспорт/импорт во все актуальные форматы файлов: DXF, SVG, STEP, IGES, STL, OBJ, DAE, SCAD, IV, IFC, и многие другие форматы, и даже есть DWG-конвертеры
  • 3D-моделлинг, с конвертацией в 2D эскизы, чертежи, табличные данные, и обратная конвертация;
    Архитектурный модуль BIM (информационное моделирование здания);
    FEM (Метод конечных элементов) для решения задач деформации твёрдого тела, теплообмена, гидродинамики;
    Внедрение стандартов ISO 129-1 (ГОСТ 2.307-2011), шаблоны Основных надписей по ГОСТ 2.104-2006;
    И многое, многое другое!…
  • Работа на платформах: Windows, macOS, Linux, Unix.

Исходный код САПР FreeCAD управляется на основе git, открыт и доступен под лицензией LGPL license. Код FreeCAD может копировать, загружать, изучать, изменять и распространять любой желающий!
Нужно понимать, что если Вы всерьёз хотите участвовать в разработке официальной ветки FreeCAD, то Ваш код должен быть предварительно одобрен ответственными за проект разработчиками, с которыми можно познакомиться на форуме проекта FreeCAD в разделе для разработчиков Development. Для начала имеет смысл почитать обращение к желающим участвовать в написании кода проекта Read this first if you want to write code for FreeCAD (перевод будет здесь).

Актуальные задачи!

Доработка шаблонов чертежей по ГОСТ

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

Замусоренные шаблоны — это:

  • затруднение ловли багов рендера шаблонов,
  • потенциальные проблемы с экспортом файлов,
  • проблемы с обменом между контрагентами,
  • кем-то перередактированные и перезалитые в репозиторий шаблоны в редакторе, который не смог нормально распарсить изначально замусоренный шаблон..
  • в конце-концов, репутация FreeCAD!

Подробнее…

Требуется аудит этого сайта специалистами

Требуется помощь в проверке и создании материалов сайта. Если Вы считаете, что нужно разместить на сайте какую-то информацию, либо заметили ошибку…

Подробнее…

Что имеет смысл почитать на настоящее время

  • Документация на английском, часть переведена на русский язык freecadweb.org/wiki/User_hub/ru и freecadweb.org/wiki/Online_Help_Toc.
    Последний 2019 год идёт достаточно активный перевод документации на русский язык. Но следует понимать, что при любых сомнениях лучше обращаться к первоисточнику на английском;
  • Тема на русскоязычной части официального форума FreeCAD, посвященная переводу документации и локализации (переводу интерфейса) forum.freecadweb.org/…;
  • Принципы развития проекта FreеCAD, архитектура кода (на английском) freecadweb.org/wiki/The_FreeCAD_source_code;
  • Как вы можете участвовать и помогать проекту FreeCAD freecadweb.org/wiki/Help_FreeCAD/ru;
  • Официальный сайт проекта FreeCAD freecadweb.org;
  • Как вызрела идея создания этого сайта forum.freecadweb.org/…;
  • Таблица сравнения известных свободных и проприетарных САПР на сайте Википедии en.wikipedia.org/wiki/Comparison….

Принципы развития FreeCAD, архитектура кода

FreeCAD является параметрической САПР (англ. CAD) (Система автоматизированного проектирования) общего назначения с открытыми исходными кодами.
FreeCAD может работать на большинстве известных операционных систем Microsoft Windows, Linux, UNIX, MacOS.

Код FreeCAD в основном написан на C++, но также в программе активно используется Python (CPython, PyCXX).
Идеология состоит в том, что любой функционал в программе, реализованный на C++ должен быть доступен через более высокоуровневый API для Python. Некоторые высокоуровневые задачи во FreeCAD пишутся исключительно на Python. При разработке модулей (верстаков) можно использовать смесь C++ и Python.

Практически весь код FreeCAD делится на две части: App (приложение) и Gui (графический пользовательский интерфейс). Это разделение прослеживается во всей файловой структуре проекта. App (приложение) содержит весь необходимый код для запуска FreeCAD из консоли (без графического интерфейса). FreeCAD может быть скомпилирован и работать как консольная программа, без необходимых для графического интерфейса библиотек. Код Gui (графического интерфейса), соответственно является уже надстройкой над основным кодом программы (App, приложение).

FreeCAD имеет модульную структуру (программную архитектуру). Практически весь функционал реализуется через модули.
Сам по себе FreeCAD — это просто контейнер для открытия/сохранения файла. Модули могут иметь графический пользовательский интерфейс, в таком случае модуль реализует еще и функции «Верстака» (Workbench). Но модуль может и не иметь графического пользовательского интерфейса.
Нужно отметить, что во FreeCAD есть самый главный (фундаментальный) модуль — «Part». Особенность модуля Part состоит в том, что он реализует интерфейсы OpenCasCade. Все другие модули, работающие с твердотельной геометрией, как правило взаимодействуют с OpenCasCade через API модуля Part.

Во FreeCAD библиотека OpenCasCade является основой для моделирования, а библиотека Coin3D (которая возможно со временем будет заменена на другую) лежит в основе 3D графического интерфейса.