Add beam shear window

This commit is contained in:
Evgeny Redikultsev
2025-03-02 21:30:39 +05:00
parent e4a23f5139
commit 382ff6ed36
63 changed files with 886 additions and 134 deletions

View File

@@ -13,5 +13,6 @@ namespace StructureHelperCommon.Infrastructures.Interfaces
public interface IHasBeamShearActions
{
List<IBeamShearAction> BeamShearActions { get; }
void DeleteAction(IBeamShearAction action);
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Materials
{
public interface IDirectMaterialStrength
{
}
}

View File

@@ -1,7 +1,7 @@
using StructureHelperCommon.Models.Materials.Libraries;
using System.Collections.Generic;
namespace StructureHelperLogics.Models.Materials
namespace StructureHelperCommon.Models.Materials
{
public interface IHasSafetyFactors
{

View File

@@ -1,7 +1,7 @@
using LoaderCalculator.Data.Materials;
using StructureHelperCommon.Infrastructures.Enums;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperLogics.Models.Materials;
using StructureHelperCommon.Models.Materials;
using System;
using System.Windows.Media;

View File

@@ -1,13 +1,9 @@
using LoaderCalculator.Data.Materials;
using StructureHelperCommon.Infrastructures.Enums;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Models.Materials.Libraries;
using StructureHelperLogics.Models.Materials;
using System;
using System.Collections.Generic;
using System.Text;
namespace StructureHelperLogics.Models.Materials
namespace StructureHelperCommon.Models.Materials
{
public interface IHelperMaterial : ISaveable, ICloneable, IHasSafetyFactors
{

View File

@@ -1,18 +1,20 @@
using StructureHelperCommon.Infrastructures.Enums;
using StructureHelperCommon.Models.Materials;
using StructureHelperCommon.Models.Materials.Libraries;
using StructureHelperLogics.Models.Materials;
using System;
using System.Collections.Generic;
using System.Text;
namespace StructureHelperLogics.Models.Materials
//Copyright (c) 2025 Redikultsev Evgeny, Ekaterinburg, Russia
//All rights reserved.
namespace StructureHelperCommon.Models.Materials
{
public interface ILibMaterial : IHelperMaterial
/// <summary>
/// Implements logic for library material
/// </summary>
public interface ILibMaterial : IHelperMaterial, IMaterialStrength
{
ILibMaterialEntity MaterialEntity { get; set; }
IMaterialLogic MaterialLogic { get; set; }
List<IMaterialLogic> MaterialLogics { get; }
(double Compressive, double Tensile) GetStrength(LimitStates limitState, CalcTerms calcTerm);
}
}

View File

@@ -0,0 +1,9 @@
using StructureHelperCommon.Infrastructures.Enums;
namespace StructureHelperCommon.Models.Materials
{
public interface IMaterialStrength
{
(double Compressive, double Tensile) GetStrength(LimitStates limitState, CalcTerms calcTerm);
}
}

View File

@@ -0,0 +1,14 @@
using StructureHelperCommon.Infrastructures.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Materials
{
public interface IMaterialStrengthByLibMaterial : ISaveable, ICloneable, IMaterialStrength
{
ILibMaterial LibMaterial { get; }
}
}

View File

@@ -0,0 +1,33 @@
using StructureHelperCommon.Infrastructures.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Materials
{
public class MaterialStrengthByLibMaterial : IMaterialStrengthByLibMaterial
{
public Guid Id { get; }
public ILibMaterial LibMaterial { get; }
public MaterialStrengthByLibMaterial(Guid id, ILibMaterial libMaterial)
{
Id = id;
LibMaterial = libMaterial;
}
public (double Compressive, double Tensile) GetStrength(LimitStates limitState, CalcTerms calcTerm)
{
return LibMaterial.GetStrength(limitState, calcTerm);
}
public object Clone()
{
throw new NotImplementedException();
}
}
}

View File

@@ -20,4 +20,8 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Models\BeamShears\" />
</ItemGroup>
</Project>