protected override void SolveInstance(IGH_DataAccess DA)
        {
            FemDesign.Reinforcement.Wire wire = null;
            if (!DA.GetData("Wire", ref wire))
            {
                return;
            }

            Rhino.Geometry.Brep profile = null;
            if (!DA.GetData("Profile", ref profile))
            {
                return;
            }

            double startParam = 0;

            if (!DA.GetData("Start", ref startParam))
            {
                return;
            }

            double endParam = 0;

            if (!DA.GetData("End", ref endParam))
            {
                return;
            }

            double spacing = 0;

            if (!DA.GetData("Spacing", ref spacing))
            {
                return;
            }

            // transform profile to region
            var region = profile.FromRhino();

            // create stirrups
            var stirrups = new FemDesign.Reinforcement.Stirrups(region, startParam, endParam, spacing);

            // create bar reinforcement
            var barReinf = new FemDesign.Reinforcement.BarReinforcement(Guid.Empty, wire, stirrups);

            //
            DA.SetData("BarReinforcement", barReinf);
        }
Пример #2
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            FemDesign.Reinforcement.Wire wire = null;
            if (!DA.GetData("Wire", ref wire))
            {
                return;
            }

            double yPos = 0;

            if (!DA.GetData("YPos", ref yPos))
            {
                return;
            }

            double zPos = 0;

            if (!DA.GetData("ZPos", ref zPos))
            {
                return;
            }

            double startAnchorage = 0;

            if (!DA.GetData("StartAnchorage", ref startAnchorage))
            {
                return;
            }

            double endAnchorage = 0;

            if (!DA.GetData("EndAnchorage", ref endAnchorage))
            {
                return;
            }

            double start = 0;

            if (!DA.GetData("Start", ref start))
            {
                return;
            }

            double end = 0;

            if (!DA.GetData("End", ref end))
            {
                return;
            }

            bool auxiliary = false;

            if (!DA.GetData("AuxiliaryBar", ref auxiliary))
            {
            }

            // create Longitudinal
            var pos     = new FemDesign.Geometry.FdPoint2d(yPos, zPos);
            var longBar = new FemDesign.Reinforcement.LongitudinalBar(pos, startAnchorage, endAnchorage, start, end, auxiliary);

            // create bar reinforcement without base bar reference
            var barReinf = new FemDesign.Reinforcement.BarReinforcement(Guid.Empty, wire, longBar);

            //
            DA.SetData("BarReinforcement", barReinf);
        }