Exemplo n.º 1
0
        public void GetPropertiesComponentTest()
        {
            // ensure model has been opened:
            if (TestModel == null)
            {
                OpenComponentTest();
            }

            // create the component
            var comp = new GhSA.Components.GetProperties();

            comp.CreateAttributes();

            // input parameter
            GsaModelGoo modelGoo = new GsaModelGoo(TestModel);

            Component.SetInput(comp, modelGoo);

            //pManager.AddGenericParameter("Sections", "PB", "Section Properties from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("2D Properties", "PA", "2D Properties from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Springs", "PS", "Spring Properties from GSA Model", GH_ParamAccess.list);

            // get output
            GsaSectionGoo output = (GsaSectionGoo)Component.GetOutput(comp, 0);
            GsaSection    sect   = new GsaSection();

            Assert.IsTrue(output.CastTo(ref sect));
            Assert.AreEqual(1, sect.ID);
            //Assert.AreEqual("CAT UB UB457x191x89", sect.Section.Profile);
        }
Exemplo n.º 2
0
        public void OpenComponentTest()
        {
            // create the component
            var comp = new GhSA.Components.OpenModel();

            comp.CreateAttributes();

            // input parameter
            // set filename to be openend
            string file = GhSA.Util.Gsa.InstallationFolderPath.GetPath + "\\Samples\\Steel\\Steel_Design_Simple.gwb";

            Component.SetInput(comp, file);

            // Get output from component
            GsaModelGoo output = (GsaModelGoo)Component.GetOutput(comp);

            // cast from -goo to Gsa-GH data type
            GsaModel model = new GsaModel();

            output.CastTo(ref model);

            Assert.AreEqual(file, model.FileName);
            Assert.IsNotNull(model.GUID);

            // set testmodel to be used by other tests
            TestModel = model;
        }
Exemplo n.º 3
0
        public void GetAnalysisComponentTest()
        {
            // ensure model has been opened:
            if (TestModel == null)
            {
                OpenComponentTest();
            }

            // create the component
            var comp = new GhSA.Components.GetAnalysis();

            comp.CreateAttributes();

            // input parameter
            GsaModelGoo modelGoo = new GsaModelGoo(TestModel);

            Component.SetInput(comp, modelGoo);

            //pManager.AddGenericParameter("Analysis Tasks", "Tasks", "List of analysis tasks in model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Analysis Case Names", "Name", "Analysis case name", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Load Case/Combination ID", "LC", "Load cases and combinations list", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Analysis Case Description", "Desc", "Analysis case description", GH_ParamAccess.list);

            // get output
            var output0  = Component.GetOutput(comp, 0);
            var output10 = Component.GetOutput(comp, 1, 0, 0);
            var output11 = Component.GetOutput(comp, 1, 0, 1);
            var output20 = Component.GetOutput(comp, 2, 0, 0);
            var output21 = Component.GetOutput(comp, 2, 0, 1);
            var output30 = Component.GetOutput(comp, 3, 0, 0);
            var output31 = Component.GetOutput(comp, 3, 0, 1);

            Assert.AreEqual("Task 1", output0.ToString());
            Assert.AreEqual("DL", output10.ToString());
            Assert.AreEqual("LL", output11.ToString());
            Assert.AreEqual("1", output20.ToString());
            Assert.AreEqual("2", output21.ToString());
            Assert.AreEqual("L1", output30.ToString());
            Assert.AreEqual("L2", output31.ToString());
        }
Exemplo n.º 4
0
        public void GetLoadsComponentTest()
        {
            // ensure model has been opened:
            if (TestModel == null)
            {
                OpenComponentTest();
            }

            // create the component
            var comp = new GhSA.Components.GetLoads();

            comp.CreateAttributes();

            // input parameter
            GsaModelGoo modelGoo = new GsaModelGoo(TestModel);

            Component.SetInput(comp, modelGoo);

            //pManager.AddGenericParameter("Gravity Loads", "Grav", "Gravity Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Node Loads", "Node", "Node Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Beam Loads", "Beam", "Beam Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Face Loads", "Face", "Face Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Grid Point Loads", "Point", "Grid Point Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Grid Line Loads", "Line", "Grid Line Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Grid Area Loads", "Area", "Grid Area Loads from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("Grid Plane Surfaces", "GPS", "Grid Plane Surfaces from GSA Model", GH_ParamAccess.list);

            // get output
            GsaLoadGoo output20 = (GsaLoadGoo)Component.GetOutput(comp, 2, 0, 0);
            GsaLoadGoo output21 = (GsaLoadGoo)Component.GetOutput(comp, 2, 0, 1);
            GsaLoad    load1    = output20.Value;
            GsaLoad    load2    = output21.Value;

            Assert.AreEqual(-10000, load1.BeamLoad.BeamLoad.Value(0));
            Assert.AreEqual(BeamLoadType.UNIFORM.ToString(), load1.BeamLoad.BeamLoad.Type.ToString());
            Assert.AreEqual(-30000, load2.BeamLoad.BeamLoad.Value(0));
            Assert.AreEqual(BeamLoadType.POINT.ToString(), load2.BeamLoad.BeamLoad.Type.ToString());
        }
Exemplo n.º 5
0
        public void GetGeometryComponentTest()
        {
            Assert.IsTrue(Rhino.RhinoApp.IsLicenseValidated, "Rhino must be licensed to run this test");

            // ensure model has been opened:
            if (TestModel == null)
            {
                OpenComponentTest();
            }

            // create the component
            var comp = new GhSA.Components.GetGeometry();

            comp.CreateAttributes();

            // input parameter
            GsaModelGoo modelGoo = new GsaModelGoo(TestModel);

            Component.SetInput(comp, modelGoo);

            // Get output from component
            GsaNodeGoo output00 = (GsaNodeGoo)Component.GetOutput(comp, 0, 0, 0);
            GsaNodeGoo output01 = (GsaNodeGoo)Component.GetOutput(comp, 0, 0, 1);

            GsaElement1dGoo output1 = (GsaElement1dGoo)Component.GetOutput(comp, 1);

            GsaMember1dGoo output3 = (GsaMember1dGoo)Component.GetOutput(comp, 4);

            //pManager.AddGenericParameter("Nodes", "No", "Nodes from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("1D Elements", "E1D", "1D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("2D Elements", "E2D", "2D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("3D Elements", "E3D", "3D Elements (Analysis Layer) from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("1D Members", "M1D", "1D Members (Design Layer) from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("2D Members", "M2D", "2D Members (Design Layer) from GSA Model", GH_ParamAccess.list);
            //pManager.AddGenericParameter("3D Members", "M3D", "3D Members (Design Layer) from GSA Model", GH_ParamAccess.list);

            // cast from -goo to Gsa-GH data type
            GsaNode node1 = new GsaNode();
            GsaNode node2 = new GsaNode();

            output00.CastTo(ref node1);
            output01.CastTo(ref node2);

            GsaElement1d elem = new GsaElement1d();

            output1.CastTo(ref elem);
            GsaMember1d mem = new GsaMember1d();

            output3.CastTo(ref mem);

            // test nodes are correct
            Assert.AreEqual(1, node1.ID);
            Assert.AreEqual(0, node1.Point.X, 1E-9);
            Assert.AreEqual(0, node1.Point.Y, 1E-9);
            Assert.AreEqual(0, node1.Point.Z, 1E-9);

            Assert.AreEqual(2, node2.ID);
            Assert.AreEqual(7.5, node2.Point.X, 1E-9);
            Assert.AreEqual(0, node2.Point.Y, 1E-9);
            Assert.AreEqual(0, node2.Point.Z, 1E-9);

            Assert.IsTrue(node1.Node.Restraint.X);
            Assert.IsTrue(node1.Node.Restraint.Y);
            Assert.IsTrue(node1.Node.Restraint.Z);
            Assert.IsTrue(node1.Node.Restraint.XX);
            Assert.IsFalse(node1.Node.Restraint.YY);
            Assert.IsFalse(node1.Node.Restraint.ZZ);

            Assert.IsFalse(node2.Node.Restraint.X);
            Assert.IsTrue(node2.Node.Restraint.Y);
            Assert.IsTrue(node2.Node.Restraint.Z);
            Assert.IsFalse(node2.Node.Restraint.XX);
            Assert.IsFalse(node2.Node.Restraint.YY);
            Assert.IsFalse(node2.Node.Restraint.ZZ);

            // test element and member
            Assert.AreEqual(1, elem.ID);
            Assert.AreEqual(0, elem.Line.PointAtStart.X, 1E-9);
            Assert.AreEqual(0, elem.Line.PointAtStart.Y, 1E-9);
            Assert.AreEqual(0, elem.Line.PointAtStart.Z, 1E-9);
            Assert.AreEqual(7.5, elem.Line.PointAtEnd.X, 1E-9);
            Assert.AreEqual(0, elem.Line.PointAtEnd.Y, 1E-9);
            Assert.AreEqual(0, elem.Line.PointAtEnd.Z, 1E-9);
            //Assert.AreEqual("CAT UB UB457x191x89", elem.Section.Section.Profile.Substring(0, 19));

            Assert.AreEqual(1, mem.ID);
            Assert.AreEqual(0, mem.PolyCurve.PointAtStart.X, 1E-9);
            Assert.AreEqual(0, mem.PolyCurve.PointAtStart.Y, 1E-9);
            Assert.AreEqual(0, mem.PolyCurve.PointAtStart.Z, 1E-9);
            Assert.AreEqual(7.5, mem.PolyCurve.PointAtEnd.X, 1E-9);
            Assert.AreEqual(0, mem.PolyCurve.PointAtEnd.Y, 1E-9);
            Assert.AreEqual(0, mem.PolyCurve.PointAtEnd.Z, 1E-9);
        }