Эти библиотеки не изменились в проекте FreeCAD. Они используются, в основном без изменений как динамические библиотеки (*.so или *.dll). Если их необходимо их изменение или нужен класс оболочка(wrapper class), тогда код оболочки или измененный код библиотеки помещается в пакет базовой установки FreeCAD. The used libraries are:
Рассмотрим используемый Набор библиотек вместо загрузки и установки всего по вашему усмотрению.
Имя библиотеки | Необходимая Версия | Ссылка на неё |
---|---|---|
Python | >= 2.5.x | http://www.python.org/ |
OpenCasCade | >= 5.2 | http://www.opencascade.org |
Qt | >= 4.1.x | http://www.qtsoftware.com |
Coin3D | >= 2.x | http://www.coin3d.org |
ODE | >= 0.10.x | http://www.ode.org |
SoQt | >= 1.2 | http://www.coin3d.org |
Xerces-C++ | >= 2.7.x < 3.0 | http://xml.apache.org/xerces-c/ |
GTS | >= 0.7.x | http://gts.sourceforge.net/ |
Zlib | >= 1.x.x | http://www.zlib.net/ |
Boost | >= 1.33.x | http://www.boost.org/ |
Eigen3 | >= 3.0.1 | http://eigen.tuxfamily.org/index.php?title=Main_Page |
Версия: 2.5 или выше
Лицензия: Python 2.5 license
Вы можете использовать исходники или бинарники из http://www.python.org/ или в качестве альтернативы использовать ActiveState Python от http://www.activestate.com/ хотя немножко сложно получить отладочные библиотеки от ActiveState.
Python является основным языком сценариев и используются во всем приложении. Например:
Особенно используется динамическая загрузка пакетов в Python, для загрузки во время выполнения дополнительной функциональности или инструментария, необходимых для актуальных задач. Для ближайшего рассмотрения Python см: www.python.org Вы можете спросить, почему Python? Есть несколько причин: До сих пор я использовал различные языки сценариев в моей профессиональной жизни:
Python более OO(Объектно Ориентирован) чем Perl и Tcl, его код не беспорядочен как в Perl и VB. Java не является языком сценариев, в первую очередь потому что её трудно (или невозможно) встроить. Python отлично задокументирован, его просто встраивать и расширять. Он также хорошо протестирован и обладает сильным влиянием в open source сообществе.
Благодарим Guido van Rossum и множество людей что сделали Python таким успешным!
Версия: 5.2 и выше
Лицензия: OCTPL
OCC это полнофункциональное CAD Ядро. Первоначально, оно разрабатывалось французской компанией Matra Datavision для приложений Strim (Styler) и Euclid Quantum позже его код открыли. Это действительно огромная библиотека сделавшая создание свободного CAD приложения - возможным, в первую очередь, предоставив некоторые пакеты которые трудно или невозможно было реализовать как проект с открытым исходным кодом:
Чтобы узнать больше о OpenCasCade посмотрите странице OpenCasCade или http://www.opencascade.org.
Версия: 4.1.x или выше
Лицензия: GPL v2.0/v3.0 или коммерческая (для Версии 4.5 он также LPGL v2.1)
Я не думаю, что нужно много рассказывать о Qt. Это один из наиболее часто используемых инструментальных средств графического интерфейса в проектах с открытым исходным кодом.Для меня главным в использовании Qt является Qt Designer, и возможность загрузить целый диалоговых окон, как (XML) ресурсов и включение специализированных виджетов. В CAx приложениях взаимодействие с пользователем и диалоговые окна на сегодняшний день являются большей частью кода и хорошее проектирование диалогов очень важно для простого расширения FreeCAD новой функциональностью. Дополнительную информацию и очень качественную online документацию вы можете найти на http://www.qtsoftware.com.
Версия: 2.0 и выше
Лицензия: GPL v2.0 или коммерческая
Coin это высокоуровневая библиотека 3D графики с C++ API. Coin использует структуры данных в виде древа сцен для отображения графики в реальном времени, подходит для большинства в основном научных и инженерных приложений визуализации.
Coin портирован на широкий спектр платформ: любая UNIX / Linux / *BSD платформа, все операционные системы Microsoft Windows, и Mac OS X.
Coin построен на стандарте-индустрии OpenGL библиотеки в режиме немедленного рендеринга, и добавляет абстракции для высокоуровневых примитивов, обеспечивает 3D интерактивность, очень повышает удобство и производительность программиста, и содержит много сложных функций оптимизации для быстрого рендеринга, которые являются прозрачными для прикладного программиста.
Coin основан на SGI Open Inventor API. Open Inventor, для тех кто не знаком с ним , уже давно стал стандартом де-факто графической билиотеки для 3D визуализации и програмного обеспечения для визуального моделирования в научном и инженерном сообществе. Она доказала это в теченнии 10 лет, как зрелый вклад в качестве основного строительного блока в тысячи крупномасштабных инженерных приложений по всему миру.
Мы будем использовать OpenInventor как 3D просмотрщик в FreeCAD потому что OpenCasCade просмотрщик (AIS и Graphics3D) имеют серьёзные ограничения и узкие места в производительности, особенно когда речь заходит о крупномасштабном инженерном отображении. Всякие вещи, вроде текстур или объемного рендеринга на самом деле не поддерживаются, и так далее ....
Так Версия 2.0 Coin использует различные модели лицензирования. Это больше не LGPL. Они используют GPL для проектов с открытым исходным кодом и коммерческую лицензию для закрытого исходного кода. Это означает, что если вы хотите продать вашу работу основанную на FreeCAD (модули расширений) вам нужно приобрести лицензию на Coin!
Версия: 1.2.0 или выше
Лицензия: GPL v2.0 или коммерческая
SoQt это Inventor привязки к Qt Gui Toolkit. К сожалению это больше не LGPL так что мы должны удалить её из кодовой базы FreeCAD и связать её как библиотеку. Он имеет ту же модель лицензирования, что и coin. И вы должны скомпилировать его с вашей версией Qt.
Версия: 2.7.0 или выше
Лицензия: Apache Software License Версия 2.0
Xerces-C++ синтаксический анализатор XML написанный на портируемом подмножестве C++. Xerces-C++ позволяет вашему приложению легко читать и записывать XML данные. Динамическая библиотека предназначена для анализа, генерации, обработки и проверки XML документов.
Xerces-C++ привержен XML 1.0 рекомендациям и многим связанным с ним стандартам (смотри Будущие возможности).
Анализатор обеспечивает высокую производительность, модульность и масштабируемость. Исходный код, образцы и API документация предоставляются с анализатором. Приняты меры, для переносимости, чтобы сделать минимальным использованием шаблонов, нет RTTI, и минимальное использование # ifdefs.
Анализатор используется для сохранения и восстановления параметров в FreeCAD.
Версия: 1.x.x
Лицензия: zlib License
zlib разработан для свободного, универсального, юридически неизрасходованного - то есть, не отнесенного к какому-либо патенту - библиотека сжатия данных без потерь для использования практически на любом оборудовании и операционной системе. zlib формат данных самопереносимый между платформами. В отличие от метода сжатия LZW используемого в Unix compress(1) и GIF формата изображений, метод сжатия используемый в настоящее время в zlib по существу , никогда не расширяет данные. (LZW может удвоить или утроить размер файла в крайних случаях.) память требуемая zlib не зависит от входных данных и может быть уменьшена, при необходимости, в таких расходах на сжатие.
Версия: 1.33.x
Лицензия: Boost Software License - Версия 1.0
Boost C++ библиотеки это коллекция рецензируемых библиотек, с открытым исходным кодом, они расширяют функциональные возможности C++. Библиотеки лицензируется на условиях Boost Software License, которая позволяет использовать Boost с проектами как с открытым так и с закрытым исходным кодом. Многие основатели Boost входят в комитет стандартизации C++ и несколько Boost библиотек приняты для включения в Technical Report 1 о C++0x.
Библиотеки направлены на широкий круг пользователей C++ и прикладных областей. Они варьируются от универсальных библиотек вроде SmartPtr, до ОС Абстракций как FileSystem, библиотеки направленные в первую очередь на разработчиков библиотек и продвинутых C++ пользователей, таких как MPL.
В целях обеспечения эффективности и гибкости, Boost широко использует шаблоны. Boost был источником обширной работы и исследований в обобщенном программировании и мета-программирование на С++.
Смотри: http://www.boost.org/ для подробностей.
Version: N/A
License: New BSD (BSD 3-Clause)
Area is a piece of software created by Dan Heeks for HeeksCNC. It is employed as a library for generation of CAM related operations in the Path Workbench.
LibPack это удобный пакет со всеми вашими библиотеками упакованными вместе. Он в настоящее время доступен для платформы Windows на странице Загрузок ! Если вы работаете в Linux вам не нужен LibPack, вы должны использовать репозитории пакетов вашего дистрибутива Linux..