protected override void SolveInstance(IGH_DataAccess DA)
        {
            // get input
            FemDesign.Bars.Bar bar = null;
            if (!DA.GetData(0, ref bar))
            {
                return;
            }
            if (bar == null)
            {
                return;
            }

            // return
            DA.SetData(0, bar.Guid);
            DA.SetData(1, bar.GetRhinoCurve());
            DA.SetData(2, bar.BarPart.ComplexMaterialObj);
            DA.SetDataList(3, bar.BarPart.ComplexSectionObj.Sections);
            DA.SetDataList(4, bar.BarPart.Connectivity);
            DA.SetDataList(5, bar.BarPart.ComplexSectionObj.Eccentricities);
            DA.SetData(6, bar.BarPart.LocalY.ToRhino());
            DA.SetData(7, bar.Identifier);
        }
예제 #2
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            // get input
            FemDesign.Bars.Bar bar = null;
            if (!DA.GetData(0, ref bar))
            {
                return;
            }
            if (bar == null)
            {
                return;
            }



            // The following code is to convert 'item' to 'list object'
            // It is required to construct the bar without graftening the data

            var guidList = new List <object>()
            {
                bar.Guid
            };

            var curveList = new List <object>()
            {
                bar.GetRhinoCurve()
            };

            var typeList = new List <object>()
            {
                bar.Type
            };

            var materialList = new List <object>()
            {
                bar.BarPart.ComplexMaterialObj
            };

            var localYList = new List <object>()
            {
                bar.BarPart.LocalY.ToRhino()
            };


            // return
            DA.SetData(0, bar.Guid);
            DA.SetData(1, bar.GetRhinoCurve());
            DA.SetData(2, bar.Type);
            DA.SetDataList(3, materialList);

            if (bar.BarPart.ComplexSectionObj != null)
            {
                DA.SetDataList(4, bar.BarPart.ComplexSectionObj.Sections);
            }
            else if (bar.BarPart.HasComplexCompositeRef || bar.BarPart.HasDeltaBeamComplexSectionRef)
            {
                AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "The bar has a Composite Section. The object has not been implemented yet. Please, get in touch if needed.");
                DA.SetDataList(4, null);
            }
            else if (bar.BarPart.Type == Bars.BarType.Truss)
            {
                var truss = new List <Sections.Section> {
                    bar.BarPart.TrussUniformSectionObj
                };
                DA.SetDataList(4, truss);
            }
            else
            {
                DA.SetDataList(4, null);
            }


            DA.SetDataList(5, bar.BarPart.Connectivity);

            var result = (bar.BarPart.ComplexSectionObj != null) ? bar.BarPart.ComplexSectionObj.Eccentricities : null;

            DA.SetDataList(6, result);



            DA.SetData(7, bar.BarPart.LocalY.ToRhino());
            DA.SetDataList(8, bar.Stirrups);
            DA.SetDataList(9, bar.LongitudinalBars);
            DA.SetDataList(10, bar.Ptc);
            DA.SetData(11, bar.Identifier);
        }