public static Dictionary <string, object> SurfaceTemperatureLoadDeconstruct(FemDesign.Loads.SurfaceTemperatureLoad srfTmpLoad) { if (srfTmpLoad.TopBotLocVal.Count == 1) { return(new Dictionary <string, object> { { "Guid", srfTmpLoad.Guid }, { "Surface", srfTmpLoad.Region.ToDynamoSurface() }, { "Direction", srfTmpLoad.LocalZ.ToDynamo() }, { "TopBotLocVal1", srfTmpLoad.TopBotLocVal[0] }, { "TopBotLocVal2", srfTmpLoad.TopBotLocVal[0] }, { "TopBotLocVal3", srfTmpLoad.TopBotLocVal[0] }, { "LoadCaseGuid", srfTmpLoad.LoadCase }, { "Comment", srfTmpLoad.Comment } }); } else if (srfTmpLoad.TopBotLocVal.Count == 3) { return(new Dictionary <string, object> { { "Guid", srfTmpLoad.Guid }, { "Surface", srfTmpLoad.Region.ToDynamoSurface() }, { "Direction", srfTmpLoad.LocalZ.ToDynamo() }, { "TopBotLocVal1", srfTmpLoad.TopBotLocVal[0] }, { "TopBotLocVal2", srfTmpLoad.TopBotLocVal[1] }, { "TopBotLocVal3", srfTmpLoad.TopBotLocVal[2] }, { "LoadCaseGuid", srfTmpLoad.LoadCase }, { "Comment", srfTmpLoad.Comment } }); } else { throw new System.ArgumentException("Length of load must be 1 or 3."); } }
protected override void SolveInstance(IGH_DataAccess DA) { // get input FemDesign.Loads.SurfaceTemperatureLoad obj = null; if (!DA.GetData(0, ref obj)) { return; } if (obj == null) { return; } // return DA.SetData(0, obj.Guid); DA.SetData(1, obj.Region.ToRhinoBrep()); DA.SetData(2, obj.LocalZ.ToRhino()); // if uniform if (obj.TopBotLocVal.Count == 1) { DA.SetData(3, obj.TopBotLocVal[0]); DA.SetData(4, obj.TopBotLocVal[0]); DA.SetData(5, obj.TopBotLocVal[0]); } // if variable else if (obj.TopBotLocVal.Count == 3) { DA.SetData(3, obj.TopBotLocVal[0]); DA.SetData(4, obj.TopBotLocVal[1]); DA.SetData(5, obj.TopBotLocVal[2]); } // else else { throw new System.ArgumentException("Length of load should be 1 or 3."); } DA.SetData(6, obj.LoadCase); DA.SetData(7, obj.Comment); }