Manage the analytical thermal model.
Namespace: Autodesk.Revit.DB.Analysis
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2012
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Remarks
The Export to gbXML and the Heating and Cooling Loads features produces an analytical thermal model from the physical model of a building. The analytical thermal model is composed of spaces, zones and planar surfaces that represent the actual volumetric elements of the building. The EnergyAnaysisDetailModel is intended to be generated and used immediately - none of the data or relationships that it contains are updated as changes are made to the corresponding Revit model. Dispose of the generated EnergyAnaysisDetailModel using the Destroy() method as soon as you have extracted the needed information.
Examples

// 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());

' Collect space and surface data from the building's analytical thermal model
Dim options As New EnergyAnalysisDetailModelOptions()
options.Tier = EnergyAnalysisDetailModelTier.Final
' include constructions, schedules, and non-graphical data in the computation of the energy analysis model
Dim eadm As EnergyAnalysisDetailModel = EnergyAnalysisDetailModel.Create(doc, options)
' Create a new energy analysis detailed model from the physical model
Dim spaces As IList(Of EnergyAnalysisSpace) = eadm.GetAnalyticalSpaces()
Dim builder As New StringBuilder()
builder.AppendLine("Spaces: " & spaces.Count)
For Each space As EnergyAnalysisSpace In spaces
Dim spatialElement As SpatialElement = TryCast(doc.GetElement(space.CADObjectUniqueId), SpatialElement)
Dim spatialElementId As ElementId = If(spatialElement Is Nothing, ElementId.InvalidElementId, spatialElement.Id)
builder.AppendLine(" >>> " + space.Name & " related to " & spatialElementId.ToString())
Dim surfaces As IList(Of EnergyAnalysisSurface) = space.GetAnalyticalSurfaces()
builder.AppendLine(" has " & surfaces.Count & " surfaces.")
For Each surface As EnergyAnalysisSurface In surfaces
builder.AppendLine(" +++ Surface from " + surface.OriginatingElementDescription)
Next
Next
TaskDialog.Show("EAM", builder.ToString())