Translations:Feature list/5/ja: Difference between revisions
(Created page with "*'''FreeCADはマルチプラットフォームです'''。WIndows、Linux、Mac OSXで完全に同じように動作します。 * '''FreeCADは完全なGUIアプリケー...") |
No edit summary |
||
Line 1: | Line 1: | ||
=== ドキュメント構造 === |
|||
*'''FreeCADはマルチプラットフォームです'''。WIndows、Linux、Mac OSXで完全に同じように動作します。 |
|||
* '''アンドゥ/リドゥフレームワーク''': アンドゥスタックにアスセスすることで全ての操作をアンドゥ/リドゥ可能です。一度に複数のステップをアンドゥすることができます。 |
|||
* '''FreeCADは完全なGUIアプリケーションです'''。FreeCADは完全なグラフィカルユーザーインターフェースを持っています。このグラフィカルユーザーインターフェースはよく知られる[http://www.qtsoftware.com/ Qt]フレームワークを基盤にしており、3Dビューワーは[http://en.wikipedia.org/wiki/Open_Inventor Open Inventor]を元に作成されています。これによって高速な3Dシーン描画が可能になり、シーンのグラフィック表現の取り扱いが非常に容易になっています。 |
|||
* '''トランザクションマネージメント''': アンドゥ/リドゥスタックは一つのアクションではなくドキュメントのトランザクションを保持します。これによって各ツールは何をアンドゥまたはリドゥするかを正確に定義することができます。 |
|||
* '''FreeCADはコマンドラインアプリケーションとしても動作します'''。この場合にはメモリーの消費量を低くすることができます。コマンドラインモードでのFreeCADはインターフェイス無しで実行されますが、全てのジオメトリツールを使用することができます。これによって例えば他のアプリケーション用のデータを作成するためのサーバーとしてFreeCADを使用することが可能になります。 |
|||
* '''パラメーター連想ドキュメントオブジェクト''': FreeCADドキュメント上のオブジェクトは全てパラメーターによって定義することが可能です。このパラメーターは動的に変更することが可能でいつでも再計算を行えます。オブジェクトの間の関連付けを保持することも可能なので一つのオブジェクトを変更するとそれに依存したオブジェクトも変更されます。 |
|||
* '''FreeCADは[[Embedding FreeCAD/jp|Pythonモジュール]]としてインポートすることができます'''。pythonスクリプトを実行できる他のアプリケーション内部、あるいはpythonコンソールへインポート可能です。コンソールモードの場合と同様、FreeCADのインターフェイス部分を使用することはできませんが、全てのジオメトリツールを使用することができます。 |
|||
* '''(ZIPベースの)複合ドキュメント保存フォーマット''': FreeCADドキュメントは.[[fcstd file format/jp|fcstd]]拡張子で保存できます。これにはジオメトリー、スクリプト、サムネイルアイコンといったさまざまな種類の情報を保存することができます。 |
|||
* '''機能/データタイプの遅延読み込みのためのプラグイン/モジュールフレームワーク'''。FreeCADはコアアプリケーションと必要な場合にのみロードされるモジュールに分割されています。ほとんど全てのツールとジオメトリータイプはモジュールとして保持されています。モジュールはプラグインのように動作し、既にインストールされたFreeCADに対して追加したり削除したりすることが可能です。 |
|||
=== ユーザーインターフェイス === |
|||
* '''組み込みの[[Scripting/jp|スクリプト]]フレームワーク''': FreeCADには[http://www.python.org/ Python]インタープリターが組み込まれています。またアプリケーション、インターフェイス、ジオメトリー、3Dビューワー上のジオメトリー表現のほとんど全てを網羅したAPIを兼ね備えています。インタープリターは1つのコマンドから複雑なスクリプトまで実行でき、実質的には全モジュールを完全にPythonでプログラムすることさえ可能です。 |
|||
* '''完全にカスタマイズ/スクリプト化可能なグラフィカルユーザーインターフェース'''。 |
|||
* '''モジュール化されたMSIインストーラー'''によってWindowsシステム上への柔軟なインストールが可能です。Ubuntuシステム用のパッケージも整備されています。 |
|||
[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 インクリメンタルなシート成形]にもっとも力が注がれています。他にもいくつかの工具経路計画アルゴリズムがありますが今のところはエンドユーザーが使えるようにはなっていません。 |
Revision as of 15:36, 9 December 2018
ドキュメント構造
- アンドゥ/リドゥフレームワーク: アンドゥスタックにアスセスすることで全ての操作をアンドゥ/リドゥ可能です。一度に複数のステップをアンドゥすることができます。
- トランザクションマネージメント: アンドゥ/リドゥスタックは一つのアクションではなくドキュメントのトランザクションを保持します。これによって各ツールは何をアンドゥまたはリドゥするかを正確に定義することができます。
- パラメーター連想ドキュメントオブジェクト: FreeCADドキュメント上のオブジェクトは全てパラメーターによって定義することが可能です。このパラメーターは動的に変更することが可能でいつでも再計算を行えます。オブジェクトの間の関連付けを保持することも可能なので一つのオブジェクトを変更するとそれに依存したオブジェクトも変更されます。
- (ZIPベースの)複合ドキュメント保存フォーマット: FreeCADドキュメントは.fcstd拡張子で保存できます。これにはジオメトリー、スクリプト、サムネイルアイコンといったさまざまな種類の情報を保存することができます。
ユーザーインターフェイス
- 完全にカスタマイズ/スクリプト化可能なグラフィカルユーザーインターフェース。
QtベースのFreeCADのインターフェイスに対してはPythonインタープリターを介した完全なアクセスが可能です。FreeCAD自体がワークベンチに提供する単純な機能だけではなく、Qtフレームワーク全体にアクセスできます。これによってウィジットとツールバーに対して作成、追加、ドッキング、削除といった任意のGUI操作を行うことができます。
- ワークベンチというコンセプト: FreeCADのインターフェイスではツールはワークベンチによってグループ分けされます。これによってある作業を行うために必要なツールだけを表示し、作業スペースを整頓された使いやすい状態に保ち、アプリケーションの読み込みを高速にすることができます。
- 組み込みのPythonコンソールには構文ハイライト機能、自動補完機能、クラスブラウザーが備わっています。Pythonコマンドは直接FreeCADに発行され、結果は直ちに返されます。これによってスクリプト作成者は動的に機能をテストすることができ、モジュールの中身を調べてFreeCADの内部構造を簡単に学ぶことができます。
- コンソール上でのユーザー操作のミラーリング: ユーザーがFreeCADのインターフェイスを介して行った操作はPythonのコードによって実行できます。このPythonのコードはコンソール上に表示したり、マクロとして記録することができます。
- 完全なマクロ記録と編集: ユーザーがインターフェイスを操作するとPythonコマンドが発行され、必要な場合はそれを記録、編集して後で再現するために保存することができます。
- サムネイラー (今のところLinuxシステムのみ): GnomeのNautilusを始めとしたほとんどのファイルマネージャーアプリケーションでFreeCAD ドキュメントのアイコン上にファイルの内容を表示します。
アプリケーション固有の機能
FreeCADの機能はモジュールに分割されています。それぞれのモジュールは固有のデータタイプとアプリケーションを扱います:
File:Workbench Mesh.png メッシュ
- メッシュモジュールは3Dメッシュを扱います。主にサードパーティが作成したメッシュジオメトリーをFreeCADにインポートし、修正し、変換してエクスポートすることを目的としています。ただしFreeCAD自体にもメッシュに留まらないより高度なジオメトリータイプが備わっています。
- プリミティブの作成(直方体、球、円筒など)、オフセット (trivial or after Jung/Shin/Choi)、ブーリアン演算 (加算, 切断、交差)
- インポート 以下の形式をインポート可能: ASCII・バイナリのSTL (Stereo lithography format) (*.stl, *.ast)、OBJ format (*.obj)、NASTRANを一部サポート (*.nas)、Open Inventorメッシュ (*.iv)、FreeCADのネイティブメッシュカーネル (*.bms)
- エクスポート 以下の形式をエクスポート可能: ASCII・バイナリのSTL (Stereo lithography format) (*.stl, *.ast)、OBJ format (*.obj)、NASTRANを一部サポート (*.nas, *.brl)、VRMLメッシュ (*.wrl)、FreeCADのネイティブメッシュカーネル (*.bms)、Pythonモジュールとしてのメッシュ (*.py)
- テストと修正をメッシュに行うためのツール: ソリッドかどうかのテスト、非2次元多様体かどうかのテスト、自己交差しているかどうかのテスト、穴埋めと向きの統一。
- たくさんの PythonスクリプトAPI。
2D製図
- 3D空間内の任意の面上でのライン、ワイヤー、長方形、円弧、円などの単純な平面ジオメトリーのグラフィカルな作成
- 文字や数字での注釈
- 3D空間内の任意の面上での移動、回転、拡大縮小、鏡像反転、オフセット、形状変換といったグラフィカルな変更操作
- インポートとエクスポート 以下の形式をサポート: AutodeskのDrawing Exchange Format (*.dxf)、Open Cad Format (*.oca, *.gcad)、SVG (*.svg)
CAD
- パートモジュールはCADモデリングとCADデータ構造に関係した全てを扱います。CAD機能はとりわけ注力して開発が行われています(開発ロードマップのパート設計プロジェクトとアセンブリプロジェクトを参照してください)。 パートモジュールは高レベルのOpen CASCADEジオメトリーを使用しています。
- パラメトリックなプリミティブ形状 直方体、球、円筒、円錐、トーラスなど
- 頂点、辺、ワイヤーまた面といった幾何形状部品 (Pythonスクリプト経由)
- 直線、曲線の押し出し、分割、フィレットによるモデリング
- ブーリアン演算 和集合、差集合、共通集合など
- たくさんのPythonスクリプトAPI。
- インポートとエクスポート 以下の形式をサポート: STEP パーツとアセンブリ (*.stp,*.step)、IGESモジュール (*.igs, *.iges) とBRep (*.brp)、私たちが使っているOpen CASCADE CADカーネルのネイティブフォーマット。
レイトレーシング
- レイトレーシングモジュールを使うとFreeCAD上のジオメトリーをエクスポートして高品質な画像作成するための外部のレンダリングソフトウェアで使うことができます。今のところサポートしているレンダリングエンジンはPOV-Rayだけです。現在のところこのモジュールはレンダーシートを作成し、POV-Rayファイルにエクスポートするためにジオメトリーをレンダーシートに追加することができます。
図化
- 図化モジュールでは3Dジオメトリーの投影図を2D SVGドキュメントとしてエクスポートすることができます。このモジュールでは既存のSVGテンプレートを使った2Dシートとそのシートに対するジオメトリーの投影図を作成することができます。作成したシートはSVGファイルとして保存可能です。
CAM
- CAMモジュールはスライス加工など機械加工のために用意されています。このモジュールはまだ開発が始まったばかりで、今のところインクリメンタルなシート成形にもっとも力が注がれています。他にもいくつかの工具経路計画アルゴリズムがありますが今のところはエンドユーザーが使えるようにはなっていません。