Change shear calculator add crack export to excel

This commit is contained in:
Evgeny Redikultsev
2025-06-21 21:34:20 +05:00
parent 4fbb3f3658
commit 1ebe1bbcd1
47 changed files with 980 additions and 378 deletions

View File

@@ -5,6 +5,7 @@ namespace StructureHelperLogics.NdmCalculations.Analyses
{
public class ExportForcesResultToCSVLogic : ExportToCSVLogicBase
{
private const string errorString = "-error-";
IForcesResults results;
public ExportForcesResultToCSVLogic(IForcesResults results)
@@ -45,14 +46,14 @@ namespace StructureHelperLogics.NdmCalculations.Analyses
}
string[] newLine =
{
item.DesignForceTuple.LimitState.ToString(),
item.DesignForceTuple.CalcTerm.ToString(),
tuple.Mx.ToString(),
tuple.My.ToString(),
tuple.Nz.ToString(),
strainMatrix?.Kx.ToString(),
strainMatrix?.Ky.ToString(),
strainMatrix?.EpsZ.ToString()
item.DesignForceTuple.LimitState.ToString() ?? errorString,
item.DesignForceTuple.CalcTerm.ToString() ?? errorString,
tuple.Mx.ToString() ?? errorString,
tuple.My.ToString() ?? errorString,
tuple.Nz.ToString() ?? errorString,
strainMatrix?.Kx.ToString() ?? errorString,
strainMatrix?.Ky.ToString() ?? errorString,
strainMatrix?.EpsZ.ToString() ?? errorString
};
output.AppendLine(string.Join(separator, newLine));
}

View File

@@ -10,11 +10,11 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Cracking
{
public class CrackResult : IResult
public class CrackResult : ICrackResult
{
public bool IsValid { get; set; }
public string? Description { get; set; }
public List<ITupleCrackResult> TupleResults {get;set;}
public List<ITupleCrackResult> TupleResults { get; set; }
public CrackResult()
{
TupleResults = new();

View File

@@ -0,0 +1,9 @@
using StructureHelperCommon.Models.Calculators;
namespace StructureHelperLogics.NdmCalculations.Cracking
{
public interface ICrackResult : IResult
{
List<ITupleCrackResult> TupleResults { get; set; }
}
}

View File

@@ -0,0 +1,72 @@
using StructureHelperCommon.Models.Calculators;
using StructureHelperLogics.NdmCalculations.Analyses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.NdmCalculations.Cracking
{
public class ExportCrackResultToCSVLogic : ExportToCSVLogicBase
{
private const string errorString = "-error-";
private ICrackResult crackResult;
public ExportCrackResultToCSVLogic(ICrackResult crackResult)
{
this.crackResult = crackResult;
}
public override void ExportHeadings()
{
string[] headings =
{
"Action name",
"Long Nz",
"Long Mx",
"Long My",
"Long CrackWidth",
"Long UltimateCrackWidth",
"Long IsGood",
"Long Uf",
"Short Nz",
"Short Mx",
"Short My",
"Short CrackWidth",
"Short UltimateCrackWidth",
"Short IsGood",
"Short Uf",
};
output.AppendLine(string.Join(separator, headings));
}
public override void ExportBoby()
{
foreach (var item in crackResult.TupleResults)
{
//if (item.IsValid == true)
{
string[] newLine =
{
item?.InputData?.TupleName ?? errorString,
item?.InputData?.LongTermTuple?.Nz.ToString() ?? errorString,
item?.InputData?.LongTermTuple?.Mx.ToString() ?? errorString,
item?.InputData?.LongTermTuple?.My.ToString() ?? errorString,
item?.LongTermResult?.CrackWidth.ToString() ?? errorString,
item?.LongTermResult ?.UltimateCrackWidth.ToString() ?? errorString,
item?.LongTermResult ?.IsCrackLessThanUltimate.ToString() ?? errorString,
(item?.LongTermResult ?.CrackWidth / item?.LongTermResult?.UltimateCrackWidth).ToString() ?? errorString,
item?.InputData?.ShortTermTuple?.Nz.ToString() ?? errorString,
item?.InputData?.ShortTermTuple?.Mx.ToString() ?? errorString,
item ?.InputData?.ShortTermTuple?.My.ToString() ?? errorString,
item?.ShortTermResult?.CrackWidth.ToString() ?? errorString,
item?.ShortTermResult?.UltimateCrackWidth.ToString() ?? errorString,
item?.ShortTermResult?.IsCrackLessThanUltimate.ToString() ?? errorString,
(item?.ShortTermResult?.CrackWidth / item?.ShortTermResult?.UltimateCrackWidth).ToString() ?? errorString,
};
output.AppendLine(string.Join(separator, newLine));
}
}
}
}
}