public void ValidValues_Construct_Success() { var bottom = new Line(new Vector3(0, 0, 0), new Vector3(20, 0, 0)); var top = new Line(new Vector3(20, 10, 30), new Vector3(0, 0, 30)); var grid = new Grid(bottom, top, 5, 5); var profile = new WideFlangeProfile("test", 0.5, 0.5, 0.1, 0.1, VerticalAlignment.Center); Assert.Equal(25, grid.Cells().Length); }
public void BeamSystem() { var profile = new WideFlangeProfile("test", 1.0, 2.0, 0.1, 0.1); var a = new Vector3(0, 0, 0); var b = new Vector3(20, 0, 0); var d = new Vector3(20, 20, 10); var c = new Vector3(0, 20, 0); var polygon = new Polygon(new[] { a, b, c, d }); var system = new BeamSystem(5, profile, new Line(a, b), new Line(c, d), BuiltInMaterials.Steel); Assert.True(system.Beams.Count() == 5); }
public void Example() { var profile = new WideFlangeProfile("test", 1.0, 2.0, 0.1, 0.1); var a = new Vector3(0, 0, 0); var b = new Vector3(20, 0, 0); var d = new Vector3(20, 20, 10); var c = new Vector3(0, 20, 0); var polygon = new Polygon(new[] { a, b, c, d }); var system = new BeamSystem(5, profile, new Line(a, b), new Line(c, d), BuiltInMaterials.Steel); var model = new Model(); model.AddElements(system.Beams); model.SaveGlb("beam_system.glb"); }
public void BeamSystem() { this.Name = "BeamSystem"; var profile = new WideFlangeProfile("test", 1.0, 2.0, 0.1, 0.1); var a = new Vector3(0, 0, 0); var b = new Vector3(20, 0, 0); var d = new Vector3(20, 20, 10); var c = new Vector3(0, 20, 0); var polygon = new Polygon(new[] { a, b, c, d }); var beam = new Beam(new Line(a, b), profile); var system = new BeamSystem(5, profile, new Line(a, b), new Line(c, d), BuiltInMaterials.Steel); Assert.True(system.Elements.Count() == 5); this.Model.AddElements(system.Elements); this.Model.AddElement(beam); }
public StructuralFramingTests() { _testProfile = _wideFlangeFactory.GetProfileByType(WideFlangeProfileType.W10x100); }
public void MassBuilding() { var model = new Model(); var a = new Vector3(); var b = new Vector3(30, 10); var c = new Vector3(20, 50); var d = new Vector3(-10, 5); var buildingHeight = 30; var profile = new Polygon(new[] { a, b, c, d }); var mass = new Mass(profile, 0, buildingHeight); var elevations = new List <double>(); for (var i = 0.0; i <= buildingHeight; i += 4.0) { elevations.Add(i); } var faces = mass.Faces(); foreach (var f in faces) { var g = new Grid(f, 14, elevations.Count - 1); foreach (var cell in g.Cells()) { var panel = new Panel(cell, BuiltInMaterials.Glass); var edges = panel.Edges(); var bProfile = new WideFlangeProfile("test_beam"); var beam1 = new Beam(edges[0], bProfile, BuiltInMaterials.Steel, panel.Normal()); var beam2 = new Beam(edges[2], bProfile, BuiltInMaterials.Steel, panel.Normal()); var beam3 = new Beam(edges[1], bProfile, BuiltInMaterials.Steel, panel.Normal()); model.AddElements(new Element[] { panel, beam1, beam2, beam3 }); } } var floorType = new FloorType("test", 0.2); var floors = mass.Floors(elevations, floorType, BuiltInMaterials.Concrete); model.AddElements(floors); var shaft = Polygon.Rectangle(new Vector3(10, 10), 5, 5); var shaftWallType = new WallType("ShaftWall", 0.1); var walls = shaft.Segments().Select(l => { return(new Wall(l, shaftWallType, buildingHeight, null, BuiltInMaterials.Concrete)); }); model.AddElements(walls); var offset = profile.Offset(-1.5).ElementAt(0); var columns = offset.Segments().SelectMany(l => { var ts = new [] { 0.5, 1.0 }; var sideColumns = new List <Column>(); foreach (var t in ts) { sideColumns.Add(new Column(l.PointAt(t), buildingHeight, Polygon.Rectangle(width: 1.0, height: 1.0), BuiltInMaterials.Concrete)); } return(sideColumns); }); model.AddElements(columns); model.SaveGlb("massBuilding.glb"); }