Пример #1
0
 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);
        }