Пора подготовить новый доклад к проходящему в Москве Install Fest-у, а я давно не заглядывал в FreeCAD.(3 месяца)
За это время wiki и заглавная сайта FreeCAD переехали на другой хостинг http://www.freecadweb.org/ , да и мы сменили имя с src.lgg.ru на crafting.be.
Table of Contents
Базовая Установка
Все что можно сказано в разделе CompileOnUnix . Также внизу написано как собирать ветку модуля сборки. Единственное хотел бы себе памяткой оставить работу с Unity.
Как прописать в Unity
Как зарегистрировать приложение в меню Unity.
Создаете файл с расширением .desktop в папке usr/share/applications , затем записываете там что нибудь следующего содержания.
[Desktop Entry] Version=14.1 Name=FreeCAD Comment=FreeCAD current build Exec=/home/user/source/free-cad-code/build/bin/FreeCAD Terminal=false Type=Application Icon=/home/user/source/free-cad-code/src/Gui/Icons/freecad-icon-64.png
Создание деталей
В новой версии можно будет.
Можно делать Эскизы и Рисунки на гранях
Новые инструменты для измерения величин
Оно работает удобней чем раньше и вдобавок по мимо расстояния от точки(и прочие плоскости и грани) до точки показывает проекции на оси
Новые базовые тела
Упрощенное создание твердых тел
От точек до твердых тел, раньше это делала утилита Upgrade для создания граней и инструменты из Mesh секции , для создания твердого тела, теперь сделали новый мастер.
Надписи на русском в 3D
Пока реализованы надписи в виде Shape объектов , но с поддержкой своих шрифтов.
Ждем обновления и патчинга ,визуализатора Coin3D , тогда и обычные Draft объекты смогут использовать русский язык.
Множественное копирование
Это из PartDesign модуля, предназначенное для массового копирования объектов созданных из эскизов, таким образом например создав эскиз и карман(Pad) в виде ромба, мы создали линейный массив.
Таким образом, можно делать объекты вроде шестеренок, копированием зуба. О с учетом плавающего по форуму макроса для создания отверстий, это очень замечательное нововведение.
Вытягивание , создание толщиных объектов и пазов
Утилиты из Part рабочего стола ,вроде Utily to apply thickness и Utility to offset, а также уже существовавшие Sweep и Loft
Прочие плюшки
Export в luxrender и общая работа с рендером
Улучшена работа с внешними ренедрами напрямую ,можно уже располагать освещение и камеру, а также выбирать движок рендееринга и размещать камеру.
Итог официальной ветки
И еще много всего в ArchModule и прочем, но релиз очень большой и инструментов стало больше, удобство работы с инструментами выросло.
Не хватает работы с резьбой.. в упрощенном виде.
Переход с PyQt на PySide
Собственно FreeCAD всегда занимал BSD подобную позицию , т.е. разрешается использование кода для создания коммерческих продуктов. И переход PyQt на PySide тоже сделан для этого.
Assembly [В отдельной ветке]
Первое что стоит заметить и что внесло свои коррективы в архитектуру FreeCAD , это Assembly branch и хотя она существует отдельно это, инструменты медленно но верно изменяются под стать её идеологии.
Установка
git clone git://git.code.sf.net/p/free-cad/code free-cad-code cd free-cad-code/ git branch -r origin/HEAD -> origin/master origin/dev-units origin/dvdjimmy/MachDist origin/jriegel/dev-assembly origin/logari81/PartDesign origin/logari81/PartDesignPattern origin/logari81/sketch-diagnostics origin/logari81/sketcher origin/master origin/releases/FreeCAD-0-13 origin/sanguinariojoe-plot origin/sanguinariojoe-ship origin/snaptools origin/surfaces origin/wmayer/double-precision origin/wmayer/featurepython origin/wmayer/pcl-testing origin/wmayer/remote-debugger origin/yorik/archstyles
Меняем ветки
git checkout jriegel/dev-assembly mkdir Build && cd Build cmake - DCMAKE_BUILD_TYPE=Debug ../ make ./bin/FreeCAD
Принципы
Теперь хотелось бы пояснить на каких принципах построен Assembly Module
Рассмотрим локальные и глобальные системы координат используемые в FreeCAD и перенесенные в модуль Сборки.
С начало на простом примере, попробуйте создать цилиндр и сферу. Как видно у цилиндра центр находится в центре нижнего основания именно от него отсчитывается вверх высота именно от этой точки рассчитывается положение в пространстве. Это просто и удобно, в то же время центр параллелепипеда(Box) это не его центр(как у сферы), даже не центр нижнего основания(как у цилиндра), а всего лишь один из углов. Но для объекта вроде параллелепипед точка отсчета всегда будет там. Теперь давайте сместим любой из этих объектов относительно Глобальной точки(центра) координат
- глобального нуля ваше сборки.
После того как вы сместите тело, экспортируйте его в STEP(это важно, не копировать а именно через импорт экспорт) , а потом создайте такое же тело в другом файле и импортируйте предыдущее.
Итак что у вас есть: новое тело в системе координат нового файла, а также экспортированное тело которое располагается в смещенном состоянии. Но вот в чем загвоздка ,если вы посмотрите на координаты экспортированного тела то там будет написано 0,0,0 . И теперь вы понимаете что начало координат в экспортируемом файле стало локальным началом координат в .. новом файле.
Также и с сборками и подсборками. Если вы знакомы с программированием … то это что-то похожее на области видимости переменных, внутри подсборки может быть сколько угодно несвязанных объектов расположенных относительно глобальной системы координат подсборки, но для внешней сборки , подсборка это единый объект исходная(локальная) точка которого от которой и рассчитывается положение объекта — это центр глобальной системы координат подсборки.
FEM [В отдельной ветке]
Основные подвижки уже внесены в основное дерево freecad , теоретически под Windows версией FreeCAD может работать с генератором сеток NetGen ,как это попробовать по Linux не написано и вообще ветка форума молчит.
Но разработчик сказал что для полной интеграции решателей не хватает перенести только функции постпроцессора(в данном случае показ данных расчетов).
CAM [В отдельной ветке]
Здесь все плохо все обсуждают какой софт выбрать PyCAM, BlenderCAM ,так что интегрированного в FreeCAD решения пока нет и не видно
Вот можете попробовать пост процессор, он показывает работу станка по вашему G-code
Таблицы и графики
ну вот интегрировали в FreeCAD работу с Matplotlib , зачем, не знаю, пока не могу представить применения, также теперь можно создавать таблицы
http://www.freecadweb.org/wiki/index.php?title=Plot_MultiAxes_tutorial
Материалы
Зачем это нужно и как работает
Вы назначаете указанной детали или форме материал, затем эти свойства используются для расчета например массы или используются CAE решателем, для расчетов прочности или теплопроводности.
Главное для работы с материалом это name , с названием , а какие конкретно свойства есть у материала, первоначально FreeCAD не интересует.
Как это потестировать
а вот никак… хотя
find .|grep "Material.py"
Сторонние
BOLT
BOLT в #FreeCAD или библиотека открытых технических спецификаций и моделей http://jreinhardt.github.io/BOLTS/index.html
FreeCAD BOLT требует python-yaml ,также прописать директорию со скриптом Preferences->Main->Macro
С Наступающим 2014!!