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(); }
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(); }
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); }
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); }