public static global::OpenStudio.Building ToOSM(this BHE.Building building, global::OpenStudio.Building osmBuilding) { osmBuilding.setName(building.Name); osmBuilding.setNorthAxis(building.Location.Latitude); //osmBuilding. return(osmBuilding); }
public static BHX.Building ToGBXML(this BHE.Building building) { BHX.Building gbBuilding = new BHX.Building(); gbBuilding.Name = building.Name; BHP.BuildingContextFragment context = building.FindFragment <BHP.BuildingContextFragment>(typeof(BHP.BuildingContextFragment)); if (context != null) { gbBuilding.StreetAddress = context.PlaceName; } XMLBuildingType fragment = building.FindFragment <XMLBuildingType>(typeof(XMLBuildingType)); if (fragment != null) { gbBuilding.BuildingType = fragment.Type; } if (gbBuilding.BuildingType == "") { gbBuilding.BuildingType = "Unknown"; } return(gbBuilding); }
public static IEnergyPlusClass ToEnergyPlus(this BHE.Building building) { Building eplusBdg = new Building(); eplusBdg.Name = building.Name == "" ? building.BHoM_Guid.ToString() : building.Name; return(eplusBdg); }
public static BHE.Building ToBHoM(this BHX.Building gbBuilding) { BHE.Building building = new BHE.Building(); building.Name = gbBuilding.Name; BHP.BuildingContextFragment props = new BHP.BuildingContextFragment(); props.PlaceName = gbBuilding.StreetAddress; building.Fragments.Add(props); building.CustomData.Add("Building Name", gbBuilding.BuildingType); return(building); }
public static BHE.Building FromTAS(this TBD.Building tbdBuilding) { BHE.Building building = new BHE.Building(); building.Name = tbdBuilding.name; building.Location.Latitude = tbdBuilding.latitude; building.Location.Longitude = tbdBuilding.longitude; building.Elevation = tbdBuilding.maxBuildingAltitude; //building.Elevation = tbdBuilding.GetWeatherYear().altitude; //Consider switching to this if maxBuildingAltitude does not work //EnvironmentContextProperties BHP.OriginContextFragment environmentContextProperties = new BHP.OriginContextFragment(); environmentContextProperties.ElementID = tbdBuilding.GUID.RemoveBrackets(); environmentContextProperties.Description = tbdBuilding.description; environmentContextProperties.TypeName = tbdBuilding.name; building.Fragments.Add(environmentContextProperties); //BuildingAnalyticalProperties BHP.BuildingAnalyticalFragment buildingAnalyticalProperties = new BHP.BuildingAnalyticalFragment(); buildingAnalyticalProperties.NorthAngle = tbdBuilding.northAngle; //North Angle (degrees) Measured clockwise with respect to the Y - axis of the building plan. buildingAnalyticalProperties.Year = tbdBuilding.year; buildingAnalyticalProperties.GMTOffset = tbdBuilding.timeZone; building.Fragments.Add(buildingAnalyticalProperties); //BuildingContextProperties TBD.WeatherYear weatherYear = tbdBuilding.GetWeatherYear(); if (weatherYear != null) { BHP.BuildingContextFragment buildingContextProperties = new BHP.BuildingContextFragment(); buildingContextProperties.PlaceName = weatherYear.name; buildingContextProperties.WeatherStation = weatherYear.description; building.Fragments.Add(buildingContextProperties); } //BuildingResultsProperties BHP.BuildingResultFragment buildingResultsProperties = new BHP.BuildingResultFragment(); buildingResultsProperties.PeakCooling = tbdBuilding.peakCooling; buildingResultsProperties.PeakHeating = tbdBuilding.peakHeating; building.Fragments.Add(buildingResultsProperties); //Extended Properties TASBuilding tasData = new TASBuilding(); tasData.ID = tbdBuilding.GUID.RemoveBrackets(); tasData.TASID = tbdBuilding.TBDGUID; tasData.PathFile = tbdBuilding.path3DFile; building.Fragments.Add(tasData); return(building); }
public static BHE.Building FromGBXML(this BHX.Building gbBuilding) { BHE.Building building = new BHE.Building(); building.Name = gbBuilding.Name; BHP.BuildingContextFragment props = new BHP.BuildingContextFragment(); props.PlaceName = gbBuilding.StreetAddress; building.Fragments.Add(props); XMLBuildingType fragment = new XMLBuildingType(); fragment.Type = gbBuilding.BuildingType; building.Fragments.Add(fragment); return(building); }
public static BHX.Location ToGBXMLLocation(this BHE.Building building, GBXMLSettings settings) { BHX.Location location = new BHX.Location(); location.Longitude = Math.Round(building.Location.Longitude, settings.RoundingSettings.BuildingLocation); location.Latitude = Math.Round(building.Location.Latitude, settings.RoundingSettings.BuildingLocation); location.Elevation = Math.Round(building.Elevation, settings.RoundingSettings.BuildingLocation); BHP.BuildingContextFragment context = building.FindFragment <BHP.BuildingContextFragment>(typeof(BHP.BuildingContextFragment)); if (context != null) { location.Name = context.PlaceName; location.StationID.ID = context.WeatherStation; } return(location); }
public static TBD.Building ToTAS(this BHE.Building building, TBD.Building tbdBuilding) { //TODO:Add BuildingHeightAdjustmentFactor, MeanHeightOfSurroundings, TerrainType, NumberOfPreconditioningDays, GroundSolarReflectance, ExternalPollutant //TODO:Check if Longitude, Latitude, NorthAngle, Timezone, Path3Dfile, BuildingYear is pushed if (building == null) { return(tbdBuilding); } tbdBuilding.name = building.Name; tbdBuilding.latitude = (float)building.Location.Latitude; tbdBuilding.longitude = (float)building.Location.Longitude; tbdBuilding.maxBuildingAltitude = (float)building.Elevation; TASBuilding tasFragment = building.FindFragment <TASBuilding>(typeof(TASBuilding)); if (tasFragment != null) { tbdBuilding.GUID = tasFragment.ID; tbdBuilding.TBDGUID = tasFragment.TASID; tbdBuilding.path3DFile = tasFragment.PathFile; } BHP.OriginContextFragment environmentContextFragment = new BHP.OriginContextFragment(); if (environmentContextFragment != null) { tbdBuilding.description = environmentContextFragment.Description; } BHP.BuildingResultFragment buildingResultsFragment = building.FindFragment <BHP.BuildingResultFragment>(typeof(BHP.BuildingResultFragment)); if (buildingResultsFragment != null) { tbdBuilding.peakCooling = (float)System.Convert.ToDouble(buildingResultsFragment.PeakCooling); tbdBuilding.peakHeating = (float)System.Convert.ToDouble(buildingResultsFragment.PeakHeating); } BHP.BuildingAnalyticalFragment analyticalFragment = building.FindFragment <BHP.BuildingAnalyticalFragment>(typeof(BHP.BuildingAnalyticalFragment)); if (analyticalFragment != null) { tbdBuilding.northAngle = (float)System.Convert.ToDouble(analyticalFragment.NorthAngle); tbdBuilding.timeZone = (float)System.Convert.ToDouble(analyticalFragment.GMTOffset); } return(tbdBuilding); }
public static BHX.Building ToGBXML(this BHE.Building building) { BHX.Building gbBuilding = new BHX.Building(); gbBuilding.Name = building.Name; BHP.BuildingContextFragment context = building.FindFragment <BHP.BuildingContextFragment>(typeof(BHP.BuildingContextFragment)); if (context != null) { gbBuilding.StreetAddress = context.PlaceName; } if (building.CustomData.ContainsKey("Building Name")) { gbBuilding.BuildingType = (building.CustomData["Building Name"]).ToString(); } return(gbBuilding); }
/***************************************************/ /**** Public Methods ****/ /***************************************************/ public static double BuildingArea(BHE.Building building) { throw new NotImplementedException("Calculating the area in the building has not been implemented"); }