Third Party Libraries/jp

From FreeCAD Documentation
Jump to: navigation, search

概要

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

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

リンク

リンク表
ライブラリ名 必要なバージョン 取得するためのリンク
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

詳細

Python

バージョン: 2.5 以上

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

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

説明

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

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

特にPythonの動的なパッケージの読み込みは、実際の作業に必要なランタイムの追加機能をワークベンチにロードするために使用されます。なぜPythonなのかは、www.python.orgをよく見てください。いくつかの理由があります:これまで私は様々な以下に示すスクリプト言語を使用してきました。:

  • Perl
  • Tcl/Tk
  • VB
  • Java

PythonはPerlやTclよりも◯◯で、コードはPerlやVBよりも煩雑ではありません。Javaはそもそもスクリプト言語ではありませんし、組み込むことが困難です(もしくはできません)。Pythonは良くドキュメント化されており、組み込みや拡張が簡単です。Pythonはしっかりテストされており、オープンソースコミュニティの強力なサポートがあります。

賛辞

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を見てください。

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で見つけることができます。

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のライセンスを購入する必要があるということです!

ODE (Open dynamic engine)

バージョン: 0.10.0 or higher

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

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

謝辞

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

SoQt

バージョン: 1.2.0 以上

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

SoQtはQt GUIツールキットを繋ぐ発明です。残念ながら、それはLGPLではないので、私たちはFreeCADの基本コードから取り外し、ライブラリとしてリンクする必要があります。それはCoinのような同様のライセンスモデルを採用しています。そして、あなたは、Qtのバージョンを使用してコンパイルする必要があります。

Xerces-C++

バージョン: 2.7.0 以上

ライセンス Apache Software License Version 2.0

Xerces-C++は、C++の移植可能なサブセットとして書かれた検証用XMLパーサです。Xerces-C++を使うと、あなたのアプリケーションにXMLの読み書き機能を追加することが簡単になります。共有ライブラリは、XML文書を解析、生成、操作、検証するために提供されています。

Xerces-C++はXML 1.0の提案と、多くの関連規格(以下を参照)に忠実です。

パーサは高性能、モジュール性、スケーラビリティを提供します。ソースコード、サンプル、APIドキュメントは、パーサとともに提供されます。移植性のために、テンプレートの利用の最小化、RTTIの不使用、#ifdefsの利用を最小化するように配慮されています。

パーサはFreeCADの中のパラメータを保存および復元するために使用されます。

GTS

バージョン: 0.7.x

ライセンス: LGPL v2.0 以降

GTSは、GNU Triangulated Surface Libraryの略です。これは、三角形の結合で構成される3次元の面を取り扱うために便利な機能のセットを提供することを目的としたオープンソースフリーソフトウェアライブラリです。ソースコードはフリーソフトウェアLGPLライセンスの下で無料で利用可能です。

実際のところ、FreeCADのをコンパイルするのに必要ではありません。あなたはFCConfig.hの中でproprocessorスイッチで使用するかどうかの切り替えができます。

Zlib

バージョン: 1.x.x

ライセンス: zlib License zlibは自由で、汎用で、合法的に邪魔されない--これは、どの特許も侵害していない-- 実質的にどんなハードウェアやOSでも利用できるロスレスのデータ圧縮ライブラリです。 zlibのデータフォーマットはプラットフォーム間で互換性があります。 Unixのcompress(1)やGIFイメージフォーマット等のLZW圧縮法とは異なり、zlibで使用されている圧縮方法は、基本的にデータを膨らますことはありません。(LZWはひどい場合は2倍や3倍のファイルサイズになります。)zlibのメモリ使用量は、入力データとは独立しており、圧縮時に必要に応じて減らすことができます。

Boost

バージョン: 1.33.x

ライセンス: Boost Software License - Version 1.0

Boost C++ライブラリは、同業者の評論の対象になるような、C++の機能を拡張したオープンソースのライブラリの機能の集まりです。ライブラリは、Boostがオープンとクローズ両方のソースのプロジェクトで使用できるように、Boost Software Licenseの下でライセンスされています。Boostの創設者の多くは、C + +の標準化委員会の上にいて、いくつかのBoostライブラリは、C++0xの技術研究報告1に組み込むために受理されています。

ライブラリは、C++ユーザとアプリケーションドメインの広い範囲を対象としています。それらはSmartPtrような汎用ライブラリから、ファイルシステムのようなOSの抽象化、主に、MPLのような他のライブラリの開発と高度なC++ユーザーを目的としたライブラリを範囲としています。

効率性と柔軟性を確保するために、Boostはテンプレートを多用します。 BoostはC++言語でのジェネリックプログラミングやメタプログラミングに広範な仕事や研究の源となっています。

http://www.boost.org/ for details. を見てください。

LibPack

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

FreeCADLibs7.x Changelog

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


ご利用可能な言語: Flag-en.jpg Flag-es.jpg Flag-fr.jpg Flag-it.jpg Flag-ru.jpg