Ejemplo n.º 1
0
        private Story MakeStory()
        {
            var story = new Story()
            {
                Color     = Palette.Green,
                Elevation = 0.0,
                Height    = 6.0,
                Name      = "First Floor",
                Perimeter = new Polygon(
                    new[]
                {
                    new Vector3(0.0, 0.0),
                    new Vector3(60.0, 0.0),
                    new Vector3(60.0, 40.0),
                    new Vector3(0.0, 40.0)
                }),
                SlabThickness = 0.1
            };

            story.RoomsByDivision(4, 2, 5.5, 10.0, "Retail", Palette.Lime);
            story.AddCorridor(
                new Room()
            {
                Color     = Palette.White,
                Height    = 5.5,
                Perimeter = new Line(new Vector3(10.0, 20.0), new Vector3(50.0, 20.0)).Thicken(2.0)
            });
            story.AddCorridor(
                new Room()
            {
                Color     = Palette.White,
                Height    = 5.5,
                Perimeter = new Line(new Vector3(30.0, 10.0), new Vector3(30.0, 30.0)).Thicken(2.0)
            });
            story.AddExclusion(
                new Room()
            {
                Perimeter =
                    new Polygon(
                        new []
                {
                    Vector3.Origin,
                    new Vector3(5.0, 0.0),
                    new Vector3(5.0, 5.0),
                    new Vector3(0.0, 5.0),
                })
            });
            story.AddService(
                new Room()
            {
                Color     = BuiltInMaterials.Concrete.Color,
                Height    = 6.0,
                Perimeter = new Line(new Vector3(30.0, 15.0), new Vector3(30.0, 25.0)).Thicken(2.0)
            });
            return(story);
        }
Ejemplo n.º 2
0
        public void AddService()
        {
            var polygon = new Polygon
                          (
                new[]
            {
                new Vector3(0.0, 0.0),
                new Vector3(48.0, 0.0),
                new Vector3(48.0, 12.0),
                new Vector3(0.0, 12.0)
            }
                          );
            var story = new Story()
            {
                Color         = Palette.Green,
                Elevation     = 0.0,
                Height        = 6.0,
                Perimeter     = polygon,
                SlabThickness = 0.3
            };

            story.RoomsByDivision(4, 1, 5.5, 0.5, "", Palette.Lime);
            story.AddCorridor(new Vector3(24.0, -0.01),
                              new Vector3(24.0, 10.0),
                              2.0, 5.5, "", Palette.White);
            story.AddCorridor(new Vector3(0.5, 10.75),
                              new Vector3(47.5, 10.75),
                              1.5, 5.5, "", Palette.White);
            polygon = new Line(new Vector3(24.0, 7.0), new Vector3(24.0, 11.5)).Thicken(5.0);
            story.AddService(polygon, "", Palette.Gray);
            var model = new Model();

            foreach (Space space in story.InteriorsAsSpaces)
            {
                model.AddElement(space);
            }
            model.AddElement(story.Slab);
            model.SaveGlb("../../../../AddService.glb");
        }
Ejemplo n.º 3
0
        public Story MakeStory()
        {
            var perimeter =
                new Polygon(
                    new[]
            {
                new Vector3(0.0, 0.0),
                new Vector3(20.0, 0.0),
                new Vector3(20.0, 20.0),
                new Vector3(0.0, 20.0)
            });
            var story = new Story(perimeter)
            {
                Color     = Palette.Green,
                Elevation = 0.0,
                Height    = 8.0,
                Name      = "First Floor"
            };

            perimeter = Polygon.Rectangle(Vector3.Origin, new Vector3(10.0, 10.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Aqua
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(10.0, 0.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Blue
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(-10.0, 10.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Cobalt
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(10.0, 0.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Teal,
                Name  = "Retail"
            });
            perimeter = Polygon.Rectangle(new Vector3(0.0, 8.5), new Vector3(20.0, 11.5));
            story.AddCorridor(
                new Room(perimeter, 6.0)
            {
                Color = Palette.White
            });
            perimeter = Polygon.Rectangle(new Vector3(8.5, 0.0), new Vector3(11.5, 20.0));
            story.AddCorridor(
                new Room(perimeter, 6.0)
            {
                Color = Palette.White
            });
            perimeter = Polygon.Rectangle(new Vector3(7.5, 7.5), new Vector3(12.5, 12.5));
            story.AddService(
                new Room(perimeter, 1.0)
            {
                Color = Palette.Red
            });
            perimeter = Polygon.Rectangle(new Vector3(2.0, 3.0), new Vector3(18.0, 5.0));
            story.AddExclusion(new Room(perimeter, 1.0));
            perimeter = Polygon.Rectangle(new Vector3(10.0, 1.0), new Vector3(15.0, 15.0));
            story.AddOpening(new Room(perimeter, 1.0));
            var model = new Model();

            model.AddElement(new Space(story.PerimeterAsProfile, story.Height, story.ColorAsMaterial));
            foreach (Room room in story.Rooms)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            foreach (Room room in story.Corridors)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            foreach (Room room in story.Services)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            model.ToGlTF("../../../../RoomKitTest/output/story.glb");
            return(story);
        }