Third Party Libraries/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "'''Wersja:''' 3.0 lub nowsza")
(Created page with "==LibPack==")
 
(35 intermediate revisions by 2 users not shown)
Line 8: Line 8:
{{TOCright}}
{{TOCright}}


<span id="Overview"></span>
== Przegląd ==
==Informacje ogólne==

Są to biblioteki, których FreeCAD używa jako zależności od innych dostawców podczas kompilacji. Zazwyczaj są to [https://en.wikipedia.org/wiki/Dynamic_loading. Biblioteki dynamicznie łączone] i mają rozszerzenie {{incode|.so}} w Linuksie/MacOSie i {{incode|.dll}} w Windowsie, a towarzyszą im pliki nagłówkowe {{incode|.h}} lub {{incode|.hpp}} lub podobne. Jeśli potrzebna jest zmodyfikowana biblioteka lub klasa opakowująca, kod zmodyfikowanej biblioteki lub klasy opakowującej musi stać się częścią kodu źródłowego programu FreeCAD i zostać razem z nim skompilowany.
Są to biblioteki, których FreeCAD używa jako zależności od innych dostawców podczas kompilacji. Zazwyczaj są to [https://en.wikipedia.org/wiki/Dynamic_loading. Biblioteki dynamicznie łączone] i mają rozszerzenie {{incode|.so}} w Linuksie/MacOSie i {{incode|.dll}} w Windowsie, a towarzyszą im pliki nagłówkowe {{incode|.h}} lub {{incode|.hpp}} lub podobne. Jeśli potrzebna jest zmodyfikowana biblioteka lub klasa opakowująca, kod zmodyfikowanej biblioteki lub klasy opakowującej musi stać się częścią kodu źródłowego programu FreeCAD i zostać razem z nim skompilowany.


Line 15: Line 17:
Jeśli kompilujesz w systemie Windows, rozważ użycie [[#LibPack|paczki bibliotek]] zamiast próbować instalować biblioteki pojedynczo.
Jeśli kompilujesz w systemie Windows, rozważ użycie [[#LibPack|paczki bibliotek]] zamiast próbować instalować biblioteki pojedynczo.


<span id="Links"></span>
==Odnośniki internetowe==
==Odnośniki internetowe==


Line 67: Line 70:
|}
|}


<span id="Details"></span>
==Szczególy==
==Szczególy==


=== Python ===
<span id="Python"></span>
===Python===

'''Wersja:''' 3.3 lub nowsza
'''Wersja:''' 3.3 lub nowsza


Line 95: Line 101:
Podsumowując, Python jest dobrze udokumentowany, łatwo go osadzić i rozszerzyć w aplikacji napisanej w języku C++. Jest też dobrze przetestowany i ma silne wsparcie ze strony społeczności open source. Więcej informacji na temat środowiska Python oraz oficjalną dokumentację można znaleźć na stronie [http://www.python.org Python.org].
Podsumowując, Python jest dobrze udokumentowany, łatwo go osadzić i rozszerzyć w aplikacji napisanej w języku C++. Jest też dobrze przetestowany i ma silne wsparcie ze strony społeczności open source. Więcej informacji na temat środowiska Python oraz oficjalną dokumentację można znaleźć na stronie [http://www.python.org Python.org].


<span id="Boost"></span>
===Boost===
===Boost===


Line 107: Line 114:
W celu zapewnienia wydajności i elastyczności, Boost szeroko korzysta z szablonów. Boost stał się źródłem wielu prac i badań nad programowaniem ogólnym i metaprogramowaniem w C++. Więcej o Boost można przeczytać na stronie [http://www.boost.org/ domowej Boost].
W celu zapewnienia wydajności i elastyczności, Boost szeroko korzysta z szablonów. Boost stał się źródłem wielu prac i badań nad programowaniem ogólnym i metaprogramowaniem w C++. Więcej o Boost można przeczytać na stronie [http://www.boost.org/ domowej Boost].


<span id="OpenCASCADE_Technology"></span>
===Technologia OpenCASCADE===
===Technologia OpenCASCADE===


Line 128: Line 136:
Aby dowiedzieć się więcej, odwiedź stronę [http://www.opencascade.org OpenCASCADE].
Aby dowiedzieć się więcej, odwiedź stronę [http://www.opencascade.org OpenCASCADE].


<span id="Qt"></span>
===Qt===
===Qt===


Line 138: Line 147:
Więcej informacji o bibliotekach Qt i ich dokumentacji programistycznej można znaleźć na stronie [https://doc.qt.io/?hsCtaTracking=f641fd1a-772b-4957-964b-dad954b8d702%7C46c97dac-f1f6-49b3-ae46-8070fc35ea13 Qt Documentation].
Więcej informacji o bibliotekach Qt i ich dokumentacji programistycznej można znaleźć na stronie [https://doc.qt.io/?hsCtaTracking=f641fd1a-772b-4957-964b-dad954b8d702%7C46c97dac-f1f6-49b3-ae46-8070fc35ea13 Qt Documentation].


<span id="Shiboken2_and_Pyside2"></span>
==== Shiboken2 i Pyside2 ====
====Shiboken2 i Pyside2====

Shiboken jest generatorem wiązań Python, którego Qt dla Python używa do tworzenia modułu PySide, innymi słowy, jest to system używany do eksponowania API Qt C++ na język Python.
Shiboken jest generatorem wiązań Python, którego Qt dla Python używa do tworzenia modułu PySide, innymi słowy, jest to system używany do eksponowania API Qt C++ na język Python.


Line 145: Line 156:
Więcej o Shiboken i Pyside można przeczytać na stronie [https://wiki.qt.io/Qt_for_Python/Shiboken Qt for Python].
Więcej o Shiboken i Pyside można przeczytać na stronie [https://wiki.qt.io/Qt_for_Python/Shiboken Qt for Python].


<span id="Coin3D"></span>
===Coin3D===
===Coin3D===


Line 161: Line 173:
Coin3D jest przenośny na szeroką gamę platform: UNIX, Linux, BSD, MacOS X oraz systemy operacyjne Microsoft Windows. Aby dowiedzieć się więcej o tej bibliotece, odwiedź stronę [https://github.com/coin3d/coin domową Coin3D].
Coin3D jest przenośny na szeroką gamę platform: UNIX, Linux, BSD, MacOS X oraz systemy operacyjne Microsoft Windows. Aby dowiedzieć się więcej o tej bibliotece, odwiedź stronę [https://github.com/coin3d/coin domową Coin3D].


<span id="SoQt_(deprecated)"></span>
==== SoQt ''(obecnie przestarzałe)''====
==== SoQt ''(obecnie przestarzałe)''====


Line 171: Line 184:
SoQt nie jest już używany w programie FreeCAD, został zastąpiony przez Quarter, który jest nowszą oprawą Qt.
SoQt nie jest już używany w programie FreeCAD, został zastąpiony przez Quarter, który jest nowszą oprawą Qt.


<span id="Quarter"></span>
====Quarter====
====Quarter====

'''Wersja:''' 1.0 lub nowsza
'''Wersja:''' 1.0 lub nowsza


Line 178: Line 193:
Quarter to nowsze powiązanie Coin3D z zestawem narzędzi Qt. Jego wersja jest zawarta w kodzie źródłowym FreeCAD, więc jest kompilowana razem z nim.
Quarter to nowsze powiązanie Coin3D z zestawem narzędzi Qt. Jego wersja jest zawarta w kodzie źródłowym FreeCAD, więc jest kompilowana razem z nim.


<span id="Pivy"></span>
====Pivy====
====Pivy====


Line 188: Line 204:
Jeśli nie zamierzasz korzystać z tych środowisk pracy, nie potrzebujesz Pivy.
Jeśli nie zamierzasz korzystać z tych środowisk pracy, nie potrzebujesz Pivy.


<span id="Ply"></span>
===Ply===
===Ply===


Line 198: Line 215:
Więcej informacji można znaleźć na stronie [https://www.dabeaz.com/ply/ domowej Ply].
Więcej informacji można znaleźć na stronie [https://www.dabeaz.com/ply/ domowej Ply].


<span id="Xerces-C++"></span>
===Xerces-C++===
===Xerces-C++===


Line 208: Line 226:
Parser jest używany do zapisywania i przywracania parametrów w programie FreeCAD. Więcej informacji można znaleźć na stronie [https://xerces.apache.org/xerces-c/ domowej Xerces-C++].
Parser jest używany do zapisywania i przywracania parametrów w programie FreeCAD. Więcej informacji można znaleźć na stronie [https://xerces.apache.org/xerces-c/ domowej Xerces-C++].


<span id="Eigen3"></span>
===Eigen3===
===Eigen3===


'''Wersja:''' 3.0 lub nowsza
'''Wersja:''' 3.0 lub nowsza


'''License:''' Starting from the 3.1.1 version, it is licensed under the [http://www.mozilla.org/MPL/2.0 Mozilla Public License 2.0]. Earlier versions were licensed under the [https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License 3].
'''Licencja:''' Począwszy od wersji 3.1.1, program jest objęty licencją [http://www.mozilla.org/MPL/2.0 Mozilla Public License 2.0]. Wcześniejsze wersje były licencjonowane na podstawie [https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License 3].


Eigen jest biblioteką szablonów C++ dla algebry liniowej: macierzy, wektorów, rozwiązań numerycznych i związanych z nimi algorytmów.
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.


Jeśli użytkownik chce tylko używać programu Eigen, może od razu korzystać z plików nagłówkowych. Nie ma biblioteki binarnej, z którą trzeba by się łączyć, ani skonfigurowanego pliku nagłówkowego. Eigen jest czystą biblioteką szablonową zdefiniowaną w nagłówkach.
If you just want to use Eigen, you can use the header files right away. There is no binary library to link to, and no configured header file. Eigen is a pure template library defined in the headers.


Eigen is used in FreeCAD for many vector operations in 3D space. To learn more, visit [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen homepage].
Program Eigen jest używany w programie FreeCAD do wielu operacji na wektorach w przestrzeni 3D. Aby dowiedzieć się więcej, odwiedź stronę [http://eigen.tuxfamily.org/index.php?title=Main_Page domową Eigen].


=== Zipios++ ===
<span id="Zipios++"></span>
===Zipios++===


'''Version:''' 0.1.5 or higher
'''Wersja:''' 0.1.5 lub nowsza


'''License:''' GNU Lesser General Public License 2.1
'''Licencja:''' GNU Lesser General Public License 2.1


Zipios++ is a C++ library for reading and writing {{incode|.zip}} files. Access to individual entries is provided through standard C++ iostreams. A simple read-only virtual file system that mounts regular directories and {{incode|.zip}} files is also provided. The structure and public interface of Zipios++ are loosely based on the {{incode|java.util.zip}} package of Java.
Zipios++ jest biblioteką C++ służącą do odczytywania i zapisywania plików {{incode|.zip}}. Dostęp do poszczególnych wpisów jest zapewniony przez standardowe strumienie iostream w C++. Udostępniono także prosty wirtualny system plików tylko do odczytu, który montuje zwykłe katalogi i pliki {{incode|.zip}}. Struktura i interfejs publiczny programu Zipios++ luźno oparte na pakiecie {{incode|java.util.zip}} języka Java.


FreeCAD's native file format {{incode|.FCstd}} is in reality a {{incode|.zip}} file that stores and compresses other types of data within it, such as BREP and XML files. Therefore, Zipios++ is used to save and open compressed archives, including FreeCAD files.
Rodzimy format plików FreeCAD {{incode|.FCstd}} jest w rzeczywistości plikiem {{incode|.zip}}, który przechowuje i kompresuje inne typy danych, takie jak pliki BREP i XML. Dlatego program Zipios++ służy do zapisywania i otwierania skompresowanych archiwów, w tym plików FreeCAD.


A copy of Zipios++ is included in the source code of FreeCAD so it is compiled together with it. If you want to use an external Zipios++ library, provided by your operating system, you may set <code>-DFREECAD_USE_EXTERNAL_ZIPIOS=ON</code> with {{incode|cmake}}.
Kopia Zipios++ jest zawarta w kodzie źródłowym FreeCAD, więc jest kompilowana razem z nim. Jeśli chcesz użyć zewnętrznej biblioteki Zipios++, dostarczanej przez system operacyjny, możesz ustawić parametr <code>-DFREECAD_USE_EXTERNAL_ZIPIOS=ON</code> za pomocą {{incode|cmake}}.


Do dekompresji plików Zipios++ używa biblioteki Zlib.
Zipios++ uses the Zlib library to perform the actual decompression of files.


<span id="Zlib"></span>
==== Zlib ====
====Zlib====


'''Version:''' 1.0 or higher
'''Wersja:''' 1.0 lub nowsza


'''License:''' zlib license
'''Licencja:''' licencja zlib


Zlib is designed to be a free, general-purpose, lossless data-compression library for use on any computer hardware and operating system. It implements the {{incode|DEFLATE}} compression algorithm commonly used in {{incode|.zip}} and {{incode|.gzip}} files.
Zlib został zaprojektowany jako bezpłatna biblioteka ogólnego przeznaczenia do bezstratnej kompresji danych, przeznaczona do użytku na dowolnym sprzęcie komputerowym i w dowolnym systemie operacyjnym. Implementuje ona algorytm kompresji {{incode|DEFLATE}} powszechnie stosowany w plikach {{incode|.zip}} i {{incode|.gzip}}.


Kopia tej biblioteki jest dołączona do kodu źródłowego programu FreeCAD, więc jest z nim kompilowana.
A copy of this library is included in the source code of FreeCAD so it is compiled together with it.


=== libarea ===
<span id="libarea"></span>
===libarea===


'''Version:''' 0.0.20140514-1 or higher
'''Wersja:''' 0.0.20140514-1 lub nowsza

'''Licencja:''' 3-klauzulowa licencja BSD


Libarea to biblioteka oprogramowania do obliczania profili i operacji kieszeni, które są używane w oprogramowaniu do komputerowego wspomagania wytwarzania ''(CAM)''. Została ona stworzona przez Dana Heeksa dla jego projektu HeeksCNC.
'''License:''' BSD 3-clause license


Kopia biblioteki jest dołączona do kodu źródłowego środowiska pracy [[CAM_Workbench/pl|CAM]], więc jest kompilowana razem z nim.
Libarea is a software library to compute profile and pocket operations which are used in computer aided manufacturing (CAM) software. It was created by Dan Heeks for his HeeksCNC project.


<span id="LibPack"></span>
A copy of the library is included with the source code of the [[Path Workbench|Path Workbench]], so it is compiled together with it.
==LibPack==


== LibPack ==
LibPack jest wygodnym pakietem z zebranymi razem zależnościami kompilacji programu FreeCAD. Jest on potrzebny tylko wtedy, gdy kompilujesz program FreeCAD w systemie Windows za pomocą Visual Studio 2015 lub nowszego. Najnowszy LibPack można znaleźć na stronie [https://github.com/FreeCAD/FreeCAD/releases releases page].
LibPack jest wygodnym pakietem z zebranymi razem zależnościami kompilacji programu FreeCAD. Jest on potrzebny tylko wtedy, gdy kompilujesz program FreeCAD w systemie Windows za pomocą Visual Studio 2015 lub nowszego. Najnowszy LibPack można znaleźć na stronie [https://github.com/FreeCAD/FreeCAD/releases releases page].


Jeśli pracujesz pod Linuksem, nie potrzebujesz LibPacka, ponieważ możesz pobrać zależności z repozytoriów swojej dystrybucji, jak wspomniano na stronie [[Compile_on_Linux/pl|Kompilacja w systemie Linux]].
If you're working under Linux, you don't need the LibPack, as you can get the dependencies from your distribution's repositories as mentioned in the [[Compile_on_Linux|compile on Linux]] page.


<span id="FreeCAD_12.1.2"></span>
===FreeCAD 12.1.2===
===FreeCAD 12.1.2===



Latest revision as of 04:37, 19 April 2024

Informacje ogólne

Są to biblioteki, których FreeCAD używa jako zależności od innych dostawców podczas kompilacji. Zazwyczaj są to Biblioteki dynamicznie łączone i mają rozszerzenie .so w Linuksie/MacOSie i .dll w Windowsie, a towarzyszą im pliki nagłówkowe .h lub .hpp lub podobne. Jeśli potrzebna jest zmodyfikowana biblioteka lub klasa opakowująca, kod zmodyfikowanej biblioteki lub klasy opakowującej musi stać się częścią kodu źródłowego programu FreeCAD i zostać razem z nim skompilowany.

Przed przystąpieniem do kompilacji należy najpierw zadbać☻ o rozwiązanie zależności. Więcej informacji na ten temat można znaleźć na stronach Kompilacja w systemie Linux, Kompilacja w systemie MacOS oraz Kompilacja w systemie Windows.

Jeśli kompilujesz w systemie Windows, rozważ użycie paczki bibliotek zamiast próbować instalować biblioteki pojedynczo.

Odnośniki internetowe

Biblioteka wymagana wersja Link do pobrania
Python >= 3.6 http://www.python.org/
Boost >= 1.33 http://www.boost.org/
OpenCASCADE >= 7.3 http://www.opencascade.org
Qt >= 5.4 https://www.qt.io/
Shiboken2 tak jak Qt https://wiki.qt.io/Qt_for_Python/Shiboken
PySide2 tak jak Qt https://wiki.qt.io/Qt_for_Python/Shiboken
Coin3D >= 3.x https://github.com/coin3d/coin
SoQt (przestarzałe) >= 1.2 https://github.com/coin3d/soqt
Quarter >= 1.0 https://github.com/coin3d/quarter
Pivy >= 0.6.5 https://github.com/coin3d/pivy/
FreeType >= XXX XXX
PyCXX >= XXX XXX
KDL >= XXX https://orocos.org/wiki/orocos/kdl-wiki.html
Point Cloud Library >= XXX XXX
Salome SMESH >= XXX XXX
VTK >= 6.0 XXX
Ply >= 3.11 https://www.dabeaz.com/ply/
Xerces-C++ >= 3.0 https://xerces.apache.org/xerces-c/
Eigen3 >= 3.0 http://eigen.tuxfamily.org/index.php?title=Main_Page
Zipios++ >= 0.1.5 https://snapwebsites.org/project/zipios, https://github.com/Zipios/Zipios
Zlib >= 1.0 http://www.zlib.net/, https://github.com/madler/zlib
libarea >= 0.0.20140514-1 https://github.com/danielfalck/libarea

Szczególy

Python

Wersja: 3.3 lub nowsza

Licencja: Python 3.3

Python 2 stał się przestarzały w 2019 roku. W dalszym rozwoju FreeCAD będzie korzystać wyłącznie z wersji Python 3; kompatybilność z Python 2 nie będzie testowana, więc stare środowiska pracy i makra, które korzystają z tej wersji, będą musiały zostać zaktualizowane lub mogą przestać działać. Jeśli napotkasz problemy z wersją środowiska Python 3, napisz na forum FreeCAD.

Python to popularny uniwersalny język skryptowy, który jest szeroko stosowany w systemie Linux i oprogramowaniu open source. W FreeCAD Python jest używany podczas kompilacji, a także w czasie pracy na różne sposoby. Jest on używany do:

  • tworzenia skryptów testowych do testowania różnych warunków, takich jak wycieki pamięci, do zapewnienia funkcjonalności oprogramowania po zmianach, do sprawdzania po kompilacji oraz do testowania poprawności działania,
  • tworzenia makrodefinicji i nagrywania makrodefinicji,
  • implementacji logiki aplikacji dla pakietów standardowych,
  • implementacji narzędzi pomocniczych, takich jak Menadżer dodatków,
  • implementacji całych środowisk pracy, takich jak Rysunek Roboczy i Architektura,
  • dynamicznego ładowania pakietów,
  • implementacji reguł projektowania (inżynieria wiedzy),
  • wykonywania wymyślnych interakcji internetowych, takich jak grupy robocze i PDM.

W systemie Linux Python jest zwykle już zainstalowany w dystrybucji. W systemie Windows można pobrać prekompilowaną wersję binarną z Python.org lub użyć ActiveState Python, choć w tym drugim przypadku trudniej jest uzyskać biblioteki debugowania.

Python został wybrany jako język skryptowy dla FreeCAD z różnych powodów:

  • Jest bardziej zorientowany obiektowo niż Perl i Tcl.
  • Kod jest bardziej czytelny niż w Perlu i Visual Basic.
  • Jest łatwiejszy do osadzenia w innej aplikacji, w przeciwieństwie do, na przykład, Javy.

Podsumowując, Python jest dobrze udokumentowany, łatwo go osadzić i rozszerzyć w aplikacji napisanej w języku C++. Jest też dobrze przetestowany i ma silne wsparcie ze strony społeczności open source. Więcej informacji na temat środowiska Python oraz oficjalną dokumentację można znaleźć na stronie Python.org.

Boost

Wersja: 1.33 lub nowsza

Licencja: Boost Software License - wersja 1.0

Biblioteki Boost C++ są kolekcją recenzowanych bibliotek o otwartym kodzie źródłowym, które rozszerzają funkcjonalność języka C++. Są one przeznaczone do szerokiego zastosowania w szerokim spektrum aplikacji oraz do współpracy z biblioteką standardową C++. Licencja Boost została tak zaprojektowana, aby zachęcać do ich używania zarówno w projektach open source, jak i zamkniętych.

Ze względu na ich popularność i stabilność wiele bibliotek Boost zostało zaakceptowanych do włączenia do standardu C++11, a kolejne są planowane do włączenia w kolejnych standardach C++.

W celu zapewnienia wydajności i elastyczności, Boost szeroko korzysta z szablonów. Boost stał się źródłem wielu prac i badań nad programowaniem ogólnym i metaprogramowaniem w C++. Więcej o Boost można przeczytać na stronie domowej Boost.

Technologia OpenCASCADE

Wersja: 6.7 lub nowsza

Licencja: wersja 6.7.0 i późniejsze są objęte GNU Lesser General Public License (LGPL) wersja 2.1 z dodatkowymi wyjątkami. Wcześniejsze wersje korzystają z licencji Open CASCADE Technology Public License.

OpenCASCADE Technology (OCCT) to w pełni funkcjonalne jądro CAD klasy profesjonalnej. Zostało ono opracowane w 1993 roku i pierwotnie nazwane CAS.CADE przez firmę Matra Datavision we Francji dla aplikacji Strim (Styler) i Euclid Quantum. W 1999 roku zostało udostępnione jako oprogramowanie open source i od tego czasu nosi nazwę OpenCASCADE.

OCCT to duży i złożony zestaw bibliotek C++, które zapewniają funkcjonalność wymaganą przez aplikacje CAD:

  • Kompletne jądro geometrii zgodne ze standardem STEP.
  • Topologiczny model danych oraz funkcje niezbędne do pracy z kształtami (wycinanie, łączenie, wyciskanie i wiele innych).
  • Standardowe procesory importu i eksportu dla plików takich jak STEP, IGES, VRML.
  • Przeglądarka 2D i 3D z obsługą selekcji.
  • Struktura danych dokumentu i projektu z obsługą zapisywania i przywracania, zewnętrznego łączenia dokumentów, przeliczania historii projektu (modelowanie parametryczne) oraz możliwość dynamicznego wczytywania nowych typów danych jako pakietów rozszerzeń.

Przetłumaczono z www.DeepL.com/Translator (wersja darmowa)

Istnieją dwie główne wersje OpenCASCADE w różnych dystrybucjach Linuksa. Jedna z nich jest dystrybuowana przez oryginalnych twórców; znana jest jako OCCT i występuje pod nazwami occ lub occt. Druga wersja to "community edition", w skrócie OCE, i zwykle występuje pod nazwą oce. FreeCAD może kompilować się z każdą z tych wersji, jednak od 2016 roku FreeCAD zaleca kompilację z oficjalnymi bibliotekami OCCT, a nie z bibliotekami OCE. Powodem jest to, że w edycji społecznościowej brakuje ważnych poprawek błędów i funkcji, które sprawiają, że korzystanie z programu FreeCAD jest lepsze.

Aby dowiedzieć się więcej, odwiedź stronę OpenCASCADE.

Qt

Wersja: 4.1 lub nowsza

Licencja: GPL v2.0/v3.0 lub komercyjna, od wersji 4.5 także LPGL v2.1.

Qt jest jednym z najpopularniejszych zestawów narzędzi graficznego interfejsu użytkownika (GUI) dostępnych w świecie open source. FreeCAD używa tego zestawu narzędzi do rysowania interfejsu programu. Do tego celu bardzo przydatna jest aplikacja Qt Designer, która pozwala programistom szybko rysować okna dialogowe i okna, eksportować je jako pliki zasobów XML, a następnie wczytywać te interfejsy w czasie pracy.

Więcej informacji o bibliotekach Qt i ich dokumentacji programistycznej można znaleźć na stronie Qt Documentation.

Shiboken2 i Pyside2

Shiboken jest generatorem wiązań Python, którego Qt dla Python używa do tworzenia modułu PySide, innymi słowy, jest to system używany do eksponowania API Qt C++ na język Python.

Oryginalne pakiety Shiboken i PySide były przeznaczone do użycia ze środowiskiem Python 2 i Qt4. Ponieważ te dwie wersje są uważane za przestarzałe w 2019 roku, proszę użyć Shiboken2 i PySide2, które działają ze środowiskiem Python 3 i Qt5. Nowe wersje FreeCAD są tworzone w środowisku Python 3 i Qt5, więc kompatybilność z Python 2 i Qt4 nie jest gwarantowana po wydaniu FreeCAD 0.18.

Więcej o Shiboken i Pyside można przeczytać na stronie Qt for Python.

Coin3D

Wersja: 3.0 lub nowsza

Licencja: 3-klauzulowa licencja BSD

Coin3D jest wysokopoziomową biblioteką grafiki 3D z interfejsem programowania aplikacji w języku C++. Wykorzystuje struktury danych scenegrafu do renderowania grafiki w czasie rzeczywistym, odpowiedniej dla wszelkiego rodzaju zastosowań naukowych i inżynieryjnych.

Coin3D jest zbudowany na standardowej bibliotece renderingu trybu natychmiastowego OpenGL i dodaje abstrakcje dla prymitywów wyższego poziomu, zapewnia interaktywność 3D i zawiera wiele złożonych funkcji optymalizacyjnych dla szybkiego renderingu, które są przezroczyste dla programisty aplikacji.

Coin3D jest kompatybilny z Open Inventor 2.1 API firmy SGI. API to stało się de facto standardowym interfejsem graficznym dla wizualizacji 3D w środowisku naukowym i inżynieryjnym. Od 2000 roku udowodnił swoją wartość jako główny element tysięcy aplikacji inżynierskich na całym świecie.

Coin3D (Open Inventor) jest używany jako przeglądarka 3D w FreeCAD, ponieważ przeglądarka OpenCASCADE (AIS i Graphics3D) ma ograniczenia i wąskie gardła wydajności, zwłaszcza w przypadku renderowania inżynierskiego na dużą skalę. Inne rzeczy, takie jak tekstury czy renderowanie objętościowe, nie są w pełni obsługiwane przez przeglądarkę OpenCASCADE.

Coin3D jest przenośny na szeroką gamę platform: UNIX, Linux, BSD, MacOS X oraz systemy operacyjne Microsoft Windows. Aby dowiedzieć się więcej o tej bibliotece, odwiedź stronę domową Coin3D.

SoQt (obecnie przestarzałe)

Wersja: 1.2.0 lub nowsza

Licencja: 3-klauzulowa licencja BSD

SoQt jest powiązaniem Coin3D (Open Inventor) z zestawem narzędzi GUI Qt.

SoQt nie jest już używany w programie FreeCAD, został zastąpiony przez Quarter, który jest nowszą oprawą Qt.

Quarter

Wersja: 1.0 lub nowsza

Licencja: 3-klauzulowa licencja BSD

Quarter to nowsze powiązanie Coin3D z zestawem narzędzi Qt. Jego wersja jest zawarta w kodzie źródłowym FreeCAD, więc jest kompilowana razem z nim.

Pivy

Wersja: 0.6.3 lub nowsza

Licencja: 3-klauzulowa licencja BSD

Pivy jest biblioteką, która opakowuje bibliotekę Coin3d do użytku w środowisku Python. Nie jest potrzebna do zbudowania programu FreeCAD ani do jego uruchomienia, ale jest wymagana jako zależność runtime przez Rysunek Roboczy i przez inne środowiska pracy, które używają jej wewnętrznie, jak Architektura i BIM.

Jeśli nie zamierzasz korzystać z tych środowisk pracy, nie potrzebujesz Pivy.

Ply

Wersja: 3.11 lub nowsza

Licencja: 3-klauzulowa licencja BSD

Ply jest parserem Python-Lex-Yacc. Jest on używany jako zależność runtime przez środowisko OpenSCAD. Jeśli nie używasz tego środowiska pracy, możesz nie potrzebować tego pakietu.

Więcej informacji można znaleźć na stronie domowej Ply.

Xerces-C++

Wersja: 3.0 lub nowsza

Licencja: Licencja oprogramowania Apache wersja 2.0

Xerces-C++ jest sprawdzającym poprawność parserem XML napisanym w przenośnym podzbiorze języka C++. Xerces-C++ ułatwia nadanie aplikacji możliwości odczytu i zapisu danych XML. Udostępnia bibliotekę współdzieloną do parsowania, generowania, manipulowania i sprawdzania poprawności dokumentów XML. Xerces-C++ jest wierny zaleceniu XML 1.0 i związanym z nim standardom.

Parser jest używany do zapisywania i przywracania parametrów w programie FreeCAD. Więcej informacji można znaleźć na stronie domowej Xerces-C++.

Eigen3

Wersja: 3.0 lub nowsza

Licencja: Począwszy od wersji 3.1.1, program jest objęty licencją Mozilla Public License 2.0. Wcześniejsze wersje były licencjonowane na podstawie GNU Lesser General Public License 3.

Eigen jest biblioteką szablonów C++ dla algebry liniowej: macierzy, wektorów, rozwiązań numerycznych i związanych z nimi algorytmów.

Jeśli użytkownik chce tylko używać programu Eigen, może od razu korzystać z plików nagłówkowych. Nie ma biblioteki binarnej, z którą trzeba by się łączyć, ani skonfigurowanego pliku nagłówkowego. Eigen jest czystą biblioteką szablonową zdefiniowaną w nagłówkach.

Program Eigen jest używany w programie FreeCAD do wielu operacji na wektorach w przestrzeni 3D. Aby dowiedzieć się więcej, odwiedź stronę domową Eigen.

Zipios++

Wersja: 0.1.5 lub nowsza

Licencja: GNU Lesser General Public License 2.1

Zipios++ jest biblioteką C++ służącą do odczytywania i zapisywania plików .zip. Dostęp do poszczególnych wpisów jest zapewniony przez standardowe strumienie iostream w C++. Udostępniono także prosty wirtualny system plików tylko do odczytu, który montuje zwykłe katalogi i pliki .zip. Struktura i interfejs publiczny programu Zipios++ są luźno oparte na pakiecie java.util.zip języka Java.

Rodzimy format plików FreeCAD .FCstd jest w rzeczywistości plikiem .zip, który przechowuje i kompresuje inne typy danych, takie jak pliki BREP i XML. Dlatego program Zipios++ służy do zapisywania i otwierania skompresowanych archiwów, w tym plików FreeCAD.

Kopia Zipios++ jest zawarta w kodzie źródłowym FreeCAD, więc jest kompilowana razem z nim. Jeśli chcesz użyć zewnętrznej biblioteki Zipios++, dostarczanej przez system operacyjny, możesz ustawić parametr -DFREECAD_USE_EXTERNAL_ZIPIOS=ON za pomocą cmake.

Do dekompresji plików Zipios++ używa biblioteki Zlib.

Zlib

Wersja: 1.0 lub nowsza

Licencja: licencja zlib

Zlib został zaprojektowany jako bezpłatna biblioteka ogólnego przeznaczenia do bezstratnej kompresji danych, przeznaczona do użytku na dowolnym sprzęcie komputerowym i w dowolnym systemie operacyjnym. Implementuje ona algorytm kompresji DEFLATE powszechnie stosowany w plikach .zip i .gzip.

Kopia tej biblioteki jest dołączona do kodu źródłowego programu FreeCAD, więc jest z nim kompilowana.

libarea

Wersja: 0.0.20140514-1 lub nowsza

Licencja: 3-klauzulowa licencja BSD

Libarea to biblioteka oprogramowania do obliczania profili i operacji kieszeni, które są używane w oprogramowaniu do komputerowego wspomagania wytwarzania (CAM). Została ona stworzona przez Dana Heeksa dla jego projektu HeeksCNC.

Kopia biblioteki jest dołączona do kodu źródłowego środowiska pracy CAM, więc jest kompilowana razem z nim.

LibPack

LibPack jest wygodnym pakietem z zebranymi razem zależnościami kompilacji programu FreeCAD. Jest on potrzebny tylko wtedy, gdy kompilujesz program FreeCAD w systemie Windows za pomocą Visual Studio 2015 lub nowszego. Najnowszy LibPack można znaleźć na stronie releases page.

Jeśli pracujesz pod Linuksem, nie potrzebujesz LibPacka, ponieważ możesz pobrać zależności z repozytoriów swojej dystrybucji, jak wspomniano na stronie Kompilacja w systemie Linux.

FreeCAD 12.1.2

Zobacz ogłoszenie na forum: Nowe pakiety libpacks dla Windows z Qt5.12, OCC7.3 i Pythonem 3.6 autorstwa apeltauera

Zawiera on między innymi: Boost 1.67, Coin3D 4.0.0a, Eigen3, Open CASCADE Technology 7.3.0, Python 3.6.8, PySide2, Qt 5.12.1, Salome SMESH, Shiboken2, vtk7, Xerces-C, Zipios++, zlib 1.2.11.