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