Third Party Libraries/ja

概要
これらはFreeCADプロジェクト内で変更されていないライブラリです. それらは基本的にはダイナミックリンクライブラリ（*.so または *.dll）としてそのまま使用されています. 必要な変更またはラッパークラスが必要なときには、存在する場合、ラッパーのコードまたは変更したライブラリのコードはFreeCADの基本パッケージに移動する必要があります. 使用するライブラリは:

LibPackを使用する代わりに、自分ですべてのものをダウンロードおよびインストールすることを検討してください.

If you are using Windows, consider using LibPack instead of downloading and installing all the stuff on your own.

Python
バージョン: 2.5 以上

ライセンス: Python 2.5 ライセンス

Pythonについては、http://www.python.org/ のソースコードまたはバイナリを利用する、もしくはhttp://www.activestate.com/ のActiveState Pythonを利用することができますが、ActiveStateからデバッグライブラリを取得するのは少し難しいです.

License: Python 2.5 license

説明
Pythonは、主要スクリプト言語であり、アプリケーション全体で使用されます. 例えば:


 * 以下のテスト用のテストスクリプトの実装:
 * メモリリーク
 * 変更後の機能の存在の確保
 * ビルドチェックの配置
 * 適用テスト
 * マクロとマクロの記録
 * 標準パッケージのアプリケーションロジックの実装
 * ワークベンチ全体のの実装
 * パッケージの動的ロード
 * 設計ルールの実装(知識工学)
 * ワークグループやPDMのような見栄えの良いインターネットの要素
 * などなど ...

特にPythonの動的なパッケージの読み込みは、実際の作業に必要なランタイムの追加機能をワークベンチにロードするために使用されます. なぜPythonなのかは、www.python.orgをよく見てください. いくつかの理由があります:これまで私は様々な以下に示すスクリプト言語を使用してきました. : PythonはPerlやTclよりも◯◯で、コードはPerlやVBよりも煩雑ではありません. Javaはそもそもスクリプト言語ではありませんし、組み込むことが困難です(もしくはできません）. Pythonは良くドキュメント化されており、組み込みや拡張が簡単です. Pythonはしっかりテストされており、オープンソースコミュニティの強力なサポートがあります.
 * Perl
 * Tcl/Tk
 * VB
 * Java

賛辞
Guido van Rossum氏と多くの人がPythonの成功をもたらしました!

説明
Pythonは、主要スクリプト言語であり、アプリケーション全体で使用されます. 例えば:


 * 以下のテスト用のテストスクリプトの実装:
 * メモリリーク
 * 変更後の機能の存在の確保
 * ビルドチェックの配置
 * 適用テスト
 * マクロとマクロの記録
 * 標準パッケージのアプリケーションロジックの実装
 * ワークベンチ全体のの実装
 * パッケージの動的ロード
 * 設計ルールの実装(知識工学)
 * ワークグループやPDMのような見栄えの良いインターネットの要素
 * などなど ...

特にPythonの動的なパッケージの読み込みは、実際の作業に必要なランタイムの追加機能をワークベンチにロードするために使用されます. なぜPythonなのかは、www.python.orgをよく見てください. いくつかの理由があります:これまで私は様々な以下に示すスクリプト言語を使用してきました. : PythonはPerlやTclよりも◯◯で、コードはPerlやVBよりも煩雑ではありません. Javaはそもそもスクリプト言語ではありませんし、組み込むことが困難です(もしくはできません）. Pythonは良くドキュメント化されており、組み込みや拡張が簡単です. Pythonはしっかりテストされており、オープンソースコミュニティの強力なサポートがあります.
 * Perl
 * Tcl/Tk
 * VB
 * Java

賛辞
Guido van Rossum氏と多くの人がPythonの成功をもたらしました!

OpenCasCade
バージョン: 5.2 以上

ライセンス: OCTPL

OCCは、フル機能を備えたCADカーネルです. もともと、それはフランスの Matia Datavision氏がStrim（スタイラー）とユークリッド量子アプリケーション用に開発し、後にオープンソース化されました. それは本当に巨大なライブラリで、オープンソースプロジェクトでは実装が困難、もしくは不可能と思われるいくつかのパッケージを提供されたことで、フリーのCADアプリケーションを可能にした初めてのライブラリです. :
 * 完全STEP準拠のジオメトリカーネル
 * トポロジデータモデルと、それらを操作ために必要なすべての機能（切り取り、結合、押し出し、などなど...）
 * STEP、IGES、VRML等の標準インポート/エクスポートプロセッサ
 * 選択をサポートしている3Dと2Dのビューア
 * ドキュメントの外部リンクの保存と復元、設計履歴（パラメトリックモデリング）の再計算をサポートしたドキュメントやプロジェクトデータ構造と、拡張パッケージとして動的に新しいデータ型をロードする機能

OpenCasCadeの詳細は、OpenCasCadeページまたはhttp://www.opencascade.orgを見てください.

Version: 5.2 or higher

License: v6.7.0 and later are governed by GNU Lesser General Public License (LGPL) version 2.1 with additional exception. https://www.opencascade.com/content/licensing Earlier versions use a slightly different license: https://www.opencascade.com/content/occt-public-license

OCC is a full-featured CAD Kernel. Originally, it's developed by Matra Datavision in France for the Strim (Styler) and Euclid Quantum applications and later on made Open Source. It's a really huge library and makes a free CAD application possible in the first place, by providing some packages which would be hard or impossible to implement in an Open Source project:
 * A complete STEP compliant geometry kernel
 * A topological data model and all needed functions to work on (cut, fuse, extrude, and so on. . . )
 * Standard Import- / Export processors like STEP, IGES, VRML
 * 3D and 2D viewer with selection support
 * A document and project data structure with support for save and restore, external linking of documents, recalculation of design history (parametric modeling) and a facility to load new data types as an extension package dynamically

To learn more about OpenCasCade take a look at the OpenCasCade page or http://www.opencascade.org.

Qt
バージョン: 4.1.x 以上

ライセンス: GPL v2.0/v3.0 もしくは 商用 (バージョン 4.5からはLGPL v2.1)

Qtのについて多くのことを伝える必要がないと思います. それは、オープンソースプロジェクトの中で最も頻繁に使用されるGUIツールキットの一つです. Qtを使用する最も重要な理由は、Qt Designerと全体のダイアログボックスを（XML）リソースとしてロードし、特殊なウィジェットを組み込む実現性です. CAXのアプリケーションでは、ユーザーとの対話やダイアログボックスがコードの大部分を占めていて、新しい機能を持つFreeCADを簡単に拡張するために、優れたダイアログデザイナーがとても重要です. さらに詳しい情報や、とても良いオンラインドキュメントは、http://www.qtsoftware.comで見つけることができます.

Shiboken and Pyside
Shiboken (Shi bō ken, 死某剣) is the Python binding generator that Qt for Python uses to create the PySide module, in other words, is the system we use to expose the Qt C++ API to Python.

The name Shiboken2 and PySide2 make reference to the Qt 5 compatibility, since the previous versions (without the 2) refer to Qt 4. Read more about Shiboken and Pyside on Qt for Python wiki page

Coin3D
バージョン: 2.0 以上

ライセンス: GPL v2.0 もしくは商用

Coinは、C + +アプリケーションプログラミングインターフェースを備えた高レベル3Dグラフィックスライブラリです. Coinは、科学的·工学的な視覚化アプリケーションのほとんどすべての種類に適したリアルタイムグラフィックスをレンダリングするためにシーングラフデータ構造を使用しています.

Coinは、さまざまなプラットフォーム：任意のUNIX / Linux/ * BSDのプラットフォーム、すべてのMicrosoft Windowsオペレーティングシステム、およびMac OS Xに移植可能です

Coinは業界標準の瞬時レンダリングライブラリOpenGL上に構築されており、高い水準のプリミティブの抽象化が追加されており、3Dインタラクティビティを提供し、プログラマの利便性と生産性を向上し、アプリケーションプログラマに対して手間がかかっている多くの高速描画用の最適化機能をわかりやすく提供しています.

CoinはSGI Open InventorのAPIに基づいています. それに精通していない人にとって、Open Inventorは科学的·工学的コミュニティにおける3Dビジュアライゼーションとビジュアルシミュレーションソフトウェアのデファクトスタンダードのグラフィックスライブラリになって久しいです. Coinは世界中の大規模なエンジニアリングアプリケーションの数千の主要なビルディングブロックとして貢献していることから、その成熟度は10年以上の期間にわたって価値が証明されました.

OpenCasCadeビューワ（AISおよびGraphics3D）は、大規模なエンジニアリングレンダリングに大きな限界と性能のボトルネックがあるので、我々はFreeCADでは3DビューワとしてOpenInventorを使用します. テクスチャやボリュームレンダリングなどは、まだサポートされていません.

バージョン2.0のCoinは、異なるライセンスモデルを採用しているため. それはもはやLGPLではありません. 彼らはオープンソースに対してGPLを、クローズドソースに対して商用ライセンスを使用しています. このことは、あなたがFreeCADに基づいた製品（拡張モジュール）を販売する場合は、Coinのライセンスを購入する必要があるということです！

Coin is built on the industry-standard OpenGL immediate mode rendering library, and adds abstractions for higher-level primitives, provides 3D interactivity, immensely increases programmer convenience and productivity, and contains many complex optimization features for fast rendering that are transparent for the application programmer.

Coin is based on the SGI Open Inventor API. Open Inventor, for those who are not familiar with it, has long since become the de facto standard graphics library for 3D visualization and visual simulation software in the scientific and engineering community. It has proved it's worth over a period of more than 10 years, its maturity contributing to its success as a major building block in thousands of large-scale engineering applications around the world.

ODE (Open dynamic engine)
バージョン: 0.10.0 or higher

ライセンス: LGPL v2.1以降 または BSD

ODEは剛体力学をシミュレートするためのオープンソースの高性能なライブラリです. ODEは十分な機能があり、安定で成熟しており、プラットフォーム非依存で、C/C++ APIを簡単に使えます. ODEは先進的なジョイント型と統合した摩擦を含む衝突検出があります. ODEは車両や仮想現実環境内のオブジェクト、仮想生物のシミュレートに有用です. それは現在、多くのコンピュータゲーム、3Dオーサリングツールとシミュレーションツールで使用されています.

謝辞
ラッセル·スミス氏は、ODEの主著者です.

Since Version 2.0 Coin uses a different licence model. It's not longer LGPL. They use GPL for open source and a commercial licence for closed source. That means if you want to sell your work based on FreeCAD (extension modules) you need to purchase a Coin licence!

SoQt
バージョン: 1.2.0 以上

ライセンス: GPL v2.0 または 商用

SoQt is the Inventor binding to the Qt Gui Toolkit. Unfortunately, it's not longer LGPL so we have to remove it from the code base of FreeCAD and link it as a library. It has the same licence model like Coin. And you have to compile it with your version of Qt.

Xerces-C++
Version: 2.7.0 or higher

License: Apache Software License Version 2.0

Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents.

Xerces-C++ is faithful to the XML 1.0 recommendation and many associated standards (see Features below).

The parser provides high performance, modularity, and scalability. Source code, samples and API documentation are provided with the parser. For portability, care has been taken to make minimal use of templates, no RTTI, and minimal use of #ifdefs.

The parser is used for saving and restoring parameters in FreeCAD.

Zlib
Version: 1.x.x

License: zlib License

zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system. The zlib data format is itself portable across platforms. Unlike the LZW compression method used in Unix compress(1) and in the GIF image format, the compression method currently used in zlib essentially never expands the data. (LZW can double or triple the file size in extreme cases.) zlib's memory footprint is also independent of the input data and can be reduced, if necessary, at some cost in compression.

Boost
Version: 1.33.x

License: Boost Software License - Version 1.0

The Boost C++ libraries are a collection of peer-reviewed, open source libraries that extend the functionality of C++. The libraries are licensed under the Boost Software License, designed to allow Boost to be used with both open and closed source projects. Many of Boost's founders are on the C++ standard committee and several Boost libraries have been accepted for incorporation into the Technical Report 1 of C++0x.

The libraries are aimed at a wide range of C++ users and application domains. They range from general-purpose libraries like SmartPtr, to OS Abstractions like FileSystem, to libraries primarily aimed at other library developers and advanced C++ users, like MPL.

In order to ensure efficiency and flexibility, Boost makes extensive use of templates. Boost has been a source of extensive work and research into generic programming and meta-programming in C++.

See: http://www.boost.org/ for details.

libarea
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
LibPackは上記のすべてのライブラリを一緒に梱包した便利なパッケージです. 現在、Windowsプラットフォームではダウンロードページから利用可能です！あなたがLinuxで作業していれば、LibPackを必要としません. 代わりにお使いのLinuxディストリビューションのパッケージリポジトリを利用するべきです.

FreeCADLibs7.x Changelog

 * QT 4.5.x と Coin 3.1.x を使用
 * Robot追加のためのEigenテンプレート
 * 実験的なSMESH