プロジェクト モデルには複数のビュー タイプを指定することができます。API には、ビューの分類方法が 3 つあります。最初の方法では、ビュー要素 View.ViewType プロパティを使用します。これは、ビュー タイプを示す列挙値を返します。次の表は、使用可能なすべてのビュー タイプの一覧です。
表 44: Autodesk.Revit.DB.ViewType
メンバー名 |
説明 |
AreaPlan |
エリア ビュー。 |
CeilingPlan |
天井伏図ビュー。 |
ColumnSchedule |
柱の集計表ビュー。 |
CostReport |
見積書ビュー。 |
Detail |
詳細図。 |
DraftingView |
製図ビュー。 |
DrawingSheet |
図面シート ビュー。 |
Elevation |
立面図ビュー。 |
EngineeringPlan |
エンジニアリング ビュー。 |
FloorPlan |
平面図ビュー。 |
Internal |
Revit の内部ビュー。 |
Legend |
凡例ビュー。 |
LoadsReport |
負荷レポート ビュー。 |
PanelSchedule |
パネル集計表ビュー。 |
PressureLossReport |
圧力損失レポート ビュー。 |
Rendering |
レンダリング ビュー。 |
Report |
レポート ビュー。 |
集計表 |
集計表ビュー。 |
Section |
断面ビュー。 |
ThreeD |
3D ビュー。 |
Undefined |
未定義/未指定のビュー。 |
ウォークスルー |
ウォークスルー ビュー。 |
ビューを分類する 2 番目の方法はクラス タイプによる分類です。
次の表は、ビュー タイプとプロジェクト ブラウザ内の対応するビューの一覧です。
表 45: プロジェクト ブラウザ ビュー
プロジェクト ブラウザ ビュー |
ビュー タイプ |
クラス タイプ |
エリア平面図 |
ViewType.AreaPlan |
Elements.ViewPlan |
天井伏図 |
ViewType.CeilingPlan |
Elements.ViewPlan |
柱リスト図 |
ViewType.ColumnSchedule |
Elements.View |
詳細ビュー |
ViewType.Detail |
Elements.ViewSection |
製図ビュー |
ViewType.DraftingView |
Elements.ViewDrafting |
シート |
ViewType.DrawingSheet |
Elements.ViewSheet |
立面図 |
ViewType.Elevation |
Elements.ViewSection |
構造伏図(Revit Structure) |
ViewType.EngineeringPlan |
Elements.ViewPlan |
平面図 |
ViewType.FloorPlan |
Elements.ViewPlan |
凡例 |
ViewType.Legend |
Elements.View |
レポート(Revit MEP) |
ViewType.LoadsReport |
Elements.View |
レポート(Revit MEP) |
ViewType.PanelSchedule |
Elements.PanelScheduleView |
レポート(Revit MEP) |
ViewType.PresureLossReport |
Elements.View |
レンダリング |
ViewType.Rendering |
Elements.ViewDrafting |
レポート |
ViewType.Report |
Elements.View |
集計表/数量 |
ViewType.Schedule |
Elements.ViewSchedule |
断面 |
ViewType.Section |
Elements.ViewSection |
3D ビュー |
ViewType.ThreeD |
Elements.View3D |
ウォークスルー |
ViewType.Walkthrough |
Elements.View3D |
コード領域: ビュー タイプを決定 |
public void GetViewType(Autodesk.Revit.DB.View view) { // Get the view type of the given view, and format the prompt string String prompt = "The view is "; switch (view.ViewType) { case ViewType.AreaPlan: prompt += "an area view."; break; case ViewType.CeilingPlan: prompt += "a reflected ceiling plan view."; break; case ViewType.ColumnSchedule: prompt += "a column schedule view."; break; case ViewType.CostReport: prompt += "a cost report view."; break; case ViewType.Detail: prompt += "a detail view."; break; case ViewType.DraftingView: prompt += "a drafting view."; break; case ViewType.DrawingSheet: prompt += "a drawing sheet view."; break; case ViewType.Elevation: prompt += "an elevation view."; break; case ViewType.EngineeringPlan: prompt += "an engineering view."; break; case ViewType.FloorPlan: prompt += "a floor plan view."; break; // ... default: break; } // Give the user some information MessageBox.Show(prompt, "Revit", MessageBoxButtons.OK); } |
ビューを分類する 3 番目の方法は ViewFamilyType クラスによる分類です。ほとんどのビュー作成メソッドでは、新しいビューの ViewFamilyType の ID が必要になります。ViewFamilyType の ID は View.GetTypeId()メソッドにより取得できます。ViewFamilyType.ViewFamily プロパティは、ViewFamilyType のファミリを指定する ViewFamily 列挙値を返します。これは上述の ViewType 列挙値に似ています。次の例は、ビューから ViewFamily を取得する方法を説明しています。
コード領域: ViewFamilyType からビュー タイプを決定 |
public ViewFamily GetViewFamily(Document doc, View view) { ViewFamily viewFamily = ViewFamily.Invalid; ElementId viewTypeId = view.GetTypeId(); if (viewTypeId.IntegerValue > 1) // some views may not have a ViewFamilyType { ViewFamilyType viewFamilyType = doc.GetElement(viewTypeId) as ViewFamilyType; viewFamily = viewFamilyType.ViewFamily; } return viewFamily; } |