yangyin
2025-02-21 e15fa3fb9193f6635b7f4ddec526c061a8ee03ed
添加了矩形断面 对于r的判断条件
已修改3个文件
74 ■■■■ 文件已修改
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_ExportImport.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/断面设计/ctrlSectionBundleInfo.cs 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
测试参数.xls 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_ExportImport.cs
@@ -116,7 +116,10 @@
                    return;
                CreateSectionStepCtrl();
                DockStepParaCtrl(_ctrlSectionBundleInfo);
                if(_ctrlSectionBundleInfo != null)
                {
                    _ctrlSectionBundleInfo.SetBindingData(_sectionBundleInfo);
                }
                _ctrlSectionBundleInfo.ShowPage(_hdrBaseInfo, _geomBaseInfo,
                        DPumpHydr.ViewModel.eWizardStepDiretion.前进, false);
                _ctrlSectionBundleInfo.RefreshAllSectPara(_sectionBundleInfo);
WinFrmUI/DPumpHydr.WinFrmUI.Volute/¶ÏÃæÉè¼Æ/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-(r1-(tan(Gama1)*(h-r1)))-(r2-(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;
                //目前这个只检测对称的 //若不对称更换半径角度等参数重新计算另一边x
                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;
        }
²âÊÔ²ÎÊý.xls
Binary files differ