Exemple #1
0
        static void Main(string[] args)
        {
            WR_Structure structure = new WR_Structure();

            WR_XSecRect rect = new WR_XSecRect(0.1, 0.1);

            WR_ReleaseBeam3d rel = new WR_ReleaseBeam3d(true, true, true, true, true, true);

            WR_XYZ x1 = new WR_XYZ(0, 0, 0);
            WR_XYZ x2 = new WR_XYZ(0, 1, 0);
            WR_XYZ x3 = new WR_XYZ(1, 1, 0);
            WR_XYZ x4 = new WR_XYZ(1, 0, 0);

            WR_Elem3dRcp rcp1 = new WR_Elem3dRcp(x1, x2,rel,rel,rect,210000000000,0.1,new WR_Vector(0,1,0));
            WR_Elem3dRcp rcp2 = new WR_Elem3dRcp(x2, x3, rel, rel, rect, 210000000000, 0.1, new WR_Vector(0, 1, 0));
            WR_Elem3dRcp rcp3 = new WR_Elem3dRcp(x3, x4, rel, rel, rect, 210000000000, 0.1, new WR_Vector(0, 1, 0));

            WR_Node3d n1 = new WR_Node3d(0, 0, 0);
            WR_Node3d n2 = new WR_Node3d(0, 1, 0);
            WR_Node3d n3 = new WR_Node3d(1, 1, 0);
            WR_Node3d n4 = new WR_Node3d(1, 0, 0);

            structure.AddNode(n1);
            structure.AddNode(n2);
            structure.AddNode(n3);
            structure.AddNode(n4);

            structure.AddElementRcp(rcp1);
            structure.AddElementRcp(rcp2);
            structure.AddElementRcp(rcp3);

            structure.Solve();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            WR_Structure structure = new WR_Structure();

            WR_XSecRect rect = new WR_XSecRect(0.1, 0.1);

            WR_ReleaseBeam3d rel = new WR_ReleaseBeam3d(true, true, true, true, true, true);

            WR_XYZ x1 = new WR_XYZ(0, 0, 0);
            WR_XYZ x2 = new WR_XYZ(0, 1, 0);
            WR_XYZ x3 = new WR_XYZ(1, 1, 0);
            WR_XYZ x4 = new WR_XYZ(1, 0, 0);

            WR_Elem3dRcp rcp1 = new WR_Elem3dRcp(x1, x2, rel, rel, rect, 210000000000, 0.1, new WR_Vector(0, 1, 0));
            WR_Elem3dRcp rcp2 = new WR_Elem3dRcp(x2, x3, rel, rel, rect, 210000000000, 0.1, new WR_Vector(0, 1, 0));
            WR_Elem3dRcp rcp3 = new WR_Elem3dRcp(x3, x4, rel, rel, rect, 210000000000, 0.1, new WR_Vector(0, 1, 0));

            WR_Node3d n1 = new WR_Node3d(0, 0, 0);
            WR_Node3d n2 = new WR_Node3d(0, 1, 0);
            WR_Node3d n3 = new WR_Node3d(1, 1, 0);
            WR_Node3d n4 = new WR_Node3d(1, 0, 0);


            structure.AddNode(n1);
            structure.AddNode(n2);
            structure.AddNode(n3);
            structure.AddNode(n4);

            structure.AddElementRcp(rcp1);
            structure.AddElementRcp(rcp2);
            structure.AddElementRcp(rcp3);

            structure.Solve();
        }
Exemple #3
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            List <WR_Node3d>   nodes = new List <WR_Node3d>();
            List <WR_IElemRcp> beams = new List <WR_IElemRcp>();

            if (!DA.GetDataList(0, nodes))
            {
                return;
            }
            if (!DA.GetDataList(1, beams))
            {
                return;
            }


            // Create structure wrapper
            WR_Structure structure = new WR_Structure();

            // Add restraint nodes
            foreach (WR_Node3d n in nodes)
            {
                structure.AddNode(n);
            }

            // Add elements
            foreach (WR_Elem3dRcp e in beams)
            {
                structure.AddElementRcp(e);
            }

            DA.SetData(0, structure);
        }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            List<WR_Node3d> nodes = new List<WR_Node3d>();
            List<WR_IElemRcp> beams = new List<WR_IElemRcp>();

            if (!DA.GetDataList(0, nodes)) { return; }
            if (!DA.GetDataList(1, beams)) { return; }

            // Create structure wrapper
            WR_Structure structure = new WR_Structure();

            // Add restraint nodes
            foreach (WR_Node3d n in nodes)
                structure.AddNode(n);

            // Add elements
            foreach (WR_Elem3dRcp e in beams)
                structure.AddElementRcp(e);

            DA.SetData(0, structure);
        }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            bool go = false;
            List<WR_Node3d> nodes = new List<WR_Node3d>();
            List<WR_IElemRcp> beams = new List<WR_IElemRcp>();

            if (!DA.GetDataList(0, nodes)) { return; }
            if (!DA.GetDataList(1, beams)) { return; }
            if (!DA.GetData(2, ref go)) { return; }

            if (go)
            {
                resElems = new List<ResultElement>();

                log.Clear();
                log.Add("Structure invokation started");

                // Create structure wrapper
                WR_Structure structure = new WR_Structure();

                // Add restraint nodes
                foreach (WR_Node3d n in nodes)
                    structure.AddNode(n);
                log.Add("" + nodes.Count + " nodes added to structure");

                // Add elements
                foreach (WR_Elem3dRcp e in beams)
                    structure.AddElementRcp(e);
                log.Add("" + beams.Count + " elements added to structure");

                // Add forces

                // Solve
                WR_LinearSolver solver = new WR_LinearSolver(structure, true);
                solver.Solve();

                // Extract results
                List<WR_IElement> elems = structure.GetAllElements();
                for (int i = 0; i < elems.Count; i++)
                {

                    if (elems[i] is WR_Element3d)
                    {
                        WR_Element3d el3d = (WR_Element3d)elems[i];
                        ResultElement re = new ResultElement(el3d);
                        resElems.Add(re);
                    }
                }

                //Extract Points
                pts = new List<Rhino.Geometry.Point3d>();
                List<WR_XYZ> xyzs = structure.GetAllPoints();

                for (int i = 0; i < xyzs.Count; i++)
                {
                    pts.Add(new Rhino.Geometry.Point3d(xyzs[i].X, xyzs[i].Y, xyzs[i].Z));
                }
            }

            DA.SetData(0, log);
            DA.SetDataList(1, resElems);
            DA.SetDataList(2, pts);
        }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            bool go = false;
            List<WR_Node3d> nodes = new List<WR_Node3d>();
            List<WR_IElemRcp> beams = new List<WR_IElemRcp>();
            int mode = 0;

            if (!DA.GetDataList(0, nodes)) { return; }
            if (!DA.GetDataList(1, beams)) { return; }
            if (!DA.GetData(2, ref mode)) { return; }
            if (!DA.GetData(3, ref go)) { return; }

            if (go)
            {
                resElems = new List<ResultElement>();

                log.Clear();
                log.Add("Structure invokation started");

                // Create structure wrapper
                _structure = new WR_Structure();

                // Add restraint nodes
                foreach (WR_Node3d n in nodes)
                    _structure.AddNode(n);
                log.Add("" + nodes.Count + " nodes added to structure");

                // Add elements
                foreach (WR_Elem3dRcp e in beams)
                    _structure.AddElementRcp(e);
                log.Add("" + beams.Count + " elements added to structure");

                // Add forces

                // Solve
                _solver = new WR_EigenSolver(_structure);
                _solver.Solve();
                //structure.EigenSolve(mode);

            }

            if (_solver != null && _structure != null)
            {
                _eigVal =_solver.SetResultsToMode(mode);

                // Extract results
                List<WR_IElement> elems = _structure.GetAllElements();
                resElems.Clear();

                for (int i = 0; i < elems.Count; i++)
                {

                    if (elems[i] is WR_Element3d)
                    {
                        WR_Element3d el3d = (WR_Element3d)elems[i];
                        ResultElement re = new ResultElement(el3d);
                        resElems.Add(re);
                    }
                }
            }

            DA.SetData(0, log);
            DA.SetDataList(1, resElems);
            DA.SetData(2, _eigVal);
        }
Exemple #7
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            bool               go    = false;
            List <WR_Node3d>   nodes = new List <WR_Node3d>();
            List <WR_IElemRcp> beams = new List <WR_IElemRcp>();
            int mode = 0;

            if (!DA.GetDataList(0, nodes))
            {
                return;
            }
            if (!DA.GetDataList(1, beams))
            {
                return;
            }
            if (!DA.GetData(2, ref mode))
            {
                return;
            }
            if (!DA.GetData(3, ref go))
            {
                return;
            }

            if (go)
            {
                resElems = new List <ResultElement>();

                log.Clear();
                log.Add("Structure invokation started");

                // Create structure wrapper
                _structure = new WR_Structure();

                // Add restraint nodes
                foreach (WR_Node3d n in nodes)
                {
                    _structure.AddNode(n);
                }
                log.Add("" + nodes.Count + " nodes added to structure");

                // Add elements
                foreach (WR_Elem3dRcp e in beams)
                {
                    _structure.AddElementRcp(e);
                }
                log.Add("" + beams.Count + " elements added to structure");

                // Add forces

                // Solve
                _solver = new WR_EigenSolver(_structure);
                _solver.Solve();
                //structure.EigenSolve(mode);
            }

            if (_solver != null && _structure != null)
            {
                _eigVal = _solver.SetResultsToMode(mode);

                // Extract results
                List <WR_IElement> elems = _structure.GetAllElements();
                resElems.Clear();

                for (int i = 0; i < elems.Count; i++)
                {
                    if (elems[i] is WR_Element3d)
                    {
                        WR_Element3d  el3d = (WR_Element3d)elems[i];
                        ResultElement re   = new ResultElement(el3d);
                        resElems.Add(re);
                    }
                }
            }



            DA.SetData(0, log);
            DA.SetDataList(1, resElems);
            DA.SetData(2, _eigVal);
        }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // Indata
            bool               go    = false;
            List <WR_Node3d>   nodes = new List <WR_Node3d>();
            List <WR_IElemRcp> beams = new List <WR_IElemRcp>();

            if (!DA.GetDataList(0, nodes))
            {
                return;
            }
            if (!DA.GetDataList(1, beams))
            {
                return;
            }
            if (!DA.GetData(2, ref go))
            {
                return;
            }

            if (go)
            {
                resElems = new List <ResultElement>();

                log.Clear();
                log.Add("Structure invokation started");

                // Create structure wrapper
                WR_Structure structure = new WR_Structure();

                // Add restraint nodes
                foreach (WR_Node3d n in nodes)
                {
                    structure.AddNode(n);
                }
                log.Add("" + nodes.Count + " nodes added to structure");

                // Add elements
                foreach (WR_Elem3dRcp e in beams)
                {
                    structure.AddElementRcp(e);
                }
                log.Add("" + beams.Count + " elements added to structure");

                // Add forces

                // Solve
                WR_LinearSolver solver = new WR_LinearSolver(structure, true);
                solver.Solve();

                // Extract results
                List <WR_IElement> elems = structure.GetAllElements();
                for (int i = 0; i < elems.Count; i++)
                {
                    if (elems[i] is WR_Element3d)
                    {
                        WR_Element3d  el3d = (WR_Element3d)elems[i];
                        ResultElement re   = new ResultElement(el3d);
                        resElems.Add(re);
                    }
                }

                //Extract Points
                pts = new List <Rhino.Geometry.Point3d>();
                List <WR_XYZ> xyzs = structure.GetAllPoints();

                for (int i = 0; i < xyzs.Count; i++)
                {
                    pts.Add(new Rhino.Geometry.Point3d(xyzs[i].X, xyzs[i].Y, xyzs[i].Z));
                }
            }

            DA.SetData(0, log);
            DA.SetDataList(1, resElems);
            DA.SetDataList(2, pts);
        }