コード例 #1
0
        private FrameForceResult GetEnvelopeForceResultForMultipleFrames(List <string> FrameNames, string ComboName, double StationRatio)
        {
            List <FrameForceResult> results = new List <FrameForceResult>();

            foreach (var frm in FrameNames)
            {
                EtabsFrame thisFrame  = new EtabsFrame(frm, this.EtabsModel);
                var        thisResult = thisFrame.GetForces(ComboName, StationRatio);
                results.Add(thisResult);
            }


            //FindMaximums
            double MomentMajorMax = results.Max(f => f.MomentMajorMax);
            double MomentMajorMin = results.Min(f => f.MomentMajorMin);
            double MomentMinorMax = results.Max(f => f.MomentMinorMax);
            double MomentMinorMin = results.Min(f => f.MomentMinorMin);
            double ShearMajorMax  = results.Max(f => f.ShearMajorMax);
            double ShearMajorMin  = results.Min(f => f.ShearMajorMin);
            double ShearMinorMax  = results.Max(f => f.ShearMinorMax);
            double ShearMinorMin  = results.Min(f => f.ShearMinorMin);
            double TorsionMax     = results.Max(f => f.TorsionMax);
            double TorsionMin     = results.Min(f => f.TorsionMin);
            double AxialForceMax  = results.Max(f => f.AxialForceMax);
            double AxialForceMin  = results.Min(f => f.AxialForceMin);

            FrameForceResult envelopeResult = new FrameForceResult()
            {
                MomentMajorMax = MomentMajorMax,
                MomentMajorMin = MomentMajorMin,
                MomentMinorMax = MomentMinorMax,
                MomentMinorMin = MomentMinorMin,
                ShearMajorMax  = ShearMajorMax,
                ShearMajorMin  = ShearMajorMin,
                ShearMinorMax  = ShearMinorMax,
                ShearMinorMin  = ShearMinorMin,
                TorsionMax     = TorsionMax,
                TorsionMin     = TorsionMin,
                AxialForceMax  = AxialForceMax,
                AxialForceMin  = AxialForceMin
            };

            return(envelopeResult);
        }
コード例 #2
0
        private FrameReactionResult GetEnvelopeReactionResultForMultipleFrames(List <string> frameList, string ComboName)
        {
            List <FrameReactionResult> results = new List <FrameReactionResult>();

            foreach (var frm in frameList)
            {
                EtabsFrame thisFrame  = new EtabsFrame(frm, this.EtabsModel);
                var        thisResult = thisFrame.GetReactions(ComboName, true);
                results.Add(thisResult);
            }

            //FindMaximums
            double MomentMajorStart = results.Max(f => f.MomentMajorStart);
            double MomentMajorEnd   = results.Max(f => f.MomentMajorEnd);
            double MomentMinorStart = results.Max(f => f.MomentMinorStart);
            double MomentMinorEnd   = results.Max(f => f.MomentMinorEnd);
            double ShearMajorStart  = results.Max(f => f.ShearMajorStart);
            double ShearMajorEnd    = results.Max(f => f.ShearMajorEnd);
            double ShearMinorStart  = results.Max(f => f.ShearMinorStart);
            double ShearMinorEnd    = results.Max(f => f.ShearMinorEnd);
            double TorsionStart     = results.Max(f => f.TorsionStart);
            double TorsionEnd       = results.Max(f => f.TorsionEnd);
            double AxialForceStart  = results.Max(f => f.AxialForceStart);
            double AxialForceEnd    = results.Max(f => f.AxialForceEnd);

            FrameReactionResult envelopeResult = new FrameReactionResult()
            {
                MomentMajorStart = MomentMajorStart,
                MomentMajorEnd   = MomentMajorEnd,
                MomentMinorStart = MomentMinorStart,
                MomentMinorEnd   = MomentMinorEnd,
                ShearMajorStart  = ShearMajorStart,
                ShearMajorEnd    = ShearMajorEnd,
                ShearMinorStart  = ShearMinorStart,
                ShearMinorEnd    = ShearMinorEnd,
                TorsionStart     = TorsionStart,
                TorsionEnd       = TorsionEnd,
                AxialForceStart  = AxialForceStart,
                AxialForceEnd    = AxialForceEnd
            };

            return(envelopeResult);
        }