詳細なエネルギー解析モデル

詳細なエネルギー解析モデル

Autodesk.Revit.DB.Analysis 名前空間には、プロジェクトの詳細なエネルギー解析モデルのコンテンツを取得、解析するためのいくつかのクラスがあります。gbXML への書き出しや冷暖房負荷といった機能は、建物の構造モデルから熱解析モデルを作成します。熱解析モデルは、建物の実際の容積要素を表すスペース、ゾーン、平面サーフェスで構成されます。

次のような詳細なエネルギー解析モデルに関連するクラスがあります。

エネルギー解析モデルを作成して設定するには、静的メソッド EnergyAnalysisDetailModel.Create()を使用します。EnergyAnaysisDetailModel はすぐに生成し、使用することを目的としています。対応する Revit モデルを変更しても、含まれるデータや関係は更新されません。必要な情報が抽出されたら、生成された EnergyAnaysisDetailModel を Destroy()メソッドを使用して破棄します。

EnergyAnalysisDetailModelOptions を使用して該当するオプションを設定します。生成されたモデルは常にワールド座標に返されますが、メソッド TransformModel()は地面、共有座標、真北に対応するモデルのすべてのサーフェスを変換します。

エネルギー解析の詳細モデルを作成する際には次のオプションがあります。

次の例では、建物モデルから新しいエネルギー解析の詳細モデルを作成し、モデルの各スペースの各サーフェスに元の要素を表示します。

コード領域: エネルギー解析詳細モデル

// Collect space and surface data from the building's analytical thermal model
EnergyAnalysisDetailModelOptions options = new EnergyAnalysisDetailModelOptions();
options.Tier = EnergyAnalysisDetailModelTier.Final; // include constructions, schedules, and non-graphical data in the computation of the energy analysis model

EnergyAnalysisDetailModel eadm = EnergyAnalysisDetailModel.Create(doc, options); // Create a new energy analysis detailed model from the physical model
IList<EnergyAnalysisSpace> spaces = eadm.GetAnalyticalSpaces();
StringBuilder builder = new StringBuilder();
builder.AppendLine("Spaces: " + spaces.Count);
foreach (EnergyAnalysisSpace space in spaces)
{
    SpatialElement spatialElement = doc.GetElement(space.CADObjectUniqueId) as SpatialElement;
    ElementId spatialElementId = spatialElement == null ? ElementId.InvalidElementId : spatialElement.Id;
    builder.AppendLine("   >>> " + space.Name + " related to " + spatialElementId);
    IList<EnergyAnalysisSurface> surfaces = space.GetAnalyticalSurfaces();
    builder.AppendLine("       has " + surfaces.Count + " surfaces.");
    foreach (EnergyAnalysisSurface surface in surfaces)
    {
        builder.AppendLine("            +++ Surface from " + surface.OriginatingElementDescription);
    }
}
TaskDialog.Show("EAM", builder.ToString());

EnergyAnalysisDetailModel を作成した後は、GetAnalyticalOpenings()、GetAnalyticalSpaces()、GetAnalyticalShadingSurfaces()、GetAnalyticalSurfaces()メソッドを使用して、それに関連付けられているスペース、開口部、サーフェスを取得することができます。

解析結果での作業が終わった後に Revit データベースをクリーンアップするには、必ず EnergyAnalysisDetailModel.Destroy()を呼び出します。

EnergyAnalysisSpace

EnergyAnalysisSpace からは、壁の中央の平面や屋根/床の上部平面によって結合される閉じられた体積を定義する EnergyAnalysisSurfaces のコレクションを取得できます。また、GetClosedShell()は、内部の境界サーフェスによって計測される閉じられた体積を定義する PolyLoop (平面ポリゴン)のコレクションを取得します。2 次元の場合は GetBoundary()を使用します。このメソッドは、内部の境界サーフェスによって計測される閉じられた体積を定義する空間の 2D 境界を表す PolyLoop のコレクションを返します。

EnergyAnalysisSpace クラスには、AnalyticalVolume、Name、Area などの解析スペースに関する情報にアクセスするためのプロパティが多数あります。

EnergyAnalysisSurface

Energyanalysisspace では、サーフェスに関連付けられているメイン解析スペースや、隣接するサブ解析スペースを取得できます。GetAnalyticalOpenings()メソッドは、サーフェスのすべての解析用の開口部のコレクションを取得します。GetPolyloop()メソッドは、gbXML の記述に従って、サーフェス ジオメトリを表す平面ポリゴンを取得します。

EnergyAnalysisSpace クラスには、高さ、幅、コーナー(外側から見た解析用の矩形ジオメトリの左下の座標)などの解析サーフェスに関する詳細情報や、元の要素の説明を提供するためのプロパティが多数あります。

サーフェス タイプは EnergyAnalysisSurfaceType または gbXMLSurfaceType のいずれかとして使用できます。gbXML サーフェス タイプ属性は、ソースの属性と隣接するスペース数によって決まります。次のタイプを使用できます。

タイプ

ソース要素と隣接するスペース数

Shade

関連するソース要素と隣接するスペースなし

Air

関連付けられているソース要素はなく、隣接するスペースが 1 つ以上

ExteriorWall

ソース要素が Wall または Curtain Wall で、隣接するスペースが 1 つ

InteriorWall

ソース要素が Wall か Curtain Wall。隣接するスペースが 2 つか、Function タイプ パラメータが「Interior」か「CoreShaft」に設定されている

UndergroundWall

ソース要素が Wall か Curtain Wall で、隣接するスペースが 1 つ、地盤面より下の場合

SlabOnGrade

ソース要素が Floor で、隣接するスペースが 1 つ

RaisedFloor

ソース要素が Floor で、隣接するスペースが 1 つ、地盤面より上

UndergroundSlab

ソース要素が Floor で、隣接するスペースが 1 つ、地盤面より下

InteriorFloor

ソース要素が Floor。隣接するスペースが 2 つか、Function タイプ パラメータが「Interior」に設定されている

Roof

ソース要素が Roof または Ceiling で、隣接するスペースが 1 つ

UndergroundCeiling

ソース要素が Roof または Ceiling で、隣接するスペースが 1 つ、地盤面より下

Ceiling

ソース要素が Roof または Ceiling で、隣接するスペースが 2 つ

EnergyAnalysisOpening

EnergyAnalysisOpening では、関連付けられている親解析サーフェス要素を取得できます。GetPolyloop()メソッドは開口部ジオメトリを平面ポリゴンとして返します。

高さ、幅、コーナー、名前などの解析の開口部に関する情報の取得には、多数のプロパティを使用できます。解析サーフェスと同じように、解析の開口部は単純な EnergyAnalysisOpeningType 列挙や gbXMLOpeningType 属性として取得することができます。次の表にあるように、開口部のタイプは開口部のファミリ カテゴリとそのタイプが含まれる要素によって決まります。

タイプ

ファミリ カテゴリまたは含む要素

OperableWindow

NonSlidingDoor

ドア

FixedSkylight

屋根に含まれる開口部

FixedWindow

カーテンウォール パネルに含まれる開口部

Air

開口部カテゴリの開口部