Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs =================================================================== diff -u -r1012 -r1019 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1012) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1019) @@ -276,6 +276,16 @@ stabilityDesignResults.SafetyFactor = Math.Min(damMacroStabilityOutputItem.Zone1Results.SafetyFactor, zone2.SafetyFactor); } stabilityDesignResults.RedesignedSurfaceLine = damKernelInput.Location.SurfaceLine; + // In the actual sti file, the start of the surface line is always reset to 0. In order to keep all + // the results that are based on the RedesignedSurfaceLine in sync, reset the surface line to 0 too. + if (Math.Abs(stabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints[0].X) > 0) + { + var offset = stabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints[0].X; + foreach (var characteristicPoint in stabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints) + { + characteristicPoint.X = characteristicPoint.X - offset; + } + } designResult.StabilityDesignResults = stabilityDesignResults; designResult.CalculationResult = damMacroStabilityOutputItem.CalculationResult; designResult.CalculationSubDir = DamMacroStabilityUtils.GetCalculationSubDir(damKernelInput.DamFailureMechanismeCalculationSpecification.StabilityModelType);