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 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.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 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); }