Feature list/ja: Difference between revisions

From FreeCAD Documentation
No edit summary
(Replaced content with "=== ドキュメント構造 ===")
Line 80: Line 80:


=== ドキュメント構造 ===
=== ドキュメント構造 ===

* '''アンドゥ/リドゥフレームワーク''': アンドゥスタックにアスセスすることで全ての操作をアンドゥ/リドゥ可能です。一度に複数のステップをアンドゥすることができます。

* '''トランザクションマネージメント''': アンドゥ/リドゥスタックは一つのアクションではなくドキュメントのトランザクションを保持します。これによって各ツールは何をアンドゥまたはリドゥするかを正確に定義することができます。

* '''パラメーター連想ドキュメントオブジェクト''': FreeCADドキュメント上のオブジェクトは全てパラメーターによって定義することが可能です。このパラメーターは動的に変更することが可能でいつでも再計算を行えます。オブジェクトの間の関連付けを保持することも可能なので一つのオブジェクトを変更するとそれに依存したオブジェクトも変更されます。

* '''(ZIPベースの)複合ドキュメント保存フォーマット''': FreeCADドキュメントは.[[fcstd file format/jp|fcstd]]拡張子で保存できます。これにはジオメトリー、スクリプト、サムネイルアイコンといったさまざまな種類の情報を保存することができます。

=== ユーザーインターフェイス ===

* '''完全にカスタマイズ/スクリプト化可能なグラフィカルユーザーインターフェース'''。
[http://www.qtsoftware.com Qt]ベースのFreeCADのインターフェイスに対してはPythonインタープリターを介した完全なアクセスが可能です。FreeCAD自体がワークベンチに提供する単純な機能だけではなく、Qtフレームワーク全体にアクセスできます。これによってウィジットとツールバーに対して作成、追加、ドッキング、削除といった任意のGUI操作を行うことができます。

* '''ワークベンチというコンセプト''': FreeCADのインターフェイスではツールは[[workbenches/jp|ワークベンチ]]によってグループ分けされます。これによってある作業を行うために必要なツールだけを表示し、作業スペースを整頓された使いやすい状態に保ち、アプリケーションの読み込みを高速にすることができます。

* '''組み込みのPythonコンソール'''には構文ハイライト機能、自動補完機能、クラスブラウザーが備わっています。Pythonコマンドは直接FreeCADに発行され、結果は直ちに返されます。これによってスクリプト作成者は動的に機能をテストすることができ、モジュールの中身を調べてFreeCADの内部構造を簡単に学ぶことができます。

* '''コンソール上でのユーザー操作のミラーリング''': ユーザーがFreeCADのインターフェイスを介して行った操作はPythonのコードによって実行できます。このPythonのコードはコンソール上に表示したり、マクロとして記録することができます。

* '''完全なマクロ記録と編集''': ユーザーがインターフェイスを操作するとPythonコマンドが発行され、必要な場合はそれを記録、編集して後で再現するために保存することができます。

* '''サムネイラー''' (今のところLinuxシステムのみ): GnomeのNautilusを始めとしたほとんどのファイルマネージャーアプリケーションでFreeCAD ドキュメントのアイコン上にファイルの内容を表示します。

== アプリケーション固有の機能 ==

FreeCADの機能はモジュールに分割されています。それぞれのモジュールは固有のデータタイプとアプリケーションを扱います:

===[[Image:Workbench_Mesh.png]] [[Mesh Module/jp|メッシュ]] ===

[[Image:Screenshot_mesh.jpg|300px|right]]

* [[Mesh Module/jp|メッシュモジュール]]は3Dメッシュを扱います。主にサードパーティが作成したメッシュジオメトリーをFreeCADにインポートし、修正し、変換してエクスポートすることを目的としています。ただしFreeCAD自体にもメッシュに留まらないより高度なジオメトリータイプが備わっています。

* '''プリミティブの作成'''(直方体、球、円筒など)、'''オフセット''' (trivial or after Jung/Shin/Choi)、'''ブーリアン演算''' (加算, 切断、交差)

* '''インポート''' 以下の形式をインポート可能: ASCII・バイナリの[http://en.wikipedia.org/wiki/STL_%28file_format%29 STL (Stereo lithography format)] ('''*.stl, *.ast''')、[http://en.wikipedia.org/wiki/Obj OBJ format] ('''*.obj''')、[http://en.wikipedia.org/wiki/NASTRAN NASTRAN]を一部サポート ('''*.nas''')、[http://en.wikipedia.org/wiki/Open_Inventor Open Inventor]メッシュ ('''*.iv''')、FreeCADのネイティブメッシュカーネル ('''*.bms''')

* '''エクスポート''' 以下の形式をエクスポート可能: ASCII・バイナリの[http://en.wikipedia.org/wiki/STL_%28file_format%29 STL (Stereo lithography format)] ('''*.stl, *.ast''')、[http://en.wikipedia.org/wiki/Obj OBJ format] ('''*.obj''')、[http://en.wikipedia.org/wiki/NASTRAN NASTRAN]を一部サポート ('''*.nas, *.brl''')、[http://en.wikipedia.org/wiki/VRML VRML]メッシュ ('''*.wrl''')、FreeCADのネイティブメッシュカーネル ('''*.bms''')、Pythonモジュールとしてのメッシュ ('''*.py''')

* '''テストと修正'''をメッシュに行うためのツール: ソリッドかどうかのテスト、非2次元多様体かどうかのテスト、自己交差しているかどうかのテスト、穴埋めと向きの統一。

* '''たくさんの [[Mesh Scripting/jp|PythonスクリプトAPI]]'''。

===[[Image:Workbench_Draft.png]] [[Draft Module/jp|2D製図]] ===

* 3D空間内の任意の面上でのライン、ワイヤー、長方形、円弧、円などの'''単純な平面ジオメトリー'''のグラフィカルな作成

* 文字や数字での'''注釈'''

* 3D空間内の任意の面上での移動、回転、拡大縮小、鏡像反転、オフセット、形状変換といったグラフィカルな'''変更操作'''

* '''インポート'''と'''エクスポート''' 以下の形式をサポート: AutodeskのDrawing Exchange Format ('''*.dxf''')、Open Cad Format ('''*.oca, *.gcad''')、SVG ('''*.svg''')

===[[Image:Workbench_Part.png]] [[Part Module/jp|CAD]] ===

[[Image:Part_BooleanOperations.png|300px|right|結合、交差、減算の例]]

* [[Part Module/jp|パートモジュール]]はCADモデリングとCADデータ構造に関係した全てを扱います。CAD機能はとりわけ注力して開発が行われています([[Development_roadmap/jp|開発ロードマップ]]の[[PartDesign_project/jp|パート設計プロジェクト]]と[[Assembly_project/jp|アセンブリプロジェクト]]を参照してください)。 [[Part Module/jp|パートモジュール]]は高レベルの[http://en.wikipedia.org/wiki/Open_CASCADE Open CASCADE]ジオメトリーを使用しています。

* '''パラメトリックなプリミティブ形状''' 直方体、球、円筒、円錐、トーラスなど

* '''頂点、辺、ワイヤー'''また'''面'''といった幾何形状部品 (Pythonスクリプト経由)

* 直線、曲線の'''押し出し'''、'''分割'''、'''フィレット'''によるモデリング

* '''[http://en.wikipedia.org/wiki/Constructive_solid_geometry ブーリアン演算]''' '''和集合'''、'''差集合'''、'''共通集合'''など

* '''たくさんの[[Topological_data_scripting/jp|PythonスクリプトAPI]]'''。

* '''インポート'''と'''エクスポート''' 以下の形式をサポート: [http://en.wikipedia.org/wiki/Standard_for_the_Exchange_of_Product_model_data STEP] パーツとアセンブリ ('''*.stp,*.step''')、[http://en.wikipedia.org/wiki/IGES IGES]モジュール ('''*.igs, *.iges''') とBRep ('''*.brp''')、私たちが使っている[http://en.wikipedia.org/wiki/Open_CASCADE Open CASCADE] CADカーネルのネイティブフォーマット。

=== [[Raytracing Module/jp|レイトレーシング]] ===

* [[Raytracing Module/jp|レイトレーシングモジュール]]を使うとFreeCAD上のジオメトリーをエクスポートして高品質な画像作成するための'''外部のレンダリングソフトウェア'''で使うことができます。今のところサポートしているレンダリングエンジンは[http://en.wikipedia.org/wiki/POV-Ray POV-Ray]だけです。現在のところこのモジュールはレンダーシートを作成し、POV-Rayファイルにエクスポートするためにジオメトリーをレンダーシートに追加することができます。

=== [[Drawing Module/jp|図化]] ===

* [[Drawing Module/jp|図化モジュール]]では3Dジオメトリーの投影図を'''2D SVGドキュメント'''としてエクスポートすることができます。このモジュールでは既存のSVGテンプレートを使った2Dシートとそのシートに対するジオメトリーの投影図を作成することができます。作成したシートはSVGファイルとして保存可能です。

=== [[Cam Module/jp|CAM]] ===

* [[Cam Module/jp|CAMモジュール]]はスライス加工など機械加工のために用意されています。このモジュールはまだ開発が始まったばかりで、今のところ[http://en.wikipedia.org/wiki/Incremental_sheet_forming インクリメンタルなシート成形]にもっとも力が注がれています。他にもいくつかの工具経路計画アルゴリズムがありますが今のところはエンドユーザーが使えるようにはなっていません。


*'''FreeCADはマルチプラットフォームです'''。WIndows、Linux、Mac OSXで完全に同じように動作します。
*'''FreeCADはマルチプラットフォームです'''。WIndows、Linux、Mac OSXで完全に同じように動作します。

Revision as of 16:15, 9 December 2018

以下はFreeCADに実装されている多くの機能のリストです。ただし機能が多いため全てが記載されているわけではありません。もし将来的な計画について知りたいのであれば開発ロードマップを見てください。機能を概観したいのであればスクリーンショットを見るとよいでしょう。

リリースノート

一般的な機能

基本アプリケーション

アプリケーション固有の機能

FreeCADの機能はモジュールに分割されています。それぞれのモジュールは固有のデータタイプとアプリケーションを扱います:

File:Workbench Mesh.png メッシュ

  • メッシュモジュールは3Dメッシュを扱います。主にサードパーティが作成したメッシュジオメトリーをFreeCADにインポートし、修正し、変換してエクスポートすることを目的としています。ただしFreeCAD自体にもメッシュに留まらないより高度なジオメトリータイプが備わっています。


  • エクスポート 以下の形式をエクスポート可能: ASCII・バイナリのSTL (Stereo lithography format) (*.stl, *.ast)、OBJ format (*.obj)、NASTRANを一部サポート (*.nas, *.brl)、VRMLメッシュ (*.wrl)、FreeCADのネイティブメッシュカーネル (*.bms)、Pythonモジュールとしてのメッシュ (*.py)
  • テストと修正をメッシュに行うためのツール: ソリッドかどうかのテスト、非2次元多様体かどうかのテスト、自己交差しているかどうかのテスト、穴埋めと向きの統一。

2D製図

  • 3D空間内の任意の面上でのライン、ワイヤー、長方形、円弧、円などの単純な平面ジオメトリーのグラフィカルな作成
  • 文字や数字での注釈
  • 3D空間内の任意の面上での移動、回転、拡大縮小、鏡像反転、オフセット、形状変換といったグラフィカルな変更操作
  • インポートエクスポート 以下の形式をサポート: AutodeskのDrawing Exchange Format (*.dxf)、Open Cad Format (*.oca, *.gcad)、SVG (*.svg)

CAD

結合、交差、減算の例
結合、交差、減算の例
  • パラメトリックなプリミティブ形状 直方体、球、円筒、円錐、トーラスなど
  • 頂点、辺、ワイヤーまたといった幾何形状部品 (Pythonスクリプト経由)
  • 直線、曲線の押し出し分割フィレットによるモデリング
  • インポートエクスポート 以下の形式をサポート: STEP パーツとアセンブリ (*.stp,*.step)、IGESモジュール (*.igs, *.iges) とBRep (*.brp)、私たちが使っているOpen CASCADE CADカーネルのネイティブフォーマット。

レイトレーシング

  • レイトレーシングモジュールを使うとFreeCAD上のジオメトリーをエクスポートして高品質な画像作成するための外部のレンダリングソフトウェアで使うことができます。今のところサポートしているレンダリングエンジンはPOV-Rayだけです。現在のところこのモジュールはレンダーシートを作成し、POV-Rayファイルにエクスポートするためにジオメトリーをレンダーシートに追加することができます。

図化

  • 図化モジュールでは3Dジオメトリーの投影図を2D SVGドキュメントとしてエクスポートすることができます。このモジュールでは既存のSVGテンプレートを使った2Dシートとそのシートに対するジオメトリーの投影図を作成することができます。作成したシートはSVGファイルとして保存可能です。

CAM

  • CAMモジュールはスライス加工など機械加工のために用意されています。このモジュールはまだ開発が始まったばかりで、今のところインクリメンタルなシート成形にもっとも力が注がれています。他にもいくつかの工具経路計画アルゴリズムがありますが今のところはエンドユーザーが使えるようにはなっていません。

ドキュメント構造

  • FreeCADはマルチプラットフォームです。WIndows、Linux、Mac OSXで完全に同じように動作します。
  • FreeCADは完全なGUIアプリケーションです。FreeCADは完全なグラフィカルユーザーインターフェースを持っています。このグラフィカルユーザーインターフェースはよく知られるQtフレームワークを基盤にしており、3DビューワーはOpen Inventorを元に作成されています。これによって高速な3Dシーン描画が可能になり、シーンのグラフィック表現の取り扱いが非常に容易になっています。
  • FreeCADはコマンドラインアプリケーションとしても動作します。この場合にはメモリーの消費量を低くすることができます。コマンドラインモードでのFreeCADはインターフェイス無しで実行されますが、全てのジオメトリツールを使用することができます。これによって例えば他のアプリケーション用のデータを作成するためのサーバーとしてFreeCADを使用することが可能になります。
  • FreeCADはPythonモジュールとしてインポートすることができます。pythonスクリプトを実行できる他のアプリケーション内部、あるいはpythonコンソールへインポート可能です。コンソールモードの場合と同様、FreeCADのインターフェイス部分を使用することはできませんが、全てのジオメトリツールを使用することができます。
  • ワークベンチというコンセプト: FreeCADのインターフェイスではツールはワークベンチによってグループ分けされます。これによってある作業を行うために必要なツールだけを表示し、作業スペースを整頓された使いやすい状態に保ち、アプリケーションの読み込みを高速にすることができます。
  • 組み込みのスクリプトフレームワーク: FreeCADにはPythonインタープリターが組み込まれています。またアプリケーション、インターフェイス、ジオメトリー、3Dビューワー上のジオメトリー表現のほとんど全てを網羅したAPIを兼ね備えています。インタープリターは1つのコマンドから複雑なスクリプトまで実行でき、実質的には全モジュールを完全にPythonでプログラムすることさえ可能です。
  • パラメーター連想ドキュメントオブジェクト: FreeCADドキュメント上のオブジェクトは全てパラメーターによって定義することが可能です。このパラメーターは動的に変更することが可能でいつでも再計算を行えます。オブジェクトの間の関連付けを保持することも可能なので一つのオブジェクトを変更するとそれに依存したオブジェクトも変更されます。
  • 'パラメトリックプリミティブ作成' (ボックス、球、円柱など)
  • プリミティブの作成(直方体、球、円筒など)、オフセット (trivial or after Jung/Shin/Choi)、ブーリアン演算 (加算, 切断、交差)
  • '[1]' (和集合、差、交差)
  • Graphical creation of planar geometry like lines, wires, rectangles, b-splines, circular or elliptic arcs in any plane of the 3D space
  • Modeling with straight or revolution extrusions, sections and fillets.
  • Topological components like vertices, edges, wires and planes (also via Python scripting).
  • Testing and repairing tools for meshes: solid test, non-two-manifolds test, self-intersection test, hole filling and uniform orientation.
  • Annotations like texts or dimensions

アンドゥ/リドゥフレームワーク: アンドゥスタックにアスセスすることで全ての操作をアンドゥ/リドゥ可能です。一度に複数のステップをアンドゥすることができます。

  • トランザクションマネージメント: アンドゥ/リドゥスタックは一つのアクションではなくドキュメントのトランザクションを保持します。これによって各ツールは何をアンドゥまたはリドゥするかを正確に定義することができます。
  • Built-in scripting framework: FreeCAD features a built-in Python interpreter, and an API that covers almost any part of the application, the interface, the geometry and the representation of this geometry in the 3D viewer. The interpreter can run single commands up to complex scripts, in fact entire modules can even be programmed completely in Python.
  • 組み込みのPythonコンソールには構文ハイライト機能、自動補完機能、クラスブラウザーが備わっています。Pythonコマンドは直接FreeCADに発行され、結果は直ちに返されます。これによってスクリプト作成者は動的に機能をテストすることができ、モジュールの中身を調べてFreeCADの内部構造を簡単に学ぶことができます。
  • コンソール上でのユーザー操作のミラーリング: ユーザーがFreeCADのインターフェイスを介して行った操作はPythonのコードによって実行できます。このPythonのコードはコンソール上に表示したり、マクロとして記録することができます。
  • 完全なマクロ記録と編集: ユーザーがインターフェイスを操作するとPythonコマンドが発行され、必要な場合はそれを記録、編集して後で再現するために保存することができます。
  • (ZIPベースの)複合ドキュメント保存フォーマット: FreeCADドキュメントは.fcstd拡張子で保存できます。これにはジオメトリー、スクリプト、サムネイルアイコンといったさまざまな種類の情報を保存することができます。

完全にカスタマイズ/スクリプト化可能なグラフィカルユーザーインターフェースQtベースのFreeCADのインターフェイスに対してはPythonインタープリターを介した完全なアクセスが可能です。FreeCAD自体がワークベンチに提供する単純な機能だけではなく、Qtフレームワーク全体にアクセスできます。これによってウィジットとツールバーに対して作成、追加、ドッキング、削除といった任意のGUI操作を行うことができます。

  • サムネイラー (今のところLinuxシステムのみ): GnomeのNautilusを始めとしたほとんどのファイルマネージャーアプリケーションでFreeCAD ドキュメントのアイコン上にファイルの内容を表示します。
  • モジュール化されたMSIインストーラーによってWindowsシステム上への柔軟なインストールが可能です。Ubuntuシステム用のパッケージも整備されています。

In development

  • left複数のプロジェクト、複数の図形、複数の文書、複数のファイル、複数の関係を扱うことを可能にする Assembly計画状態です。

Extra Workbenches

Power users have created various custom external workbenches.


Template:Docnav/jp