FreeCAD

FreeCADはオープンソースの汎用3D CAD モデラーである。主に機械工学やプロダクトデザイン向けであるが、それにとどまらず建築やその他の専門分野など工学全般での利用に適している。

1. 概要
-----

FreeCADはCATIA、Creo、Autodesk Inventor、SolidWorks やSolid Edgeなどに類似したツールを備えており、MCAD、PLM、コンピュータ支援とCAEに分類される。 コアシステムを変更せずに機能を追加することが可能なモジュラソフトウェア・アーキテクチャを採用しており、フィーチャーベースのパラメトリックなモデラーである。

CGアニメーションや、サブディビジョンサーフェス等の有機的な形状は対象とはしていない。 しかしながらその高い拡張性によって将来的には現在対象としている分野よりも広い分野で利用可能なものになる可能性がある。

2. ソフトウェア開発
-----------

FreeCADの開発は科学技術計算分野のオープンソース・ライブラリを利用して行われている。利用されているライブラリには、Open Cascade テクノロジー、Coin3D、Qt GUI Frameworkやスクリプト言語Pythonなどがある。またFreeCAD自体を他のプログラムからライブラリとして使うことも可能である。

2.1. 機能拡張
---------

機能拡張はSWIGとPythonを応用したモジュラソフトウェア・アーキテクチャ技術に基づいており、Pythonで記述することが可能である。 拡張の例として、建設・土木セクターにFreeCADを取り込み、BIM機能をArchモジュールに加える動きがあり、IFCファイルからインポートする部分的なサポートもある。

3. 機能
-----

3.1. ワークベンチ
-----------

FreeCADでは各機能はワークベンチと呼ばれるグループに分けられている。ワークベンチには以下の様なものがある。

3.1.1. パートデザイン・ワークベンチ
---------------------

2次元のスケッチ平面に円弧、直線を描き、それらに寸法拘束、幾何拘束をかけることで複雑な形状のスケッチを作図できる。作図したスケッチは押し出しを行なって立体形状にすることが可能。またその様にして作成した立体形状に対して角の丸め、面取りなどを行なうための機能もある。

File:FreeCAD PartDesign Sketch.png|スケッチの例 File:FreeCAD PartDesign Pad.png|押し出しによる立体作成の例

3.1.2. パート・ワークベンチ
-----------------

プリミティブを作成し、複数のプリミティブから論理集合をとることで立体形状を作成することができる。またスケッチャー・ワークベンチで作成したスケッチを使用してスイープ、ロフトなどの操作によって立体形状を作成することもできる。

3.1.3. レイトレーシング・ワークベンチ
----------------------

POV-Ray用、LuxRender用の入力ファイルをそれぞれエクスポートすることができる。POV-Ray、LuxRenderでエクスポートしたファイルをレンダリングすることによってレイトレーシングに基づいた3次元画像の描画が可能である。

3.1.4. FEMワークベンチ
----------------

作成した立体形状に対して計算用の3次元メッシュ分割、有限要素法を用いた応力解析、解析結果の可視化を行うことができる。

3.1.5. メッシュデザイン・ワークベンチ
----------------------

作成した立体形状に対して、粗密を調整してサーフェスメッシュを作成することができる。作成したメッシュはSTL、PLYなどの形式でエクスポートすることが可能。また逆にSTL、PLYなどの形式のファイルからインポートしたメッシュを取り扱うこともできる金子忠夫。

3.1.6. 建築ワークベンチ
---------------

3次元の建築構造物のモデリングに特化したワークベンチで、あらかじめ壁、屋根、窓、設備、構造材などがオブジェクトとして用意されている。

3.1.7. ドラフト・ワークベンチ
------------------

2次元の製図を行うためのワークベンチである。

3.1.8. ドローイング・ワークベンチ
--------------------

2次元の投影図を作成することができるワークベンチである。バージョン0.17からは同様の機能でさらに高機能なテックドロー・ワークベンチが追加されたため、公式に使用が非推奨となっている。

3.1.9. テックドロー・ワークベンチ
--------------------

他のワークベンチで作成した3次元形状を使用して製作図のような2次元の投影図を作成することができるワークベンチである。2次元図面化後に寸法や説明、ハッチングなどを追加することができる。 バージョン0.16までドローイング・ワークベンチと呼ばれていたワークベンチを刷新し機能強化が行われている。

3.1.10. イメージ・ワークベンチ
-------------------

3.1.11. インスペクション・ワークベンチ
-----------------------

3.1.12. OpenSCADワークベンチ
----------------------

3.1.13. パス・ワークベンチ
-----------------

FreeCADで作成したモデルからGコード を作成するためのワークベンチである。CNC工作機械で実際の工作物を作成するために必要な切削パスの作成、切削シミュレーション、Gコード出力が可能である。

3.1.14. プロット・ワークベンチ
-------------------

3.1.15. 点群ワークベンチ
----------------

3.1.16. リバースエンジニアリング・ワークベンチ
---------------------------

3.1.17. ロボット・ワークベンチ
-------------------

産業用ロボットアームの使用を計画するワークベンチである。

3.1.18. 船舶ワークベンチ
----------------

3.1.19. スケッチャー・ワークベンチ
---------------------

パートデザイン・ワークベンチと同様に2次元のスケッチ平面に円弧、直線を描き、それらに寸法拘束、幾何拘束をかけることで複雑な形状のスケッチを作図できる。作成したスケッチはパート・ワークベンチを使用して3次元化したり、ドラフト・ワークベンチを使用して2次元製図オブジェクト化することが可能。

3.1.20. スプレッドシート・ワークベンチ
-----------------------

スプレッドシートの機能を有するワークベンチであり、FreeCAD上で、表計算を行ったり、部品表のような表組を作成する。

3.1.21. サーフェス・ワークベンチ
--------------------

3.2. 一般機能
---------

ワークベンチとは別に汎用で以下の様な機能もある。

3.2.1. ファイルのインポート・エクスポート
------------------------

IGESやSTEP、DXF、DWG、IFCなどのCAD形式、STLやObj、PLYなどのメッシュ形式、COLLADAやVRML、WebGLなどの表示用データ形式、その他OpenSCADやPOV-Ray、CalculiXなどの各種アプリケーション向けのファイル形式をサポートしている。

3.2.2. マクロ機能
------------

FreeCADのマクロ機能は一連のGUI操作を記録してスクリプト化をする。マクロ言語としてはスクリプト言語Pythonを採用している。よく利用する機能をあらかじめテキストエディタでスクリプトに記述し、それをインタープリタにて実行することも可能である。

3.3. スクリーンショット
--------------

Image:Freecad screenshot -- The whippet.jpg Image:Freecad screenshot -- Chain adjuster.jpg Image:Freecad screenshot -- Draft module.jpg Image:Freecad screenshot -- Engine by bejant.jpg Image:Freecad screenshot -- Roof system.jpg Image:Freecad screenshot -- Projections in FreeCAD 0.14.png Image:Freecad screenshot -- Engine by psi13art.jpg Image:Freecad screenshot -- Rockn house .png Image:Freecad screenshot -- Steam loco frame.jpg Image:FreeCAD r4739 Mesh pot.png|FreeCAD 0.12によるポリゴンメッシュを用いた容器の3Dモデル Image:Loudspeaker freecad.png|FreeCAD 0.13によるスピーカーユニットの3Dモデル

4. 関連項目
-------

Open Cascade テクノロジー
パラメトリック方程式
測域センサ
有限要素法
境界要素法
形体
形体に基づいた幾何学手法 
形体に基づいた手法 
形体に基づいたメソッド 
形体認識

5. 参考文献
-------

6. 脚注
-----

7. 外部リンク
--------

・・・
[1]
[2]