Draft tutorial/jp

このチュートリアルではFreeCADの2D製図モジュールの使って簡単な建築図面を作成する方法を説明します. 説明のために簡単なレンガ作りの小屋を製図していきます. さて小屋の位置を示すCAD図面を受け取ったと考えてください. それを使って私たちのプロジェクトをその上に書き込むことにしましょう. 平面図、断面図、そして二つの立面図を描くことにします.

はじめる前に
憶えておいて欲しいのはFreeCADはまだ開発の初期段階にあるということです. ですから他のCADアプリケーションほどは便利ではないかもしれませんし、恐らくバグに遭遇したり、クラッシュを経験することもあるでしょう. 現在、FreeCADではバックアップファイルを作成することができます. バックアップファイルの数はユーザー設定ダイアログで指定することができます. FreeCADの扱いに慣れるまでは2､3つのバックアップファイル作成することをためらわないでください.

作業結果はこまめに保存してください. ときどきは別名で保存したほうがいいでしょう. そうすればやり直すための"安全な"コピーが保持され、コマンドで思うような結果にならないような場合に備えることができます.

FreeCADワークスペースの調整
FreeCADは3Dモデラーですがこのチュートリアルでは2D作業用の機能しか使用しません. 製図は基面上で行い、私たちが描く全ての物体はZ座標ゼロになります. ですからまずキーを押して上面図表示に切り替え、表示が正投影になっていることを確認しましょう（キー）. さもないと透視図法の影響で正しい描画ができなくなる可能性があります.

やっておくべき非常に重要なことがもう一つあります. 製図コマンドに対するカスタムホットキーの設定です. これを行うと全てのコマンド操作をキーボードから行えるようになり、作業スピードが劇的に改善されます. 基本的には全てをキーボードから行うことが可能で、マウスが必要となるのは点の描画とオブジェクトの選択のみになります. メニューのCustomize -> Keyboard -> Category Pythonを選択し、好きなショートカットを設定してください. 憶えやすいものにしておいた方がいいと思います. 例えば私はライン（Line）にL、ポリライン（FreeCADではワイヤー（Wire）とも呼ばれます）にW、円弧（Arc）にA、円（Circle）にC、移動（Move）にM、回転（Rotate）にR、オフセット（Offset）にF（Oは既に正投影（Orthographic）に使われています）、寸法（Dimension）にD、テキスト（Text）にT、といった具合に設定しています.

さて準備が終わりました. 製図を始めることにしましょう.

CAD製図導入
あなたが2D-CAD図面をインポートするつもりであれば、それは.dwg（AutoCAD製）や.mcd（VectorWorks製）といったプロプライエタリな形式である可能性が高いでしょう. そういったファイル形式の仕様はベンダーによって機密扱いされているのでそれらをFreeCADでサポートするのは非常に困難か、または完全に不可能です. しかしある一つのファイル形式はかなり詳細にドキュメント化されています. それがDXFです. そして製図モジュールはこのファイル形式を部分的にサポートしています.

ほとんど全てのCADアプリケーションはDXF形式でのエクスポートが可能です. またopenDWGの"Teigha file Converter"ユーティリティのようにフリーなコンバーターもいくつか存在し、それを使えばあなたのファイルをDXFに変換することも可能です. 例えばDoublecadはフリーで十分な機能がそろったCADプログラムでDXFファイルをエクスポートすることが可能です.



あなたのDXFファイルをFile -> Openダイアログを使って開いてください. いくつかのインポート設定を製図ユーザー設定画面で設定することができます. 例えばDXFファイルを元の色、線の幅でインポートしたい場合や製図コマンドバーの右側に見える現在の製図色に変換したい場合、そのように設定することができます. ただしFreeCADではオブジェクトの線の幅を決定するための汚い色の属性は必要ありません. DXFでの色は忘れ、好きに選択した色に変換することができます.

FreeCADで図面をインポートすると同じ次のようになります：



さあ手始めにクリーニングから始めましょう.

FreeCADにはAutoCADのようなレイヤーはありません. 代わりにグループを使って作業を行います. グループは製図を編成するより柔軟な方法の一つです. ツリービュー上で右クリックを行うと新しいグループを作成できます. またツリービュー内でのドラッグ・アンド・ドロップによって並べ替えや他のグループ内への移動、グループ間でのオブジェクトの移動を簡単に行うことができます. またグループ内のオブジェクト全てに現在の線の幅や色を割り当てたり、キーを押すことでその表示/非表示を切り替えることが可能です.

さて全てのオブジェクトを新しく作ったグループの一つの中に置いて植物や寸法といった使用しないオブジェクトを全て非表示にしましょう. そうすれば作業がすばやく行えます.

製図ツールの使用
とりあえず必要となるのは小屋を書くための領域だけです. "projection".という名前の別のグループに配置することにしましょう. さあキーを使って他の物を全て消し、その上で製図を始めましょう. 私たちが製図するのは守衛室とトイレのある小さな小屋で、非常にシンプルな構造のレンガ作りです. 従って図面には特別なコンクリート工事について書き込む必要はありません. ただし内壁には漆喰を張り、外壁にはセラミックを張ることにします.

それでは壁の全体形状から始めることにしましょう：



私たちのDXF図面はメーター単位で製図されています. 特に変更する理由は無いので同じ単位で製図を続けましょう. 今のところFreeCADには現実世界の単位で作業するための親切なシステムはありません. ですから私たちはたんに"1"が"1メートル"を意味するという事にして作業を行います.

もう一つ憶えておくといいのが必要であればなんであれ一時的な形状を作図しておくということです. 水平に2メートル離れた所に点が一つ必要ですか？垂直線を描いてください. その線上を水平線との交点から2メートル進んだ位置が必要な点の位置です.

CTRLキーを押しながら戸口を選択します. その後、ダウングレード.を押します.
 * 長方形を作成：キーを使って端点を割り当てられた領域の角にスナップしましょう
 * 長方形をオフセット：長方形を選択してからオフセットを押し、キーを押してコピーモードに切り替えます. マウスを一つ目の長方形の内部で動かすとオフセット方向が検出されます. 0.20と入力してEnterを押します.
 * 作成した長方形を面に変更：一つ目の長方形をアップグレードし、続いて二つ目の長方形をアップグレードします. その後、外側の長方形を選択し、CTRLを押しながら内側の長方形を選択し、ダウングレードを押します.
 * 戸口を作成：1.00 x 0.50の長方形を作成し、それをメインの壁の上辺の角に移動します（キーを押してコピーモードをオフにしてください）.
 * 戸口を正確な位置に移動：戸口を0.10左に移動します. 入り口が直接、角に接すると扉を開けるのが難しくなります.
 * 戸口を減算： 壁を選択後,

アップグレード&ダウングレードについてのメモ
さてあなたはFreeCADがその基盤とするopenCasCadeカーネルが3Dカーネルであることに気がついたと思います. このカーネルはそもそもは3D操作のために作成されているのです. そのために先ほど私たちがアップグレード操作/ダウングレード操作を使って行ったような平面の切断や結合でときどきおかしなことが起きますし、減算（や他のアップグレード/ダウングレード）が期待した結果にならないこともあります. もちろん時が経てば最終的にはこれらの動作はFreeCADの開発者によって修正されるでしょうが、さしあたりの問題を解決する代替方法を知っておいた方が賢明でしょう.

正しくアップグレード/ダウングレード/オフセットできない面を解決する最も良い方法は完全に分解されて一本のエッジになるまでとにかくダウングレードを行い、その後でエッジがつなぎ合わされて再度、新しい面になるまでアップグレードを行うことです. それがうまくいかない場合は問題がある面の上でとにかく新しいワイヤー（ポリライン）を再作成し、その端点にスナップしてから古い面を削除して新しいワイヤーをアップグレードします. 通常、自分で描いた面はアップグレード/ダウングレードで作成した面よりも適切な形状をしています.

もう一つ憶えておいて欲しいのは形状を他の形状から減算した場合、複数の面が含まれる一つのオブジェクトが作成される場合があるということです. この様なオブジェクトは後の作業で問題（正しくオフセットできないなど）になることがあるので、その様な場合は常にダウングレードツールを使ってそれを分解しておいた方がいいでしょう.

スナッピングについてのメモ
製図モジュールには二つのスナッピング方法があります：一つはパッシブスナップでたんにマウスカーソルをオブジェクトの上に置いた時に行われます（白い円のマークが表示されます）. もう一つはアクティブスナップでキーを押した時に行われます. アクティブスナップを使うと端点、中点、中心、他のオブジェクトとの交点といったオブジェクト上の特定の点にスナップすることが可能です. キーを押すと水平方向、垂直方向の拘束が行われ、さらに多くのスナッピング点を使用できます. ただしこれにはコストがかかります. FreeCADがリアルタイムで多くの計算を行わなければならないからです. たくさんのオブジェクトがある場合には違いを実感することができるでしょう. そういうわけで作業を高速化するためにはできるだけ キーを使う習慣をつけずにパッシブスナップだけで作業を行った方がいいでしょう. そうすれば計算結果をすばやく得られ、作業をより高速に行うことができます.

さあ、作業に戻りましょう：


 * 厚さ10cmの壁をメインルームとトイレの間に作成します. それをアップグレードした後、メインの壁と一緒にアップグレードして結合します.
 * 他の開口部を作成するために長方形を作成します. ここではトイレに60cmの幅に窓を、メインルームとトイレの間に80cmのドアを、さらに左右に40cmを残してメインルームに大きな窓を作成しました.
 * 全ての壁を1cmオフセットしてセメント/漆喰の層を作成します. その後、オフセットしたコピーをダウングレードしてそれをたんなるワイヤーにします.
 * セラミックの層を外壁に作成します. 漆喰のラインを2cmオフセットしてください. その後、2cmの厚みの形状を二本のラインの間に描画します.
 * 2cmのオフセットを削除します. 他の全ての製図用補助形状と同様、これももう必要ありません. もし後で必要になると感じる場合は別のグループに移動してキーで非表示にしてください.

私たちは今、こうなっているはずです（製図用補助形状はそのままにしてあります. 青い線が製図用補助形状です）：



複合オブジェクトのインポートと作成
FreeCADでは複数の他のオブジェクトの形状から作成されているオブジェクトを複合オブジェクトと呼びます. 他のソフトウェアではブロック、シンボル、コンポーネントなどと呼ばれるものです. 一つのオブジェクトの下に形状をまとめておくというのはとても便利なやり方です. 製図モジュールで作成したオブジェクトはどんなものでも複合オブジェクトの中にまとめることができます. 複合オブジェクトを作るためのコマンドはアップグレードコマンドです. 使い方は簡単で、複合オブジェクトにしたいものを全て選択してアップグレードを押すだけです. もしそれ以上他の形状にアップグレードできない場合は複合オブジェクトに変わります.

複合オブジェクトは後で再利用できるようディスク上にシンボルライブラリーを作成する際に特に便利です. すばらしいことにこれを使うとDXFインポート機能と組み合わせてDXF形式のシンボルライブラリーを非常に簡単に利用できるのです（もしあなたの持っているシンボルがdwg形式の場合はフリーの"Teigha file Converter"アプリケーションを使うとバッチ処理で全てtのライブラリーを一度に変換できます）.

DXFのシンボルライブラリーさえあれば、たんにその一つを開いているFreeCADのウィンドウにドラッグ・アンド・ドロップするだけでそれが現在のドキュメントにインポートされます. 複合オブジェクトとしてインポートされるわけではなく全てのシンボル形状が別々のオブジェクトとして読み込まれますが、簡単に全選択して"アップグレード"できます. 注意して欲しいのはAutoCADユーザーは悪い習慣で原点(0,0,0)から非常に離れた所で製図をおこなうことがあり、その場合、挿入したシンボルは製図している領域から離れた場所に置かれてしまうということです.

さあ、製図に戻りましょう：
 * 便器のシンボルをインポートします. 持っていない場合はCad Exchangeからダウンロードして"Teigha file Converter"を使ってDXFに変換してください.
 * ドアの形状を作成し、アップグレード して複合オブジェクトにした後で他のドアの位置にコピーしましょう. ダウングレードして新しいサイズに調整してから再びアップグレードするといいでしょう.
 * 窓にも同じことをします.



寸法と注釈
さて私たちの図面もだいぶ整ってきました. これで寸法 とテキストを追加することができます. これはかなりわかりやすい作業ですから多くを説明する必要は無いでしょう. 全てのものに寸法を書き入れてみましょう. 慣例として仕上げのレイヤーではなく常にメインの壁のラインから寸法線を開始します. 塗りつぶされている領域の上にテキストや寸法を書き込むと、ときどき文字が覆われてしますことがあるので注意してください. これを修正する簡単な方法は塗りつぶされている領域をダウングレードしてから再度アップグレードすることです. そうすると他の要素の下にあるものが表示されます.

寸法とテキストはデフォルトでは同じテキストの高さになっていて、これは 製図ユーザー設定 ページで変更することができます. それぞれのテキストの高さを個別に編集することができます.

あいにくテキストや寸法といった特定の非形状オブジェクトはまだFreeCADの3Dビューで選択することができないのでツリーから選択しなければなりません. またこれらのオブジェクトにスナップすることもできませんがおそらく近い将来この問題も解決されるでしょう. さらに今のところはフォントを選択することもできません. 今のところ寸法を平行に並べるにはまずラインを引いてその後で寸法をラインにスナップさせる必要があります.



編成
最後に小屋の周りの植物といったいくつかの物を追加して図面を終わらせましょう. インポートしたDXF図形から樹木をコピーし、(0.5,0.5)といったようにスケールツールで縮小します. また例えば壁をもっと厚くするなどいくつかのオブジェクトの線の幅を変更したり、オブジェクトの色を変更したりしてもいいでしょう. その後でグループにある全ての要素を整理します.

作業物を入れ子になったグループに整理することができるということは間違いなくグループが従来のレイヤーより優れている点です. このチュートリアルで私はオブジェクトをタイプごとにPlanグループ内でグループ化していました. 例えば一つのレイヤーに図面の全ての寸法を書き入れるのではなく、図面の各パーツにそれぞれの寸法用グループを作成すると図面を整理するのが非常に簡単になるのです.

もしあなたがAutoCADなどの従来の製図プログラムを使っていたのであれば最初のうちは落ちつかない気持ちになるかもしれませんがすぐにこの方法のもたらす力を理解するようになるでしょう.

例えば作成した形状全てを別々のグループにして非表示にすることもできます. 後になって変更を行う必要がでてきたら簡単にその形状を見つけることができます.

さあ他のパーツを製図する準備も整いました・・・

立面図の製図
このエクササイズでは私たちは完全な2Dで作業をおこなうのでこれから私たちは立面図と断面図を直接製図します. より進んだ建築用製図環境（いつかFreeCADがそうなればいいのですが）では立面図を製図する必要はなくなるでしょう. 建物を3Dでモデリングすれば自動的にそれぞれの図が生成されるようになるはずです. しかし練習のために（そして必要なツールがまだFreeCADに実装されていないので）私たちは昔のようにそれを手動で行いましょう.

まず背後の壁の立面図から始めましょう. 図面が向いている方向だからです. 表示を回転させる必要はなく、直接、図面の下に製図ができます. 図面から製図用補助線を引き、適切な高さに水平線を設定します（私は0.00の位置、+0.15のスラブの位置、窓の高さの位置、+2.50のルーフスラブの位置に設定しました. こうしておけばその上にすばやく形状を製図することができます.

それからいくつか注釈や寸法を配置したり、オブジェクトをアップグレードして塗りつぶし表示したりしておきます. 最後にオブジェクトの整理をおこなっておきましょう. "South Elevation"グループと製図用補助形状や注釈用のサブグループをを作成し、新しいオブジェクトを全てその中に配置します.

表示の回転とマクロの作成
今度は小屋の別の立面図が必要です. 最も単純な方法は南側の立面図でやってのと同じ様に直接、図面の下に製図をおこなう方法です. そのためには表示を90°回転させることができると便利です. そうすれば立面図を"足元"に製図していくことができます. 残念ながら今の所、FreeCADには"表示を回転"ツールはありません. しかし幸いなことにこれは自分で簡単に作成できるツールです. こういったツールはマクロと呼ばれます. 作業を簡単にするよい機会なのでやってみましょう.

マクロはFreeCADではスクリプト処理とも呼ばれ、Pythonという非常に簡単なプログラミング言語で行われます. Pythonを使ってFreeCAD用の非常に複雑なプログラムを書くこともできますが、表示の回転ツールの様なまだ正式にFreeCADツールバーアイコンにはない非常に簡単な操作を行うこともできます. 最初に行うことはReportビューを開き（閉じている場合）Pythonタブを選択することです. そこに以下のコードを入力（またはコピー/ペースト）します：

import math from pivy import coin cam = Gui.ActiveDocument.ActiveView.getCameraNode rot = coin.SbRotation rot.setValue(coin.SbVec3f(0,0,1),math.pi/2) cam.orientation = rot

この小さなスクリプトはたんに表示を90°（左に）回転させるものです. -90°（右に）回転させる場合はたんにmath.pi/2 を-math.pi/2とします. もしFreeCADでのPythonによるスクリプト処理についてもっと学びたい場合、このWikiには詳細なスクリプト処理についてのセクションがあります.

さてやらなければならないことがもう一つあります. マクロのコード片を保存して後で再利用できるようにするのです. そうしたらPythonインタープリター用にコードをペーストする代わりに、マクロマネージャー(Tools -> Macros)を開き、新しいマクロを作成して"Edit" ボタンを押してから私たちのコードをそこにペーストします. マクロ編集タブを閉じるとマクロが保存されます.

マクロは他のFreeCADツールと同じ様に振る舞うことができます. Tools -> Customizeメニューを使えばマクロにアイコンやキーボードショートカットを設定したり、ツールバーにマクロを追加したりすることができます.

回転させた表示に製図


これで思いのままに表示を回転できるようになりました. 他の立面図も製図することができます. 図面表示の下の正しい位置に立面図を製図する最も簡単な方法は"ミラー"（45°の対称面）を使って他の立面図から高さを表す線をとってくる方法です. こうすれば製図がだいぶはかどります.

最後に2つの他の立面図を製図します. 四つ目の立面図は二つ目と同じ（鏡像なだけ）ですからここでは取り上げません. これで断面図を製図すれば図面の完成です：



続く・・・