diff --git a/StructureHelper/Windows/ViewModels/Forces/ActionsViewModel.cs b/StructureHelper/Windows/ViewModels/Forces/ActionsViewModel.cs index bc4e15f..86ee3d5 100644 --- a/StructureHelper/Windows/ViewModels/Forces/ActionsViewModel.cs +++ b/StructureHelper/Windows/ViewModels/Forces/ActionsViewModel.cs @@ -52,7 +52,15 @@ namespace StructureHelper.Windows.ViewModels.Forces } } - + public override void CopyMethod(object parameter) + { + NewItem = SelectedItem.Clone() as IForceAction; + NewItem.Name = $"{NewItem.Name} copy"; + GlobalRepository.Actions.Create(NewItem); + Collection.Add(NewItem); + Items.Add(NewItem); + SelectedItem = NewItem; + } public override void EditMethod(object parameter) { diff --git a/StructureHelper/Windows/ViewModels/Materials/MaterialsViewModel.cs b/StructureHelper/Windows/ViewModels/Materials/MaterialsViewModel.cs index 11614c6..e8eca2c 100644 --- a/StructureHelper/Windows/ViewModels/Materials/MaterialsViewModel.cs +++ b/StructureHelper/Windows/ViewModels/Materials/MaterialsViewModel.cs @@ -87,6 +87,7 @@ namespace StructureHelper.Windows.ViewModels.Materials Items.Add(NewItem); SelectedItem = NewItem; } + private void AddElastic() { var material = HeadMaterialFactory.GetHeadMaterial(HeadmaterialType.Elastic200); diff --git a/StructureHelperLogics/NdmCalculations/Analyses/RC/InputDataFactory.cs b/StructureHelperLogics/NdmCalculations/Analyses/RC/InputDataFactory.cs index ed5f010..fff657b 100644 --- a/StructureHelperLogics/NdmCalculations/Analyses/RC/InputDataFactory.cs +++ b/StructureHelperLogics/NdmCalculations/Analyses/RC/InputDataFactory.cs @@ -1,4 +1,5 @@ using LoaderCalculator.Data.Matrix; +using LoaderCalculator.Data.Ndms; using LoaderCalculator.Logics; using StructureHelperCommon.Infrastructures.Enums; using StructureHelperCommon.Infrastructures.Exceptions; @@ -30,7 +31,9 @@ namespace StructureHelperLogics.NdmCalculations.Analyses.RC throw new StructureHelperException(ErrorStrings.DataIsInCorrect + ": main material is incorrect or null"); } var triangulationOptions = new TriangulationOptions() { LimiteState = limitState, CalcTerm = calcTerm }; - var ndm = ndmPrimitive.GetNdms(triangulationOptions).Single(); + var ndms = ndmPrimitive.GetNdms(triangulationOptions); + var ndm = ndms.Where(x => x is RebarNdm) + .Single(); if (strainMatrix is not null) { inputData.ReinforcementStress = stressLogic.GetStress(strainMatrix, ndm);