Revit API では、View プロパティにアクセスでき、プログラムによってビューを作成、削除することができます。
このセクションでは次の内容についての概要を説明します。
次の図は、ビューの生成方法を示します。
図 94: ビューの作成処理
各ビューは 2D 投影面に 3D オブジェクトを投影することによって生成されます。投影は次の 2 つの基本的なクラスに分割されます。
投影タイプを決定した後、どういう条件で3D モデルが必要とされ、シーンがレンダリングされるのか指定する必要があります。投影の詳細は、「View3D」セクションを参照してください。
ワールド座標には次のものが含まれます。
Revit は次の 2 つの座標系を使用します。
表示する座標系は、観察者のビューでモデルがどのように表示されるかを表します。 その基準点は見る人の目の位置になり、モデル空間内のその座標は View.Origin プロパティによって取得します。X、Y、Z 軸は、それぞれ View.RightDirection、View.UpDirection、View.ViewDirection プロパティによって表されます。
表示する座標系は右利き用のものです。詳細は、「パース投影図」と平行投影図(「View3D」)を参照してください。
表示されない 3D モデル空間の一部(見る人の背後に隠れるものや遠すぎてはっきりと表示されないもの)は、投影面に投影される前に除外されます。この操作にはビューのトリミングが必要になります。トリミングには次の規則が適用されます。
View.GetCropRegionShapeManager メソッドは ViewCropRegionShapeManager を返します。これは、トリミング領域の境界情報(長方形またはそれ以外)を提供します。
トリミング後、モデルが投影面に投影されます。投影には次の規則が適用されます。
現在 ViewCube 設定に設定されているホーム ビュー カメラに関する情報にアクセスできます。ドキュメントに設定されるホーム ビュー カメラは 1 つだけです。これは、ViewCube の右クリック コンテキスト メニューで「現在のビューをホーム ビューに設定」する ViewCube UI コマンドを呼び出したときに保存される、ビューの向きとその他のカメラ パラメータに対応しています。
静的メソッド ViewNavigationToolSettings.GetViewNavigationToolSettings()を呼び出して ViewNavigationToolSettings にアクセスします。このメソッドはドキュメントに関連付けられている ViewNavigationToolSettings 要素を返します。
ViewNavigationToolSettings では、ホーム ビューがメソッド IsHomeCameraSet()で設定されているかどうかを照会できます。このメソッドは、ホーム ビュー設定の現在の状態を示すブール値を返します。
ViewNavigationToolSettings.GetHomeCamera()メソッドでホーム カメラのコピーを取得することで、ViewCube に設定されているホーム カメラに関する読み取り専用の情報にアクセスします。ホーム カメラがまだ設定されていない場合、この関数は Null を返します。HomeCamera クラスは、EyePosition や UpDirection といったモデルに格納されている Home ビューの向きのカメラやビューに関する情報を提供します。
Revit プラットフォーム API には、Autodesk.Revit.DB.View クラスから派生した対応するビュー要素を作成するための、メソッドが数多く用意されています。ほとんどのビュー タイプは、派生した表示クラスの静的メソッドを使用して作成されます。ビューが正常に作成されている場合、これらのメソッドはビューに参照を返し、正常に作成されていない場合は null を返します。メソッドについては後述の各ビュー クラスのセクションで説明します。
ビューは View.Duplicate()メソッドを使用して作成することもできます。従属させるか、詳細を持たせるかといった新しいビュー用のオプションを使用して、既存のビューから新しいビューを作成できます。
Document.Delete メソッドとビュー ID を使用してビューを削除します。また、ビューに関連付けられている要素を削除することもできます。たとえば、レベル要素を削除すると対応する平面図ビューが削除され、カメラ要素を削除すると対応する 3D ビューが削除されます。