コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }