FreeCAD

FreeCADはオープンソース(LGPLライセンス)の汎用3D CAD モデラーである。主に機械工学やプロダクトデザイン向けであるが、それにとどまらず建築やその他の専門分野など工学全般での利用に適している。
概要.
FreeCADはCATIA、Creo、Autodesk Inventor、SolidWorks やSolid Edgeなどに類似したツールを備えており、、PLM、とCAEに分類される。
コアシステムを変更せずに機能を追加することが可能なモジュラソフトウェア・アーキテクチャを採用しており、フィーチャーベースのパラメトリックなモデラー(ソリッドモデリングのモデラー)である。
（Blenderなどの3DCGソフトウェアに見られるような）CGアニメーションや、（Maya、3ds MaxまたはCinema 4Dのように）サブディビジョンサーフェス等の有機的な形状は対象とはしていない。
しかしながらその高い拡張性によって将来的には現在対象としている分野よりも広い分野で利用可能なものになる可能性がある。
ソフトウェア開発.
FreeCADの開発は科学技術計算分野のオープンソース・ライブラリを利用して行われている。利用されているライブラリには、（強力なCADカーネルである）Open Cascade テクノロジー、（Open Inventorクーロンの）、Qt GUI Frameworkやスクリプト言語Pythonなどがある。またFreeCAD自体を他のプログラムからライブラリとして使うことも可能である。
機能拡張.
機能拡張はSWIGとPythonを応用したモジュラソフトウェア・アーキテクチャ技術に基づいており、Pythonで記述することが可能である。
拡張の例として、建設・土木()セクターにFreeCADを取り込み、BIM機能をArchモジュールに加える動きがあり、IFCファイルからインポートする部分的なサポートもある。
機能.
ワークベンチ.
FreeCADでは各機能はワークベンチと呼ばれるグループに分けられている。ワークベンチには以下の様なものがある。
パートデザイン・ワークベンチ.
2次元のスケッチ平面に円弧、直線を描き、それらに寸法拘束、幾何拘束をかけることで複雑な形状のスケッチを作図できる。作図したスケッチは押し出しを行なって立体形状にすることが可能。またその様にして作成した立体形状に対して角の丸め、面取りなどを行なうための機能もある。
パート・ワークベンチ.
プリミティブを作成し、複数のプリミティブから論理集合(ブーリアン演算, 空間領域構成法)をとることで立体形状を作成することができる。またスケッチャー・ワークベンチで作成したスケッチを使用してスイープ、ロフトなどの操作によって立体形状を作成することもできる。
レイトレーシング・ワークベンチ.
POV-Ray用、LuxRender用の入力ファイルをそれぞれエクスポートすることができる。POV-Ray、LuxRenderでエクスポートしたファイルをレンダリングすることによってレイトレーシングに基づいた3次元画像の描画が可能である。
FEMワークベンチ.
作成した立体形状に対して計算用の3次元メッシュ分割、有限要素法を用いた応力解析、解析結果の可視化を行うことができる。
メッシュデザイン・ワークベンチ.
作成した立体形状に対して、粗密を調整してサーフェスメッシュを作成することができる。作成したメッシュはSTL、PLYなどの形式でエクスポートすることが可能。また逆にSTL、PLYなどの形式のファイルからインポートしたメッシュを取り扱うこともできる。
建築ワークベンチ.
3次元の建築構造物のモデリングに特化したワークベンチで、あらかじめ壁、屋根、窓、設備、構造材などがオブジェクトとして用意されている。
ドラフト・ワークベンチ.
2次元の製図を行うためのワークベンチである。
ドローイング・ワークベンチ.
2次元の投影図を作成することができるワークベンチである。バージョン0.17からは同様の機能でさらに高機能なテックドロー・ワークベンチが追加されたため、公式に使用が非推奨となっている。
テックドロー・ワークベンチ.
他のワークベンチで作成した3次元形状を使用してのような2次元の投影図を作成することができるワークベンチである。2次元図面化後に寸法や説明、ハッチングなどを追加することができる。
バージョン0.16までドローイング・ワークベンチと呼ばれていたワークベンチを刷新し機能強化が行われている。
パス・ワークベンチ.
FreeCADで作成したモデルからを作成するためのワークベンチである。CNC（コンピュータ数値制御）工作機械で実際の工作物を作成するために必要な切削パスの作成、切削シミュレーション、Gコード出力が可能である。
ロボット・ワークベンチ.
産業用ロボットアームの使用を計画するワークベンチである。
スケッチャー・ワークベンチ.
パートデザイン・ワークベンチと同様に2次元のスケッチ平面に円弧、直線を描き、それらに寸法拘束、幾何拘束をかけることで複雑な形状のスケッチを作図できる。作成したスケッチはパート・ワークベンチを使用して3次元化したり、ドラフト・ワークベンチを使用して2次元製図オブジェクト化することが可能。
スプレッドシート・ワークベンチ.
スプレッドシートの機能を有するワークベンチであり、FreeCAD上で、表計算を行ったり、部品表のような表組を作成する。
一般機能.
ワークベンチとは別に汎用で以下の様な機能もある。
ファイルのインポート・エクスポート.
IGESやSTEP、DXF、DWG、IFCなどのCAD形式、STLやObj、PLYなどのメッシュ形式、COLLADAやVRML、WebGL(HTML5)などの表示用データ形式、その他OpenSCADやPOV-Ray、などの各種アプリケーション向けのファイル形式をサポートしている。
マクロ機能.
FreeCADのマクロ機能は一連のGUI操作を記録してスクリプト化をする。マクロ言語としてはスクリプト言語Pythonを採用している。よく利用する機能をあらかじめテキストエディタでスクリプトに記述し、それをインタープリタにて実行することも可能である。