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 + + + + + +

Модель расчета поковок кольцо раскатное

@@ -37,4 +49,60 @@

-
\ 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