using System; using System.ComponentModel; using Autodesk.Revit.ApplicationServices; using Autodesk.Revit.DB; using Autodesk.Revit.DB.Analysis; using Autodesk.Revit.DB.Mechanical; namespace Revit.SDK.Samples.ProjectInfo.CS { /// /// Wrapper class for gbXMLParamElem /// public class EnergyDataSettingsWrapper : IWrapper { #region Fields /// /// gbXMLParamElem /// private EnergyDataSettings m_energyDataSettings; /// /// Revit Document /// private Document m_document; #endregion #region Constructors /// /// Initializes private variables. /// /// gbXMLParamElem public EnergyDataSettingsWrapper(Document document) { m_document = document; m_energyDataSettings = EnergyDataSettings.GetFromDocument(document); } #endregion #region Properties /// /// Gets or sets Building Type /// [Category("Common"), DisplayName("Building Type")] [TypeConverter(typeof(BuildingTypeConverter))] public gbXMLBuildingType BuildingType { get { return m_energyDataSettings.BuildingType; } set { m_energyDataSettings.BuildingType = value; } } /// /// Gets or sets Ground Plane /// [Category("Common"), DisplayName("Ground Plane")] [TypeConverter(typeof(ElementIdConverter))] public ElementId GroundPlane { get { return m_energyDataSettings.GroundPlane; } set { m_energyDataSettings.GroundPlane = value; } } /// /// Gets or sets Building Service /// [Category("Detailed Model"), DisplayName("Building Service")] [TypeConverter(typeof(ServiceTypeConverter))] [RevitVersion(ProductType.MEP)] public gbXMLServiceType BuildingService { get { return m_energyDataSettings.ServiceType; } set { m_energyDataSettings.ServiceType = value; } } /// /// Gets Building Construction /// [Category("Detailed Model"), DisplayName("Building Construction"), TypeConverter(typeof(WrapperConverter)), RevitVersion(ProductType.MEP)] public MEPBuildingConstructionWrapper BuildingConstruction { get { ElementId eid = EnergyDataSettings.GetBuildingConstructionSetElementId(m_document); MEPBuildingConstruction mEPBuildingConstruction = RevitStartInfo.GetElement(eid) as MEPBuildingConstruction; //MEPBuildingConstruction mEPBuildingConstruction = RevitStartInfo.GetElement(m_energyDataSettings.ConstructionSetElementId) as MEPBuildingConstruction; if(mEPBuildingConstruction != null) return new MEPBuildingConstructionWrapper(mEPBuildingConstruction); return null; } } /// /// Gets and Sets BuildingConstructionClass /// [Category("Detailed Model"), DisplayName("Building Infiltration Class")] [TypeConverter(typeof(HVACLoadConstructionClassConverter))] [RevitVersion(ProductType.MEP)] public HVACLoadConstructionClass BuildingConstructionClass { get { return m_energyDataSettings.BuildingConstructionClass; } set { m_energyDataSettings.BuildingConstructionClass = value; } } /// /// Gets or sets Project Phase /// [Category("Detailed Model"), DisplayName("Project Phase")] [TypeConverter(typeof(ElementIdConverter))] public ElementId ProjectPhase { get { return m_energyDataSettings.ProjectPhase; } set { m_energyDataSettings.ProjectPhase = value; } } /// /// Gets or sets Sliver Space Tolerance /// [Category("Detailed Model"), DisplayName("Sliver Space Tolerance")] public Double SliverSpaceTolerance { get { return m_energyDataSettings.SliverSpaceTolerance; } set { m_energyDataSettings.SliverSpaceTolerance = value; } } /// /// Gets or sets Export Complexity /// [Category("Detailed Model"), DisplayName("Export Complexity")] [TypeConverter(typeof(ExportComplexityConverter))] public gbXMLExportComplexity ExportComplexity { get { return m_energyDataSettings.ExportComplexity; } set { m_energyDataSettings.ExportComplexity = value; } } /// /// Gets or sets Export Default Values /// [Category("Detailed Model"), DisplayName("Export Default Values")] [RevitVersion(ProductType.MEP)] public bool ExportDefaultValues { get { return m_energyDataSettings.ExportDefaults; } set { m_energyDataSettings.ExportDefaults = value; } } /// /// Gets and Sets ProjectReportType /// [Category("Detailed Model"), DisplayName("Report Type")] [TypeConverter(typeof(HVACLoadLoadsReportTypeConverter))] [RevitVersion(ProductType.MEP)] public HVACLoadLoadsReportType ProjectReportType { get { return m_energyDataSettings.ProjectReportType; } set { m_energyDataSettings.ProjectReportType = value; } } /// /// Gets Project Location /// [DisplayName("Project Location"), TypeConverter(typeof(ProjectLocationConverter)), RevitVersion(ProductType.MEP, ProductType.Architecture)] public ProjectLocation ProjectLocation { get { return m_document.ActiveProjectLocation; } set { m_document.ActiveProjectLocation = value; } } /// /// Gets Site Location /// [DisplayName("Site Location"), TypeConverter(typeof(WrapperConverter)), RevitVersion(ProductType.MEP, ProductType.Architecture)] public SiteLocationWrapper SiteLocation { get { return new SiteLocationWrapper(m_document.SiteLocation); } } #region IWrapper Members /// /// Gets the handle object. /// [Browsable(false)] public object Handle { get { return m_energyDataSettings; } } /// /// Gets the name of the handle. /// [Browsable(false)] public string Name { get { return ""; } set { } } #endregion #endregion } }