private string getLineForcesInfo(LineElement l, float xPos, RenderOptions.InternalForces iForces) { string force = units.UnitName(Canguro.Model.UnitSystem.Units.Force); string moment = units.UnitName(Canguro.Model.UnitSystem.Units.Moment); string unitStr = force; float[] diagram; string iForceName = string.Empty; int numPoints = Properties.Settings.Default.ElementForcesSegments; Model.Load.AbstractCase ac = model.Results.ActiveCase.AbstractCase; Model.Load.LineForceComponent component = Canguro.Model.Load.LineForceComponent.Axial; bool lastUndoEnabled = model.Undo.Enabled; bool lastUnitSystemEnabled = Model.UnitSystem.UnitSystemsManager.Instance.Enabled; try { if (model.IsLocked) model.Undo.Enabled = false; Model.UnitSystem.UnitSystemsManager.Instance.Enabled = false; Analysis.LineStressCalculator calc = new Analysis.LineStressCalculator(); // Shear forces switch (iForces) { case RenderOptions.InternalForces.Sx: component = Canguro.Model.Load.LineForceComponent.Axial; iForceName = Culture.Get("Axial"); break; case RenderOptions.InternalForces.Sy: component = Canguro.Model.Load.LineForceComponent.Shear22; iForceName = Culture.Get("Shear") + " 22"; break; case RenderOptions.InternalForces.Sz: component = Canguro.Model.Load.LineForceComponent.Shear33; iForceName = Culture.Get("Shear") + " 33"; break; // Moments case RenderOptions.InternalForces.Mx: component = Canguro.Model.Load.LineForceComponent.Torsion; iForceName = Culture.Get("Torsion"); unitStr = moment; break; case RenderOptions.InternalForces.My: component = Canguro.Model.Load.LineForceComponent.Moment22; iForceName = Culture.Get("Moment") + " 22"; unitStr = moment; break; case RenderOptions.InternalForces.Mz: component = Canguro.Model.Load.LineForceComponent.Moment33; iForceName = Culture.Get("Moment") + " 33"; unitStr = moment; break; } // Get Diagram diagram = calc.GetForceAtPoint(ac, l, component, xPos); } finally { Model.UnitSystem.UnitSystemsManager.Instance.Enabled = lastUnitSystemEnabled; model.Undo.Enabled = lastUndoEnabled; } return "\n" + iForceName + ": " + units.FromInternational(diagram[1], Canguro.Model.UnitSystem.Units.Force).ToString("G3") + unitStr; }
private string getLineForcesInfo(LineElement l, float xPos, RenderOptions.InternalForces iForces) { string force = units.UnitName(Canguro.Model.UnitSystem.Units.Force); string moment = units.UnitName(Canguro.Model.UnitSystem.Units.Moment); string unitStr = force; float[] diagram; string iForceName = string.Empty; int numPoints = Properties.Settings.Default.ElementForcesSegments; Model.Load.AbstractCase ac = model.Results.ActiveCase.AbstractCase; Model.Load.LineForceComponent component = Canguro.Model.Load.LineForceComponent.Axial; bool lastUndoEnabled = model.Undo.Enabled; bool lastUnitSystemEnabled = Model.UnitSystem.UnitSystemsManager.Instance.Enabled; try { if (model.IsLocked) { model.Undo.Enabled = false; } Model.UnitSystem.UnitSystemsManager.Instance.Enabled = false; Analysis.LineStressCalculator calc = new Analysis.LineStressCalculator(); // Shear forces switch (iForces) { case RenderOptions.InternalForces.Sx: component = Canguro.Model.Load.LineForceComponent.Axial; iForceName = Culture.Get("Axial"); break; case RenderOptions.InternalForces.Sy: component = Canguro.Model.Load.LineForceComponent.Shear22; iForceName = Culture.Get("Shear") + " 22"; break; case RenderOptions.InternalForces.Sz: component = Canguro.Model.Load.LineForceComponent.Shear33; iForceName = Culture.Get("Shear") + " 33"; break; // Moments case RenderOptions.InternalForces.Mx: component = Canguro.Model.Load.LineForceComponent.Torsion; iForceName = Culture.Get("Torsion"); unitStr = moment; break; case RenderOptions.InternalForces.My: component = Canguro.Model.Load.LineForceComponent.Moment22; iForceName = Culture.Get("Moment") + " 22"; unitStr = moment; break; case RenderOptions.InternalForces.Mz: component = Canguro.Model.Load.LineForceComponent.Moment33; iForceName = Culture.Get("Moment") + " 33"; unitStr = moment; break; } // Get Diagram diagram = calc.GetForceAtPoint(ac, l, component, xPos); } finally { Model.UnitSystem.UnitSystemsManager.Instance.Enabled = lastUnitSystemEnabled; model.Undo.Enabled = lastUndoEnabled; } return("\n" + iForceName + ": " + units.FromInternational(diagram[1], Canguro.Model.UnitSystem.Units.Force).ToString("G3") + unitStr); }