public override Space Create(RevitSpace rSpace)
        {
            var cHeight   = SpacePropertyService.CalculateCeilingHeight(rSpace);
            var spaceType = SpacePropertyService.GetSpaceTypeAsString(rSpace);
            var oAir      = SpacePropertyService.GetOutsideAirFromSpace(rSpace);

            var space = new Space
            {
                Id          = rSpace.UniqueId,
                SpaceName   = rSpace.Name,
                SpaceNumber = rSpace.Number,
                RoomName    = rSpace.Room?.Name,
                RoomNumber  = rSpace.Room?.Number,

                Area = rSpace.Area,
                SpecifiedExhaustAirflow = rSpace.ActualExhaustAirflow,
                SpecifiedSupplyAirflow  = rSpace.ActualSupplyAirflow,
                SpecifiedReturnAirflow  = rSpace.ActualReturnAirflow,
                NumberOfPeople          = rSpace.NumberofPeople,
                OccupancyCategory       = spaceType,
                CeilingHeight           = cHeight == 0.0 ? rSpace.UnboundedHeight : cHeight,
                PercentageOfOutsideAir  = oAir
            };

            return(space);
        }
예제 #2
0
        public static void AssignRequiredPressurization(RevitSpace space)
        {
            var spaceType = SpacePropertyService.GetSpaceTypeAsString(space);
            var press     = VentilationLookupService.GetRequirePressurizationBasedOnOccupancy(spaceType);

            space.SetParameterValue("PRESSURIZATION_REQ", press.ToString());
        }
예제 #3
0
        /// <summary>
        /// Always VENT
        /// </summary>
        /// <param name="space"></param>
        public static void AssignOAACHRBasedOnCategory(RevitSpace space)
        {
            var spaceType = SpacePropertyService.GetSpaceTypeAsString(space);
            var oaachr    = VentilationLookupService.GetOAACHRBasedOnOccupancyCategory(spaceType);

            space.SetParameterValue("OAACHR", oaachr.ToString());
        }
예제 #4
0
        public static void AssignModeledPressurization(RevitSpace space)
        {
            var factory   = new SpaceConversionFactory();
            var spaceType = SpacePropertyService.GetSpaceTypeAsString(space);
            var dSpace    = factory.Create(space);
            var press     = VentilationCalculationService.CalculateModeledPressurization(dSpace);

            space.SetParameterValue("PRESSURIZATION_MOD", press.ToString());
        }
예제 #5
0
        public static void AssignOAACHMBasedOnCategory(RevitSpace space)
        {
            var factory   = new SpaceConversionFactory();
            var spaceType = SpacePropertyService.GetSpaceTypeAsString(space);
            var dSpace    = factory.Create(space);
            var oaachm    = VentilationCalculationService.CalculateCFMBasedOnSupplyACH(dSpace);

            space.SetParameterValue("OAACHM", oaachm.ToString());
        }
예제 #6
0
        public override Space Create(RevitSpace rSpace)
        {
            var space = new Space
            {
                Area                   = rSpace.Area,
                CFM_Exhaust            = rSpace.ActualExhaustAirflow,
                CFM_Supply             = rSpace.ActualSupplyAirflow,
                CFM_Vent               = rSpace.ActualReturnAirflow,
                NumberOfPeople         = rSpace.NumberofPeople,
                OccupancyCategory      = SpacePropertyService.GetSpaceTypeAsString(rSpace),
                CeilingHeight          = SpacePropertyService.CalculateCeilingHeight(rSpace),
                PercentageOfOutsideAir = SpacePropertyService.GetOutsideAirFromSpace(rSpace)
            };

            return(space);
        }