示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }