Exemplo n.º 1
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            Materials.IMaterial obj = null;
            if (!DA.GetData(0, ref obj))
            {
                return;
            }
            DA.SetData("Guid", obj.Guid);
            DA.SetData("Name", obj.Name);

            if (obj is Materials.Material material)
            {
                DA.SetData("Standard", material.Standard);
                DA.SetData("Country", material.Country);
            }
        }
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // get input
            FemDesign.Shells.Panel panel = null;
            if (!DA.GetData(0, ref panel))
            {
                return;
            }
            if (panel == null)
            {
                return;
            }

            if (panel.InternalPanels.IntPanels.Count != 1)
            {
                throw new System.ArgumentException("Panel has more than 1 internal panel. Panel analytical model is not of type continuous.");
            }

            // Get Material (concrete/steel material) or TimberPanelData (timber material)
            Materials.IMaterial material = null;
            if (panel.Material != null)
            {
                material = panel.Material;
            }
            else if (panel.TimberPanelData != null)
            {
                material = panel.TimberPanelData;
            }

            DA.SetData("Guid", panel.Guid);
            DA.SetData("ExtSurface", panel.InternalPanels.IntPanels[0].Region.ToRhinoBrep());
            DA.SetData("Material", material);
            DA.SetData("Section", panel.Section);
            DA.SetDataList("ExtEdgeCurves", panel.InternalPanels.IntPanels[0].Region.ToRhinoCurves());
            DA.SetDataList("ExtEdgeConnections", panel.InternalPanels.IntPanels[0].Region.GetEdgeConnections());
            DA.SetData("LocalX", panel.LocalX.ToRhino());
            DA.SetData("LocalY", panel.LocalY.ToRhino());
            DA.SetData("Identifier", panel.Identifier);
        }