Third Party Libraries/pl

Przegląd
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 w Linuksie/MacOSie i  w Windowsie, a towarzyszą im pliki nagłówkowe  lub  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.

Python
Wersja: 3.3 lub nowsza

Licencja: Python 3.3

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 lub. Druga wersja to "community edition", w skrócie OCE, i zwykle występuje pod nazwą. 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. 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. Struktura i interfejs publiczny programu Zipios++ są luźno oparte na pakiecie języka Java.

Rodzimy format plików FreeCAD jest w rzeczywistości plikiem, 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  za pomocą.

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 powszechnie stosowany w plikach  i.

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

libarea
Version: 0.0.20140514-1 or higher

License: BSD 3-clause license

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.

A copy of the library is included with the source code of the Path Workbench, so it is compiled together with it.

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.

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 page.

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.