protected override void SolveInstance(IGH_DataAccess DA) { // Declare a variable for the input List <Point3d> positions = new List <Point3d>(); bool UX = false; bool UY = false; bool UZ = false; bool RX = false; bool RY = false; bool RZ = false; // Use the DA object to retrieve the data inside the first input parameter. // If the retieval fails (for example if there is no data) we need to abort. if (!DA.GetDataList <Point3d>(0, positions)) { return; } if (!DA.GetData(1, ref UX)) { return; } if (!DA.GetData(2, ref UY)) { return; } if (!DA.GetData(3, ref UZ)) { return; } if (!DA.GetData(4, ref RX)) { return; } if (!DA.GetData(5, ref RY)) { return; } if (!DA.GetData(6, ref RZ)) { return; } //Create node constrain GH_NodeSupport nodeSupport = new GH_NodeSupport(positions, UX, UY, UZ, RX, RY, RZ); //Return DA.SetData(0, nodeSupport); }
public void Setup() { model = new GH_Model(ModelType.Truss2D, new List <GH_Element>(), new List <GH_Load>(), new List <GH_Support>()); springConstant = 10; force = new Vector3d(0, 0, 10); moment = new Vector3d(0, 0, 0); point1 = new Point3d(0, 0, 0); point2 = new Point3d(0, 0, 10); point3 = new Point3d(0, 0, 20); spring1 = new GH_Spring(point1, point2, springConstant); spring2 = new GH_Spring(point2, point3, springConstant); nodalLoad1 = new GH_NodalLoad(point2, force, moment); nodalLoad2 = new GH_NodalLoad(point3, force, moment); nodeSupport1 = new GH_NodeSupport(point1, true, true, true, true, true, true); nodeSupport2 = new GH_NodeSupport(point2, true, true, false, true, true, true); }
public void Setup() { model = new GH_Model(ModelType.Full3D, new List <GH_Element>(), new List <GH_Load>(), new List <GH_Support>()); crossSection = new GH_RectangularCrossSection(0.5, 0.2); material = new GH_ElasticMaterial(0, 2000, 0.1, 1000); force = new Vector3d(10, 0, 0); moment = new Vector3d(0, 0, 0); point1 = new Point3d(0, 0, 0); point2 = new Point3d(0, 0, 1); point3 = new Point3d(1, 0, 1); point4 = new Point3d(1, 0, 0); beam1 = new GH_Beam(point1, point2, crossSection, material); beam2 = new GH_Beam(point2, point3, crossSection, material); beam3 = new GH_Beam(point3, point4, crossSection, material); nodalLoad1 = new GH_NodalLoad(point2, force, moment); nodeSupport1 = new GH_NodeSupport(point1, true, true, true, true, true, true); nodeSupport2 = new GH_NodeSupport(point4, true, true, true, true, true, true); }