From e15fa3fb9193f6635b7f4ddec526c061a8ee03ed Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期五, 21 二月 2025 17:10:07 +0800
Subject: [PATCH] 添加了矩形断面 对于r的判断条件

---
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/断面设计/ctrlSectionBundleInfo.cs |   69 ++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 20 deletions(-)

diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\346\226\255\351\235\242\350\256\276\350\256\241/ctrlSectionBundleInfo.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\346\226\255\351\235\242\350\256\276\350\256\241/ctrlSectionBundleInfo.cs"
index bc9b15d..d545870 100644
--- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\346\226\255\351\235\242\350\256\276\350\256\241/ctrlSectionBundleInfo.cs"
+++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\346\226\255\351\235\242\350\256\276\350\256\241/ctrlSectionBundleInfo.cs"
@@ -168,6 +168,10 @@
         ViewModel.SectionBundleInfo _sectionBundleInfo = null;
         ViewModel.HdrBaseInfo _hdrBaseInfo = null;
         ViewModel.GeomBaseInfo _geomBaseInfo = null;
+        public void SetBindingData(ViewModel.SectionBundleInfo sectionBundle_info)
+        {
+            _sectionBundleInfo= sectionBundle_info;
+        }
 
 
         public void ShowPage(
@@ -179,7 +183,15 @@
             {
                 return;
             }
-
+            if(_hdrBaseInfo == null && _geomBaseInfo == null)
+            {
+                _hdrBaseInfo = base_info;
+                _geomBaseInfo = geom_info;
+            }
+            if (isRefreshModel == false)
+            {
+                return;
+            }
             if (_sectionBundleInfo == null)
             {
                 this._hdrBaseInfo = base_info;
@@ -194,7 +206,7 @@
             else
             {
                 if (Math.Abs(_sectionBundleInfo.BaseWidth - _geomBaseInfo.B3) < 1 &&
-                    Math.Abs(_sectionBundleInfo.BaseCircleRadius - _geomBaseInfo.D3 / 2) < 1)
+                    Math.Abs(_sectionBundleInfo.BaseCircleRadius - _geomBaseInfo.D3 / 2) < 1 )
                 {
 
                     _sectionBundleInfo.BaseWidth = _geomBaseInfo.B3;
@@ -233,10 +245,7 @@
 
             RefreshAllSectPara(_sectionBundleInfo);
 
-            if (isRefreshModel == false)
-            {
-                return;
-            }
+            
 
             RefreshShape(_sectionBundleInfo);
         }
@@ -254,6 +263,8 @@
             this.textBoxK3.Text = _sectionBundleInfo.K3.ToString();
             this.textBoxV3.Text = _sectionBundleInfo.V3.ToString();
 
+
+            RefrehSectBundlePara();
             if (_sectionBundleInfo.ShapeType == eSectionShapeType.瀵圭О)
             {
                 RBtn鏂潰瀵圭О姊舰.Checked = true;
@@ -272,8 +283,6 @@
                 RBtn涓嶅绉版褰�.Checked = false;
                 RBtn鐭╁舰.Checked = true;
             }
-
-            RefrehSectBundlePara();
         }
         //鏀归潰绉�
         public void RefreshSingleSectArea(int sectIndex, double area)
@@ -319,13 +328,15 @@
 
             _sectionBundleInfo.V3 = Convert.ToDouble(this.textBoxV3.Text);
             for (var argument = 1; argument <= 8; argument++)
-            {
+            {//skyTextBox鏂潰H18
                 var controlname_y1 = $"skyTextBox鏂潰y1{argument}";
                 var controlname_r1 = $"skyTextBox鏂潰r1{argument}";
                 var controlname鏂潰闈㈢Н = $"skyTextBox鏂潰闈㈢Н{argument}";
+                var controlnameh = $"skyTextBox鏂潰H1{argument}";
                 SkyTextBox controlY1 = this.Controls.Find(controlname_y1, true).FirstOrDefault() as SkyTextBox;
                 SkyTextBox controlR1 = this.Controls.Find(controlname_r1, true).FirstOrDefault() as SkyTextBox;
                 SkyTextBox control鏂潰闈㈢Н = this.Controls.Find(controlname鏂潰闈㈢Н, true).FirstOrDefault() as SkyTextBox;
+                SkyTextBox controlH = this.Controls.Find(controlnameh, true).FirstOrDefault() as SkyTextBox;
                 if (controlY1 != null)
                 {
                     _sectionBundleInfo.GaMa_Left[argument] = Convert.ToDouble(controlY1.Text);
@@ -340,6 +351,8 @@
 
                 if (control鏂潰闈㈢Н != null)
                     _sectionBundleInfo.Area[argument] = Convert.ToDouble(control鏂潰闈㈢Н.Text);
+                if (controlH != null)
+                    _sectionBundleInfo.H[argument] = Convert.ToDouble(controlH.Text);
             }
 
 
@@ -486,22 +499,38 @@
             SkyTextBox controlr1 = this.Controls.Find($"skyTextBox鏂潰r1{index}", true).FirstOrDefault() as SkyTextBox;
             SkyTextBox controlGaMa1 = this.Controls.Find($"skyTextBox鏂潰y1{index}", true).FirstOrDefault() as SkyTextBox;
             SkyTextBox controlh1 = this.Controls.Find($"skyTextBox鏂潰H1{index}", true).FirstOrDefault() as SkyTextBox;
-            //鐩墠杩欎釜鍙娴嬪绉扮殑 b3-2(r1-(tan(Gama1)*(h-r1))) //鑻ヤ笉瀵圭О  b3-锛坮1-(tan(Gama1)*(h-r1))锛�-锛坮2-(tan(Gama2)*(h-r2))锛�
-            var x = Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlh1.Text)
-                         - (Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Math.Tan(Convert.ToDouble(controlGaMa1.Text) / 2 * Math.PI / 180) * Convert.ToDouble(controlr1.Text))
-                         - (Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlr1.Text)) - Convert.ToDouble(controlr1.Text);
-            var c = _sectionBundleInfo.R_out / 1000;
-            var TopWidth = _sectionBundleInfo.BaseWidth + (2 * x);
-            var Slash = (Convert.ToDouble(controlh1.Text) - Convert.ToDouble(controlr1.Text) - (Math.Sin(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlr1.Text))) / Math.Cos(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180);
-            if ((!RBtn鐭╁舰.Checked && (TopWidth < c || Slash < c)) || Convert.ToDouble(controlr1.Text) == 0)
+            if (RBtn鐭╁舰.Checked)
             {
-                controlr1.BackColor = Color.OrangeRed;
-                MessageBox.Show("r涓嶅悎鐞嗭紒璇烽噸鏂拌緭鍏�");
+                if (Convert.ToDouble(controlh1.Text) - Convert.ToDouble(controlr1.Text) < 1|| _sectionBundleInfo.BaseWidth- (Convert.ToDouble(controlr1.Text)*2) < 1)
+                {
+                    controlr1.BackColor = Color.OrangeRed;
+                    MessageBox.Show("r涓嶅悎鐞嗭紒璇烽噸鏂拌緭鍏�");
+                }
+                else
+                {
+                    controlr1.BackColor = Color.White;
+                }
             }
             else
             {
-                controlr1.BackColor = Color.White;
+                //鐩墠杩欎釜鍙娴嬪绉扮殑 //鑻ヤ笉瀵圭О鏇存崲鍗婂緞瑙掑害绛夊弬鏁伴噸鏂拌绠楀彟涓�杈箈
+                var x = Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlh1.Text)
+                             - (Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Math.Tan(Convert.ToDouble(controlGaMa1.Text) / 2 * Math.PI / 180) * Convert.ToDouble(controlr1.Text))
+                             - (Math.Tan(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlr1.Text)) - Convert.ToDouble(controlr1.Text);
+                var c = _sectionBundleInfo.R_out / 1000;
+                var TopWidth = _sectionBundleInfo.BaseWidth + (2 * x);
+                var Slash = (Convert.ToDouble(controlh1.Text) - Convert.ToDouble(controlr1.Text) - (Math.Sin(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180) * Convert.ToDouble(controlr1.Text))) / Math.Cos(Convert.ToDouble(controlGaMa1.Text) * Math.PI / 180);
+                if ((!RBtn鐭╁舰.Checked && (TopWidth < c || Slash < c)) || Convert.ToDouble(controlr1.Text) == 0)
+                {
+                    controlr1.BackColor = Color.OrangeRed;
+                    MessageBox.Show("r涓嶅悎鐞嗭紒璇烽噸鏂拌緭鍏�");
+                }
+                else
+                {
+                    controlr1.BackColor = Color.White;
+                }
             }
+            
 
             return isreasonable;
         }

--
Gitblit v1.9.3