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); }
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); }