diff --git a/Pages/Index.cshtml b/Pages/Index.cshtml
index a1b8139..9fff56a 100644
--- a/Pages/Index.cshtml
+++ b/Pages/Index.cshtml
@@ -1,6 +1,18 @@
@page
@model IndexModel
+
+
+
+
+
+ Document
+
+
+
+
+
+
Модель расчета поковок кольцо раскатное
\ No newline at end of file
+
+@if (Model.hasResult)
+{
+
+
+ Расчет размеров поковки
+
+
+
+ | - |
+ Размер |
+ Допуск на размер +- |
+
+
+
+
+ | H заготовки = (Н1+б)+-∆/2 |
+ @Model.H_Billet |
+ @Model.limit1 |
+
+
+ | H заготовки с пробой = (Н2+б)+-∆/2 |
+ @Model.H_BilletWithBlank |
+ @Model.limit2 |
+
+
+ | D дет = D+напуск на ТО |
+ @Model.D_Detail |
+ - |
+
+
+ | D заг = (D+б)+-∆/2+напуск на ТО |
+ @Model.D_Billet |
+ @Model.limit3 |
+
+
+ | D заг с пробой= (D+б)+-∆/2+напуск на ТО |
+ @Model.D_BilletWithBlank |
+ @Model.limit4 |
+
+
+ | d дет=d-напуск на ТО |
+ @Model.d_Detail |
+ - |
+
+
+ | d заг =(dдет-б)+-3б |
+ @Model.d_Billet |
+ @Model.limit5 |
+
+
+ | d заг с пробой =(dдет-б)+-3б |
+ @Model.d_BilletWithBlank |
+ @Model.limit6 |
+
+
+}
\ No newline at end of file
diff --git a/Pages/Index.cshtml.cs b/Pages/Index.cshtml.cs
index 50502de..cad5db6 100644
--- a/Pages/Index.cshtml.cs
+++ b/Pages/Index.cshtml.cs
@@ -11,63 +11,192 @@ public class IndexModel : PageModel
public double Q { get; private set; }
public double onTO { get; private set; }
- public double h1 { get; private set; }
- public double h2 { get; private set; }
+ public double H_Billet { get; private set; }
+ public int limit1 { get; private set; }
+ public double H_BilletWithBlank { get; private set; }
+ public int limit2 { get; private set; }
+ public double D_Detail { get; private set; }
+ public double D_Billet { get; private set; }
+ public int limit3 { get; private set; }
+ public double D_BilletWithBlank { get; private set; }
+ public int limit4 { get; private set; }
+ public double d_Detail { get; private set; }
+ public double d_Billet { get; private set; }
+ public int limit5 { get; private set; }
+ public double d_BilletWithBlank { get; private set; }
+ public int limit6 { get; private set; }
+
+ public double D_nom_1 { get; private set; }
+ public double r_nom_1 { get; private set; }
+ public double H_nom_1 { get; private set; }
+ public double V_nom_1 { get; private set; }
+ public double mDisk_nom_1 { get; private set; }
+
+ public double D_max_1 { get; private set; }
+ public double r_max_1 { get; private set; }
+ public double H_max_1 { get; private set; }
+ public double V_max_1 { get; private set; }
+ public double mDisk_max_1 { get; private set; }
+
+ public double D_O_nom_1 { get; private set; }
+ public double r_O_nom_1 { get; private set; }
+ public double H_O_nom_1 { get; private set; }
+ public double V_O_nom_1 { get; private set; }
+ public double mDisk_O_nom_1 { get; private set; }
+
+ public double D_O_max_1 { get; private set; }
+ public double r_O_max_1 { get; private set; }
+ public double H_O_max_1 { get; private set; }
+ public double V_O_max_1 { get; private set; }
+ public double mDisk_O_max_1 { get; private set; }
+
+ public double mDisk_nom_1_O { get; private set; }
+ public double mDisk_max_1_O { get; private set; }
+
+
+ public double D_nom_2 { get; private set; }
+ public double r_nom_2 { get; private set; }
+ public double H_nom_2 { get; private set; }
+ public double V_nom_2 { get; private set; }
+ public double mDisk_nom_2 { get; private set; }
+
+ public double D_max_2 { get; private set; }
+ public double r_max_2 { get; private set; }
+ public double H_max_2 { get; private set; }
+ public double V_max_2 { get; private set; }
+ public double mDisk_max_2 { get; private set; }
+
+ public double D_O_nom_2 { get; private set; }
+ public double r_O_nom_2 { get; private set; }
+ public double H_O_nom_2 { get; private set; }
+ public double V_O_nom_2 { get; private set; }
+ public double mDisk_O_nom_2 { get; private set; }
+
+ public double D_O_max_2 { get; private set; }
+ public double r_O_max_2 { get; private set; }
+ public double H_O_max_2 { get; private set; }
+ public double V_O_max_2 { get; private set; }
+ public double mDisk_O_max_2 { get; private set; }
+
+ public double mDisk_nom_2_O { get; private set; }
+ public double mDisk_max_2_O { get; private set; }
+
+ public bool hasResult { get; private set; } = false;
public void OnPost(double D, double dd, double H, double x, double y, double z, double Q, double onTO)
{
- h1 = H * x + (y * z) + onTO;
- h2 = H * x + (y * z) + Q + onTO;
+ double h1 = H * x + (y * z) + onTO;
+ double h2 = H * x + (y * z) + Q + onTO;
#region Расчет размеров поковки
// H заготовки = (Н1+б)+-∆/2
// Размер
- double H_Billet = h1 + SearchLimit(D, h1).Item1;
+ H_Billet = h1 + SearchLimit(D, h1).Item1;
// Допуск на размер +-
- int limit1 = SearchLimit(D, h1).Item2;
+ limit1 = SearchLimit(D, h1).Item2;
// H заготовки с пробой = (Н2+б)+-∆/2
- double H_BilletWithBlank = h2 + SearchLimit(D, h2).Item1;
+ H_BilletWithBlank = h2 + SearchLimit(D, h2).Item1;
// Допуск на размер +-
- int limit2 = SearchLimit(D, h2).Item2;
+ limit2 = SearchLimit(D, h2).Item2;
// D дет = D+напуск на ТО
- double D_Detail = D + onTO;
+ D_Detail = D + onTO;
// D заг = (D+б)+-∆/2+напуск на ТО
- double D_Billet = D_Detail + SearchLimit(D, h1).Item1 + onTO;
- int limit3 = SearchLimit(D, h1).Item2;
+ D_Billet = D_Detail + SearchLimit(D, h1).Item1 + onTO;
+ limit3 = SearchLimit(D, h1).Item2;
// D заг с пробой= (D+б)+-∆/2+напуск на ТО
- double D_BilletWithBlank = D_Detail + SearchLimit(D, h2).Item1 + onTO;
- int limit4 = SearchLimit(D, h2).Item2;
+ D_BilletWithBlank = D_Detail + SearchLimit(D, h2).Item1 + onTO;
+ limit4 = SearchLimit(D, h2).Item2;
// d дет=d-напуск на ТО
- double d_Detail = dd + onTO;
+ d_Detail = dd + onTO;
// d заг =(dдет-б)+-3б
- double d_Billet = d_Detail - SearchLimit(D, h1).Item1;
- int limit5 = SearchLimit(D, h1).Item2 * 3;
+ d_Billet = d_Detail - SearchLimit(D, h1).Item1;
+ limit5 = SearchLimit(D, h1).Item2 * 3;
//d заг с пробой =(dдет-б)+-3б
- double d_BilletWithBlank = d_Detail - SearchLimit(D, h2).Item1;
- int limit6 = SearchLimit(D, h2).Item2 * 3;
+ d_BilletWithBlank = d_Detail - SearchLimit(D, h2).Item1;
+ limit6 = SearchLimit(D, h2).Item2 * 3;
#endregion
#region Расчет массы поковки без пробы
// Диск номинал
- double D_calc =
+ D_nom_1 = D_Billet;
+ r_nom_1 = D_nom_1 / 2;
+ H_nom_1 = H_Billet;
+ V_nom_1 = 3.14 * (r_nom_1 * r_nom_1) * H_nom_1;
+ mDisk_nom_1 = Math.Round(V_nom_1 * 0.78 / 100000000, 3);
+ // Диск максимал
+ D_max_1 = D_Billet + limit3;
+ r_max_1 = D_max_1 / 2;
+ H_max_1 = H_Billet + limit1;
+ V_max_1 = 3.14 * (r_max_1 * r_max_1) * H_max_1;
+ mDisk_max_1 = Math.Round(V_max_1 * 0.78 / 100000000, 3);
+
+ // Отверстие номинал
+ D_O_nom_1 = d_Billet;
+ r_O_nom_1 = d_Billet / 2;
+ H_O_nom_1 = H_Billet;
+ V_O_nom_1 = 3.14 * (r_O_nom_1 * r_O_nom_1) * H_O_nom_1;
+ mDisk_O_nom_1 = Math.Round(V_O_nom_1 * 0.78 / 100000000, 3);
+
+ // Отверстие максимал
+ D_O_max_1 = d_Billet - limit5;
+ r_O_max_1 = D_O_max_1 / 2;
+ H_O_max_1 = H_Billet + limit1;
+ V_O_max_1 = 3.14 * (r_O_max_1 * r_O_max_1) * H_O_max_1;
+ mDisk_O_max_1 = Math.Round(V_O_max_1 * 0.78 / 100000000, 3);
+
+ // m диск с отв
+ mDisk_nom_1_O = mDisk_nom_1 - mDisk_O_nom_1;
+ mDisk_max_1_O = mDisk_max_1 - mDisk_O_max_1;
#endregion
#region Расчет массы поковки c пробой
+ // Диск номинал
+ D_nom_2 = D_BilletWithBlank;
+ r_nom_2 = D_nom_2 / 2;
+ H_nom_2 = H_BilletWithBlank;
+ V_nom_2 = 3.14 * (r_nom_2 * r_nom_2) * H_nom_2;
+ mDisk_nom_2 = Math.Round(V_nom_2 * 0.78 / 100000000, 3);
+
+ // Диск максимал
+ D_max_2 = D_BilletWithBlank + limit4;
+ r_max_2 = D_max_2 / 2;
+ H_max_2 = H_BilletWithBlank + limit2;
+ V_max_2 = 3.14 * (r_max_2 * r_max_2) * H_max_2;
+ mDisk_max_2 = Math.Round(V_max_2 * 0.78 / 100000000, 3);
+
+ // Отверстие номинал
+ D_O_nom_2 = d_BilletWithBlank;
+ r_O_nom_2 = D_O_nom_2 / 2;
+ H_O_nom_2 = H_BilletWithBlank;
+ V_O_nom_2 = 3.14 * (r_O_nom_2 * r_O_nom_2) * H_O_nom_2;
+ mDisk_O_nom_2 = Math.Round(V_O_nom_2 * 0.78 / 100000000, 3);
+
+ // Отверстие максимал
+ D_O_max_2 = d_BilletWithBlank - limit6;
+ r_O_max_2 = D_O_max_2 / 2;
+ H_O_max_2 = H_BilletWithBlank + limit2;
+ V_O_max_2 = 3.14 * (r_O_max_2 * r_O_max_2) * H_O_max_2;
+ mDisk_O_max_2 = Math.Round(V_O_max_2 * 0.78 / 100000000, 3);
+
+ // m диск с отв
+ mDisk_nom_2_O = mDisk_nom_2 - mDisk_O_nom_2;
+ mDisk_max_2_O = mDisk_max_2 - mDisk_O_max_2;
#endregion
+ hasResult = true;
}
private (int, int) SearchLimit(double D, double H)
diff --git a/SumCalculator.csproj b/TestApp.csproj
similarity index 100%
rename from SumCalculator.csproj
rename to TestApp.csproj
diff --git a/SumCalculator.sln b/TestApp.sln
similarity index 84%
rename from SumCalculator.sln
rename to TestApp.sln
index b705000..d41fa43 100644
--- a/SumCalculator.sln
+++ b/TestApp.sln
@@ -1,9 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.14.36203.30 d17.14
+VisualStudioVersion = 17.14.36203.30
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SumCalculator", "SumCalculator.csproj", "{D0BEB4F5-C30C-497E-94A7-88F1D4EDA4D3}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApp", "TestApp.csproj", "{D0BEB4F5-C30C-497E-94A7-88F1D4EDA4D3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution