Esempio n. 1
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="zone"></param>
 public ZoneConnections(Zone zone)
 {
     ZoneName = zone.Name;
     EquipmentList = zone.Name + " Equipment";
     InletNode = zone.Name + " Supply Inlet";
     AirExhaustNode = "";
     AirNodeName = zone.Name + " Air Node";
     ReturnAirNodeName = zone.Name + " Return Outlet";
 }
Esempio n. 2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="zone"></param>
 public EquipmentList(Zone zone)
 {
     Name = zone.Name + " Equipment";
     EquipmentObject = "ZoneHVAC:IdealLoadsAirSystem";
     EquipmentName = zone.Name + " Purchased Air";
 }
Esempio n. 3
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="zone"></param>
 public IdealLoadsAirSystem(Zone zone)
 {
     Name = zone.Name + " Purchased Air";
     InletNode = zone.Name + " Supply Inlet";
 }
Esempio n. 4
0
 public static Zone ByNameOriginAndOrientation(string name, Point origin, double orientation)
 {
     var zone = new Zone(name, orientation, origin);
     return zone;
 }
Esempio n. 5
0
        public Surface(List<Point> points, Zone zone, string constructionName = "default", string usingType = "external", bool reverseDirection = false)
        {
            Name = zone.Name + " - Surface " + zone.SurfaceNumber;
            ZoneName = zone.Name;
            ReverseDirection = reverseDirection;
            FenestrationSurfacesNumber = 1;
            Points = points;
            ConstructionName = constructionName;
            zone.Surfaces.Add(this);
            zone.SurfaceNumber++;

            //Defines the properties related to the type of the surface. Perhaps a possibility to change the propertiers should be implemented
            switch (usingType)
            {
                case "inner":
                    Type = "Wall";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "000 Interior Wall";
                    }
                    BoundaryCondition = "Adiabatic";
                    SunExposed = false;
                    WindExposed = false;
                    break;
                case "external":
                    Type = "Wall";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "001 Exterior Wall";
                    }
                    BoundaryCondition = "Outdoors";
                    SunExposed = true;
                    WindExposed = true;
                    break;
                case "floor":
                    Type = "Floor";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "002 Floor";
                    }
                    BoundaryCondition = "Ground";
                    SunExposed = false;
                    WindExposed = false;
                    break;
                case "ceiling":
                    Type = "Ceiling";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "002 Floor";
                    }
                    BoundaryCondition = "Adiabatic";
                    SunExposed = false;
                    WindExposed = false;
                    break;
                case "roof":
                    Type = "Roof";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "003 Roof";
                    }
                    BoundaryCondition = "Outdoors";
                    SunExposed = true;
                    WindExposed = true;
                    break;
                default:
                    Type = "Wall";
                    if (ConstructionName == "default")
                    {
                        ConstructionName = "000 Exterior Wall";
                    }
                    BoundaryCondition = "Outdoors";
                    SunExposed = true;
                    WindExposed = true;
                    break;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Adds Surfaces by a list of Revit Surfaces
        /// </summary>
        /// <param name="facelist"></param>
        /// <param name="zone"></param>
        /// <param name="constructionName"></param>
        /// <param name="boundaryCondition"></param>
        /// <returns></returns>
        public static List<Surface> SurfaceBySurfaceList(List<Face> facelist, Zone zone, string constructionName = "default", string boundaryCondition="identical")
        {
            var surfaceList = new List<Surface>();

            //ConstructionName = "default";
            foreach (Face face in facelist)
            {
                var points = new List<Point>();

                foreach (var revitVertex in face.Vertices)
                {
                    //Translate Vertex to Point. Can't find a way to avoid this. Deviding through 1000 because of differents units(Revit->EPlus)
                    //Don't know if this is right
                    var point = Point.ByCoordinates(revitVertex.PointGeometry.X/1000,
                        revitVertex.PointGeometry.Y/1000, revitVertex.PointGeometry.Z/1000);
                    points.Add(point);
                }
                surfaceList.Add(new Surface(points, zone, constructionName, boundaryCondition));
            }

               return surfaceList;
        }