示例#1
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // get data
            Curve curve = null;

            if (!DA.GetData(0, ref curve))
            {
                return;
            }

            Vector3d startForce = Vector3d.Zero;

            if (!DA.GetData(1, ref startForce))
            {
                return;
            }

            Vector3d endForce = Vector3d.Zero;

            if (!DA.GetData(2, ref endForce))
            {
                // if no data set endForce to startForce to create a uniform line load.
                endForce = startForce;
            }

            FemDesign.Loads.LoadCase loadCase = null;
            if (!DA.GetData(3, ref loadCase))
            {
                return;
            }

            bool constLoadDir = true;

            DA.GetData(4, ref constLoadDir);

            string comment = null;

            DA.GetData(5, ref comment);

            if (curve == null || startForce == null || endForce == null || loadCase == null)
            {
                return;
            }

            FemDesign.Geometry.Edge       edge        = Convert.FromRhinoLineOrArc1(curve);
            FemDesign.Geometry.FdVector3d _startForce = startForce.FromRhino();
            FemDesign.Geometry.FdVector3d _endForce   = endForce.FromRhino();


            try
            {
                var obj = new FemDesign.Loads.LineLoad(edge, _startForce, _endForce, loadCase, Loads.ForceLoadType.Moment, comment, constLoadDir, false);
                DA.SetData(0, obj);
            }
            catch (ArgumentException e)
            {
                this.AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, e.Message);
            }
        }
示例#2
0
 public static Dictionary <string, object> LineLoadDeconstruct(FemDesign.Loads.LineLoad lineLoad)
 {
     return(new Dictionary <string, object>
     {
         { "Guid", lineLoad.Guid },
         { "Type", lineLoad.LoadType },
         { "Curve", lineLoad.GetDynamoGeometry() },
         { "Direction", lineLoad.Direction.ToDynamo() },
         { "q1", lineLoad.Load[0].Value },
         { "q2", lineLoad.Load[1].Value },
         { "LoadCaseGuid", lineLoad.LoadCase },
         { "Comment", lineLoad.Comment }
     });
 }
示例#3
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // get input
            FemDesign.Loads.LineLoad obj = null;
            if (!DA.GetData(0, ref obj))
            {
                return;
            }
            if (obj == null)
            {
                return;
            }

            // return
            DA.SetData(0, obj.Guid);
            DA.SetData(1, obj.LoadType);
            DA.SetData(2, obj.GetRhinoGeometry());
            DA.SetData(3, obj.Direction.ToRhino());
            DA.SetData(4, obj.Load[0].Value);
            DA.SetData(5, obj.Load[1].Value);
            DA.SetData(6, obj.LoadCase);
            DA.SetData(7, obj.Comment);
        }