235 lines
24 KiB
HTML
235 lines
24 KiB
HTML
<html><head><title>Third Party Libraries/ru</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>Third Party Libraries/ru</h1></div>
|
||
|
||
<div id="mw-content-text" lang="ru" dir="ltr" class="mw-content-ltr"><hr/>
|
||
<div class="mw-parser-output"><div class="mw-translate-fuzzy">
|
||
<div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
|
||
<ul>
|
||
<li class="toclevel-1 tocsection-1"><a href="#.D0.9E.D0.B1.D0.B7.D0.BE.D1.80"><span class="tocnumber">1</span> <span class="toctext">Обзор</span></a></li>
|
||
<li class="toclevel-1 tocsection-2"><a href="#Links"><span class="tocnumber">2</span> <span class="toctext">Links</span></a></li>
|
||
<li class="toclevel-1 tocsection-3"><a href="#.D0.9F.D0.BE.D0.B4.D1.80.D0.BE.D0.B1.D0.BD.D0.B0.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D1.8F"><span class="tocnumber">3</span> <span class="toctext">Подробная информация</span></a>
|
||
<ul>
|
||
<li class="toclevel-2 tocsection-4"><a href="#Python"><span class="tocnumber">3.1</span> <span class="toctext">Python</span></a>
|
||
<ul>
|
||
<li class="toclevel-3 tocsection-5"><a href="#.D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5"><span class="tocnumber">3.1.1</span> <span class="toctext">Описание</span></a></li>
|
||
<li class="toclevel-3 tocsection-6"><a href="#.D0.91.D0.BB.D0.B0.D0.B3.D0.BE.D0.B4.D0.B0.D1.80.D0.BD.D0.BE.D1.81.D1.82.D0.B8"><span class="tocnumber">3.1.2</span> <span class="toctext">Благодарности</span></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toclevel-2 tocsection-7"><a href="#OpenCasCade"><span class="tocnumber">3.2</span> <span class="toctext">OpenCasCade</span></a></li>
|
||
<li class="toclevel-2 tocsection-8"><a href="#Qt"><span class="tocnumber">3.3</span> <span class="toctext">Qt</span></a></li>
|
||
<li class="toclevel-2 tocsection-9"><a href="#Coin3D"><span class="tocnumber">3.4</span> <span class="toctext">Coin3D</span></a></li>
|
||
<li class="toclevel-2 tocsection-10"><a href="#SoQt"><span class="tocnumber">3.5</span> <span class="toctext">SoQt</span></a></li>
|
||
<li class="toclevel-2 tocsection-11"><a href="#Xerces-C.2B.2B"><span class="tocnumber">3.6</span> <span class="toctext">Xerces-C++</span></a></li>
|
||
<li class="toclevel-2 tocsection-12"><a href="#Zlib"><span class="tocnumber">3.7</span> <span class="toctext">Zlib</span></a></li>
|
||
<li class="toclevel-2 tocsection-13"><a href="#Boost"><span class="tocnumber">3.8</span> <span class="toctext">Boost</span></a></li>
|
||
<li class="toclevel-2 tocsection-14"><a href="#libarea"><span class="tocnumber">3.9</span> <span class="toctext">libarea</span></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toclevel-1 tocsection-15"><a href="#LibPack"><span class="tocnumber">4</span> <span class="toctext">LibPack</span></a>
|
||
<ul>
|
||
<li class="toclevel-2 tocsection-16"><a href="#FreeCADLibs7.x_.D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">4.1</span> <span class="toctext">FreeCADLibs7.x Изменения</span></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<h3><span class="mw-headline" id=".D0.9E.D0.B1.D0.B7.D0.BE.D1.80">Обзор</span></h3>
|
||
<p>Эти библиотеки не изменились в проекте FreeCAD. Они используются, в основном без изменений как динамические библиотеки (*.so или *.dll). Если их необходимо их изменение или нужен класс оболочка(wrapper class), тогда код оболочки или измененный код библиотеки помещается в пакет базовой установки FreeCAD.
|
||
The used libraries are:
|
||
</p>
|
||
</div>
|
||
<div class="mw-translate-fuzzy">
|
||
<p>Рассмотрим используемый <a href="#LibPack">Набор библиотек</a> вместо загрузки и установки всего по вашему усмотрению.
|
||
</p>
|
||
</div>
|
||
<h3><span class="mw-headline" id="Links">Links</span></h3>
|
||
<div class="mw-translate-fuzzy">
|
||
<table class="wikitable" style="text-align:left">
|
||
<caption> Link table
|
||
</caption>
|
||
<tr>
|
||
<th> Имя библиотеки </th>
|
||
<th> Необходимая Версия </th>
|
||
<th> Ссылка на неё
|
||
</th></tr>
|
||
<tr>
|
||
<td> Python </td>
|
||
<td> >= 2.5.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.python.org/">http://www.python.org/</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> OpenCasCade </td>
|
||
<td> >= 5.2 </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.opencascade.org">http://www.opencascade.org</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Qt </td>
|
||
<td> >= 4.1.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.qtsoftware.com">http://www.qtsoftware.com</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Coin3D </td>
|
||
<td> >= 2.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.coin3d.org">http://www.coin3d.org</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> ODE </td>
|
||
<td> >= 0.10.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.ode.org">http://www.ode.org</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> SoQt </td>
|
||
<td> >= 1.2 </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.coin3d.org">http://www.coin3d.org</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Xerces-C++ </td>
|
||
<td> >= 2.7.x < 3.0 </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://xml.apache.org/xerces-c/">http://xml.apache.org/xerces-c/</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> GTS </td>
|
||
<td> >= 0.7.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://gts.sourceforge.net/">http://gts.sourceforge.net/</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Zlib </td>
|
||
<td> >= 1.x.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.zlib.net/">http://www.zlib.net/</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Boost </td>
|
||
<td> >= 1.33.x </td>
|
||
<td> <a rel="nofollow" class="external free" href="http://www.boost.org/">http://www.boost.org/</a>
|
||
</td></tr>
|
||
<tr>
|
||
<td> Eigen3 </td>
|
||
<td> >= 3.0.1 </td>
|
||
<td> <a rel="nofollow" class="external free" href="https://www.freecadweb.org/wiki/index.php?title=Main_Page">http://eigen.tuxfamily.org/index.php?title=Main_Page</a>
|
||
</td></tr></table>
|
||
</div>
|
||
<h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.80.D0.BE.D0.B1.D0.BD.D0.B0.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D1.8F">Подробная информация</span></h3>
|
||
<h4><span class="mw-headline" id="Python">Python</span></h4>
|
||
<p><b>Версия:</b> 2.5 или выше
|
||
</p><p><b>Лицензия:</b> Python 2.5 license
|
||
</p><p>Вы можете использовать исходники или бинарники из <a rel="nofollow" class="external free" href="http://www.python.org/">http://www.python.org/</a> или в качестве альтернативы использовать ActiveState Python от <a rel="nofollow" class="external free" href="http://www.activestate.com/">http://www.activestate.com/</a> хотя немножко сложно получить отладочные библиотеки от ActiveState.
|
||
</p>
|
||
<div class="mw-translate-fuzzy">
|
||
<h5><span class="mw-headline" id=".D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5">Описание</span></h5>
|
||
<p>Python является основным языком сценариев и используются во всем приложении.
|
||
Например:
|
||
</p>
|
||
<ul><li> Реализация сценариев для тестирования на:
|
||
<ul><li> утечки памяти</li>
|
||
<li> обеспечить предоставление функциональности после изменений</li>
|
||
<li> проверки после сборки</li>
|
||
<li> испытаний тестового покрытия</li></ul></li>
|
||
<li> Макросы и запись макросов</li>
|
||
<li> Реализация логики приложения для стандартных пакетов</li>
|
||
<li> Реализация цельных Инструментариев</li>
|
||
<li> Динамическая загрузка пакетов</li>
|
||
<li> Реализация правил проектирования (Инженерия знаний)</li>
|
||
<li> Выполнение некоторых модных Internet фишек, как групповая работа и PDM</li>
|
||
<li> И так далее ...</li></ul>
|
||
</div>
|
||
<p>Особенно используется динамическая загрузка пакетов в Python, для загрузки во время выполнения дополнительной функциональности или инструментария, необходимых для актуальных задач. Для ближайшего рассмотрения Python см: www.python.org Вы можете спросить, почему Python? Есть несколько причин: До сих пор я использовал различные языки сценариев в моей профессиональной жизни:
|
||
</p>
|
||
<ul><li> Perl</li>
|
||
<li> Tcl/Tk</li>
|
||
<li> VB</li>
|
||
<li> Java</li></ul>
|
||
<p>Python более OO(Объектно Ориентирован) чем Perl и Tcl, его код не беспорядочен как в Perl и VB. Java не является языком сценариев, в первую очередь потому что её трудно (или невозможно) встроить. Python отлично задокументирован, его просто встраивать и расширять. Он также хорошо протестирован и обладает сильным влиянием в open source сообществе.
|
||
</p>
|
||
<h5><span class="mw-headline" id=".D0.91.D0.BB.D0.B0.D0.B3.D0.BE.D0.B4.D0.B0.D1.80.D0.BD.D0.BE.D1.81.D1.82.D0.B8">Благодарности</span></h5>
|
||
<p>Благодарим Guido van Rossum и множество людей что сделали Python таким успешным!
|
||
</p>
|
||
<h4><span class="mw-headline" id="OpenCasCade">OpenCasCade</span></h4>
|
||
<p><b>Версия:</b> 5.2 и выше
|
||
</p>
|
||
<div class="mw-translate-fuzzy">
|
||
<p><b>Лицензия:</b> OCTPL
|
||
</p>
|
||
</div>
|
||
<p>OCC это полнофункциональное CAD Ядро. Первоначально, оно разрабатывалось французской компанией Matra Datavision для приложений Strim (Styler) и Euclid Quantum позже его код открыли. Это действительно огромная библиотека сделавшая создание свободного CAD приложения - возможным, в первую очередь, предоставив некоторые пакеты которые трудно или невозможно было реализовать как проект с открытым исходным кодом:
|
||
</p>
|
||
<ul><li> Полностью STEP совместимое геометрическое ядро</li>
|
||
<li> Топологические модели данных и все необходимые функции для работы с ними (отрезать, слить, вытянуть, и так далее. . . )</li>
|
||
<li> Стандартные процессоры Импорта- / Экспорта в STEP, IGES, VRML</li>
|
||
<li> 3D и 2D просмотрщики с поддержкой выбора(выделения)</li>
|
||
<li> Структуры данных документа и проекта с поддержкой сохранения и восстановления, внешне связанных документов, перечитывания истории проектирования (параметрическое моделирование) и средство для загрузки новых типов данных как динамически расширяемых пакетов</li></ul>
|
||
<p>Чтобы узнать больше о OpenCasCade посмотрите странице OpenCasCade или <a rel="nofollow" class="external free" href="http://www.opencascade.org">http://www.opencascade.org</a>.
|
||
</p>
|
||
<h4><span class="mw-headline" id="Qt">Qt</span></h4>
|
||
<p><b>Версия:</b> 4.1.x или выше
|
||
</p><p><b>Лицензия:</b> GPL v2.0/v3.0 или коммерческая (для Версии 4.5 он также LPGL v2.1)
|
||
</p><p>Я не думаю, что нужно много рассказывать о Qt. Это один из наиболее часто используемых инструментальных средств графического интерфейса в проектах с открытым исходным кодом.Для меня главным в использовании Qt является Qt Designer, и возможность загрузить целый диалоговых окон, как (XML) ресурсов и включение специализированных виджетов. В CAx приложениях взаимодействие с пользователем и диалоговые окна на сегодняшний день являются большей частью кода и хорошее проектирование диалогов очень важно для простого расширения FreeCAD новой функциональностью. Дополнительную информацию и очень качественную online документацию вы можете найти на <a rel="nofollow" class="external free" href="http://www.qtsoftware.com">http://www.qtsoftware.com</a>.
|
||
</p>
|
||
<h4><span class="mw-headline" id="Coin3D">Coin3D</span></h4>
|
||
<div class="mw-translate-fuzzy">
|
||
<p><b>Версия:</b> 2.0 и выше
|
||
</p>
|
||
</div>
|
||
<p><b>Лицензия:</b> GPL v2.0 или коммерческая
|
||
</p><p>Coin это высокоуровневая библиотека 3D графики с C++ API. Coin использует структуры данных в виде древа сцен для отображения графики в реальном времени, подходит для большинства в основном научных и инженерных приложений визуализации.
|
||
</p><p>Coin портирован на широкий спектр платформ: любая UNIX / Linux / *BSD платформа, все операционные системы Microsoft Windows, и Mac OS X.
|
||
</p><p>Coin построен на стандарте-индустрии OpenGL библиотеки в режиме немедленного рендеринга, и добавляет абстракции для высокоуровневых примитивов, обеспечивает 3D интерактивность, очень повышает удобство и производительность программиста, и содержит много сложных функций оптимизации для быстрого рендеринга, которые являются прозрачными для прикладного программиста.
|
||
</p><p>Coin основан на SGI Open Inventor API. Open Inventor, для тех кто не знаком с ним , уже давно стал стандартом де-факто графической билиотеки для 3D визуализации и програмного обеспечения для визуального моделирования в научном и инженерном сообществе. Она доказала это в теченнии 10 лет, как зрелый вклад в качестве основного строительного блока в тысячи крупномасштабных инженерных приложений по всему миру.
|
||
</p><p>Мы будем использовать OpenInventor как 3D просмотрщик в FreeCAD потому что OpenCasCade просмотрщик (AIS и Graphics3D) имеют серьёзные ограничения и узкие места в производительности, особенно когда речь заходит о крупномасштабном инженерном отображении. Всякие вещи, вроде текстур или объемного рендеринга на самом деле не поддерживаются, и так далее ....
|
||
</p><p>Так Версия 2.0 Coin использует различные модели лицензирования. Это больше не LGPL. Они используют GPL для проектов с открытым исходным кодом и коммерческую лицензию для закрытого исходного кода. Это означает, что если вы хотите продать вашу работу основанную на FreeCAD (модули расширений) вам нужно приобрести лицензию на Coin!
|
||
</p>
|
||
<h4><span class="mw-headline" id="SoQt">SoQt</span></h4>
|
||
<p><b>Версия:</b> 1.2.0 или выше
|
||
</p><p><b>Лицензия:</b> GPL v2.0 или коммерческая
|
||
</p><p>SoQt это Inventor привязки к Qt Gui Toolkit. К сожалению это больше не LGPL так что мы должны удалить её из кодовой базы FreeCAD и связать её как библиотеку. Он имеет ту же модель лицензирования, что и coin. И вы должны скомпилировать его с вашей версией Qt.
|
||
</p>
|
||
<h4><span class="mw-headline" id="Xerces-C.2B.2B">Xerces-C++</span></h4>
|
||
<p><b>Версия:</b> 2.7.0 или выше
|
||
</p><p><b>Лицензия:</b> Apache Software License Версия 2.0
|
||
</p><p>Xerces-C++ синтаксический анализатор XML написанный на портируемом подмножестве C++. Xerces-C++ позволяет вашему приложению легко читать и записывать XML данные. Динамическая библиотека предназначена для анализа, генерации, обработки и проверки XML документов.
|
||
</p><p>Xerces-C++ привержен XML 1.0 рекомендациям и многим связанным с ним стандартам (смотри Будущие возможности).
|
||
</p><p>Анализатор обеспечивает высокую производительность, модульность и масштабируемость. Исходный код, образцы и API документация предоставляются с анализатором. Приняты меры, для переносимости, чтобы сделать минимальным использованием шаблонов, нет RTTI, и минимальное использование # ifdefs.
|
||
</p><p>Анализатор используется для сохранения и восстановления параметров в FreeCAD.
|
||
</p>
|
||
<h4><span class="mw-headline" id="Zlib">Zlib</span></h4>
|
||
<p><b>Версия:</b> 1.x.x
|
||
</p><p><b>Лицензия:</b> zlib License
|
||
</p><p>zlib разработан для свободного, универсального, юридически неизрасходованного - то есть, не отнесенного к какому-либо патенту - библиотека сжатия данных без потерь для использования практически на любом оборудовании и операционной системе. zlib формат данных самопереносимый между платформами. В отличие от метода сжатия LZW используемого в Unix compress(1) и GIF формата изображений, метод сжатия используемый в настоящее время в zlib по существу , никогда не расширяет данные. (LZW может удвоить или утроить размер файла в крайних случаях.) память требуемая zlib не зависит от входных данных и может быть уменьшена, при необходимости, в таких расходах на сжатие.
|
||
</p>
|
||
<h4><span class="mw-headline" id="Boost">Boost</span></h4>
|
||
<p><b>Версия:</b> 1.33.x
|
||
</p><p><b>Лицензия:</b> Boost Software License - Версия 1.0
|
||
</p><p>Boost C++ библиотеки это коллекция рецензируемых библиотек, с открытым исходным кодом, они расширяют функциональные возможности C++. Библиотеки лицензируется на условиях Boost Software License, которая позволяет использовать Boost с проектами как с открытым так и с закрытым исходным кодом. Многие основатели Boost входят в комитет стандартизации C++ и несколько Boost библиотек приняты для включения в Technical Report 1 о C++0x.
|
||
</p><p>Библиотеки направлены на широкий круг пользователей C++ и прикладных областей. Они варьируются от универсальных библиотек вроде SmartPtr, до ОС Абстракций как FileSystem, библиотеки направленные в первую очередь на разработчиков библиотек и продвинутых C++ пользователей, таких как MPL.
|
||
</p><p>В целях обеспечения эффективности и гибкости, Boost широко использует шаблоны. Boost был источником обширной работы и исследований в обобщенном программировании и мета-программирование на С++.
|
||
</p><p>Смотри: <a rel="nofollow" class="external free" href="http://www.boost.org/">http://www.boost.org/</a> для подробностей.
|
||
</p>
|
||
<h4><span class="mw-headline" id="libarea">libarea</span></h4>
|
||
<p><b>Version:</b> N/A
|
||
</p><p><b>License:</b> New BSD (BSD 3-Clause)
|
||
</p><p>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.
|
||
</p>
|
||
<h3><span class="mw-headline" id="LibPack">LibPack</span></h3>
|
||
<p>LibPack это удобный пакет со всеми вашими библиотеками упакованными вместе. Он в настоящее время доступен для платформы Windows на странице <a href="Download.html" title="Download">Загрузок</a> ! Если вы работаете в Linux вам не нужен LibPack, вы должны использовать репозитории пакетов вашего дистрибутива Linux..
|
||
</p>
|
||
<h4><span class="mw-headline" id="FreeCADLibs7.x_.D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F">FreeCADLibs7.x Изменения</span></h4>
|
||
<ul><li> Используется QT 4.5.x и Coin 3.1.x</li>
|
||
<li> добавлена Eigen библиотека шаблонов для Robot </li>
|
||
<li> SMESH экспериментально </li></ul>
|
||
<p><br />
|
||
</p>
|
||
|
||
<div style="clear:both"></div>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div><div class="printfooter">
|
||
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=Third_Party_Libraries/ru&oldid=247625">http://www.freecadweb.org/wiki/index.php?title=Third_Party_Libraries/ru&oldid=247625</a>"</div>
|
||
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
|
||
</div>
|
||
</div>
|
||
<div id="mw-navigation">
|
||
<h2>Navigation menu</h2>
|
||
|
||
</body></html> |