From baa80d650adebcce70f1113cc1020c6039c159a0 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期五, 28 二月 2025 16:06:51 +0800 Subject: [PATCH] 添加直线圆弧连接界面参数等,更新3d、2d暂未打通 --- WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ViewModel/OutflowParas.cs | 103 ++++++++ WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_InitialRibbon.cs | 8 测试参数.xls | 0 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/SetOutflowParaArcCtrl.cs | 255 ++++++++++++++++++++ WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.Designer.cs | 23 + WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.cs | 195 +++++++++++++-- WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_出口_水体.cs | 3 WinFrmUI/DPumpHydr.WinFrmUI.Volute/GlobalResource.cs | 1 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.resx | 4 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/SetOutflowParasCtrl1.Designer.cs | 2 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/SetOutflowParaArcCtrl.Designer.cs | 91 ++++--- 11 files changed, 592 insertions(+), 93 deletions(-) diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/GlobalResource.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/GlobalResource.cs index b75ab4c..2e8f3ea 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/GlobalResource.cs +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/GlobalResource.cs @@ -51,6 +51,7 @@ if (tipLeadingIcon != null) { image = Properties.Resources.Need16;// GlobalResource.BuildImage(tipLeadingIcon); + //image = Properties.Resources.minNeed16;// GlobalResource.BuildImage(tipLeadingIcon); } return image; } diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_InitialRibbon.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_InitialRibbon.cs index e525d20..3650187 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_InitialRibbon.cs +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_InitialRibbon.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.Drawing; using System.Windows.Forms; namespace DPumpHydr.WinFrmUI.Volute @@ -679,7 +680,7 @@ ribbonPanel鎿嶄綔姝ラ.ButtonMoreVisible = isButtonMoreVisible; ribbonPanel鎿嶄綔姝ラ.FlowsTo = RibbonPanelFlowDirection.Left; - + Rbtn瀹屾垚 = new System.Windows.Forms.RibbonButton(); Rbtn瀹屾垚.Image = GlobalResource.BuildImage("circle-check.png", 40, 40); Rbtn瀹屾垚.Name = "Rbtn瀹屾垚"; @@ -953,7 +954,6 @@ ribbonTab瑙嗗浘.Panels.Add(ribbonPanel鍥惧眰); ribbonTab瑙嗗浘.Panels.Add(ribbonPanel缃戞牸); - ribbonTab缂栬緫.Panels.Add(ribbonPanel鎿嶄綔姝ラ); ribbonTab缂栬緫.Panels.Add(ribbonPanel闈㈡澘鏄剧ず); ribbonTab缂栬緫.Panels.Add(ribbonPanel鏁版嵁瀵煎嚭); @@ -1030,10 +1030,10 @@ this.ribbonForm.Tabs.Add(ribbonTab瑙嗗浘); #endregion } + - - + } } diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_\345\207\272\345\217\243_\346\260\264\344\275\223.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_\345\207\272\345\217\243_\346\260\264\344\275\223.cs" index 3f8b7ae..d9ab4db 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_\345\207\272\345\217\243_\346\260\264\344\275\223.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_\345\207\272\345\217\243_\346\260\264\344\275\223.cs" @@ -158,6 +158,9 @@ if (m_theWaterBodyOuterParam == null) m_theWaterBodyOuterParam = HydrDisplayEngineBridge.CreateWaterBodyOuter(WaterBodyOuterType.EWaterBodyOuterSp); + // HydrEngineCSharp.WaterBodyOuterArcParam pHydrGeomCurve = m_theWaterBodyOuterParam as HydrEngineCSharp.WaterBodyOuterArcParam; + + HydrEngineCSharp.WaterBodyOuterSpParam pHydrGeomCurve = m_theWaterBodyOuterParam as HydrEngineCSharp.WaterBodyOuterSpParam; pHydrGeomCurve.SetOuterOffset(dOuterOffset); pHydrGeomCurve.SetOuterHigh(dOuterHigh); diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OutflowParas.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OutflowParas.cs" index 7110756..88dae6e 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OutflowParas.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OutflowParas.cs" @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -25,6 +26,8 @@ this.Tangent_Btm_Left = rhs.Tangent_Btm_Left; this.H1 = rhs.H1; this.H2 = rhs.H2; + this.R1 = rhs.R1; + this.R2 = rhs.R2; this.Septalradius = rhs.Septalradius; } public ViewModel.eOutflowShapeStyle ShapeStyle { get; set; } = ViewModel.eOutflowShapeStyle.鏈煡; @@ -37,16 +40,110 @@ public double Tangent_Btm_Right { get; set; } = 1.0; //鍒囩嚎缂╂斁閲� = m_dBtmValue; public double Tangent_Top_Left { get; set; } = 1.0; //鍒囩嚎缂╂斁閲� = m_dTopValue; public double Tangent_Btm_Left { get; set; } = 1.0; //鍒囩嚎缂╂斁閲� = m_dBtmValue; + public double R1 { get; set; }//鍦嗗姬杩炴帴鏃剁殑R1 + public double R2 { get; set; }//鍦嗗姬杩炴帴鏃剁殑R2 public double H1 { get; set; } //鍥剧墖涓殑H1 = 10; public double H2 { get; set; } //鍥剧墖涓殑H2 = 10; public double Septalradius { get; set; } //闅旇垖鍗婂緞r - } + public double CalR2( + ViewModel.HdrBaseInfo hdrBaseInfo, + ViewModel.GeomBaseInfo geomBaseInfo, + ViewModel.SectionBundleInfo sectionBundleInfo) + { + double r2 = 0; + double scale2 = ((this.Heigh / 100) >= (sectionBundleInfo.H[6] / 75)) ? (this.Heigh / 100) : (sectionBundleInfo.H[6] / 75); + PointD pt02 = new PointD(300, 100); + if (scale2 <= 0.05) scale2 = 0.05; + if ((scale2 > 0.05) && (scale2 <= 0.1)) scale2 = 0.1; + if ((scale2 > 0.1) && (scale2 <= 0.2)) scale2 = 0.2; + if ((scale2 > 0.2) && (scale2 <= 0.25)) scale2 = 0.25; + if ((scale2 > 0.25) && (scale2 <= 0.4)) scale2 = 0.4; + if ((scale2 > 0.4) && (scale2 <= 0.5)) scale2 = 0.5; + if ((scale2 > 0.5) && (scale2 <= 1.0)) scale2 = 1; + if ((scale2 > 1.0) && (scale2 <= 1.5)) scale2 = 1.5; + if ((scale2 > 1.5) && (scale2 <= 2.0)) scale2 = 2.0; + if ((scale2 > 2.0) && (scale2 <= 2.5)) scale2 = 2.5; + if ((scale2 > 2.5) && (scale2 <= 3)) scale2 = 3; + if ((scale2 > 3) && (scale2 <= 4)) scale2 = 4; + if ((scale2 > 4) && (scale2 <= 5)) scale2 = 5; + if ((scale2 > 5) && (scale2 <= 6)) scale2 = 6; + if ((scale2 > 6) && (scale2 <= 7)) scale2 = 7; + if ((scale2 > 7) && (scale2 <= 8)) scale2 = 8; + if ((scale2 > 8) && (scale2 <= 9)) scale2 = 9; + if ((scale2 > 9) && (scale2 <= 10)) scale2 = 10; + if ((scale2 > 10) && (scale2 <= 15)) scale2 = 15; + if ((scale2 > 15) && (scale2 <= 20)) scale2 = 20; + if ((scale2 > 20) && (scale2 <= 25)) scale2 = 25; + if ((scale2 > 25) && (scale2 <= 30)) scale2 = 30; + if ((scale2 > 35) && (scale2 <= 40)) scale2 = 40; + PointD pth12 = GeometryHelper.AdsPolar(pt02, GeometryHelper.DegreesToRadians(90), this.Heigh / scale2); + pth12 = GeometryHelper.AdsPolar(pth12, GeometryHelper.DegreesToRadians(0), this.Offset / scale2); + PointD pth6 = GeometryHelper.AdsPolar(pt02, GeometryHelper.DegreesToRadians(-90), (geomBaseInfo.D3 / 2 + sectionBundleInfo.H[6]) / scale2); + PointD pth7 = GeometryHelper.AdsPolar(pt02, GeometryHelper.DegreesToRadians(-45), (geomBaseInfo.D3 / 2 + sectionBundleInfo.H[7]) / scale2); + PointD pth8 = GeometryHelper.AdsPolar(pt02, GeometryHelper.DegreesToRadians(0), (geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) / scale2); + PointD pt1 = GeometryHelper.AdsPolar(pth6, GeometryHelper.DegreesToRadians(0), 0); + PointD pt2 = GeometryHelper.AdsPolar(pth7, GeometryHelper.DegreesToRadians(0), 0); + PointD pt3 = GeometryHelper.AdsPolar(pth8, GeometryHelper.DegreesToRadians(0), 0); + double a1 = 2 * (pt1.X - pt2.X); + double b1 = 2 * (pt1.Y - pt2.Y); + double c1 = pt1.X * pt1.X - pt2.X * pt2.X + pt1.Y * pt1.Y - pt2.Y * pt2.Y; + double A1 = 2 * (pt3.X - pt2.X); + double B1 = 2 * (pt3.Y - pt2.Y); + double C1 = pt3.X * pt3.X - pt2.X * pt2.X + pt3.Y * pt3.Y - pt2.Y * pt2.Y; + + double ptc4_Y = (A1 * c1 - a1 * C1) / (A1 * b1 - a1 * B1); + double ptc4_X = (c1 - b1 * ptc4_Y) / a1; + + double rr4 = Math.Sqrt((pt2.X - ptc4_X) * (pt2.X - ptc4_X) + (pt2.Y - ptc4_Y) * (pt2.Y - ptc4_Y)); + + // 璁$畻 R2 + pt1 = GeometryHelper.AdsPolar(pth12, GeometryHelper.DegreesToRadians(0), this.Dia / 2 / scale2); + a1 = 2 * (rr4 + ptc4_X - pt1.X); + b1 = (ptc4_Y - pt1.Y) * (ptc4_Y - pt1.Y) - rr4 * rr4 + (ptc4_X - pt1.X) * (ptc4_X - pt1.X); + r2 = (b1 / a1) * scale2; + r2 = Math.Round(r2, 2); + return r2; + } + } + public static class GeometryHelper + { + // 灏嗚搴︿粠搴﹁浆鎹负寮у害 + public static double DegreesToRadians(double degrees) + { + return degrees * Math.PI / 180.0; + } + + // 璁$畻鏋佸潗鏍囩偣 + public static PointD AdsPolar(PointD startPoint, double angleInRadians, double distance) + { + double newX = startPoint.X + distance * Math.Cos(angleInRadians); + double newY = startPoint.Y + distance * Math.Sin(angleInRadians); + return new PointD(newX, newY); + } + } + public struct PointD + { + public double X { get; set; } + public double Y { get; set; } + + public PointD(double x, double y) + { + X = x; + Y = y; + } + + public override string ToString() + { + return $"({X}, {Y})"; + } + } public class OutflowParasCalcReponse { - public bool IsSuccess { get; set; } + public bool IsSuccess { get; set; } public double SectArea9 { get; set; } //9 鎴潰闈㈢Н public double SectArea10 { get; set; } //10 鎴潰闈㈢Н } - } + + diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.Designer.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.Designer.cs" index e798664..0d3e61a 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.Designer.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.Designer.cs" @@ -33,6 +33,7 @@ comboBoxType = new System.Windows.Forms.ComboBox(); metroToolTip绗叚姝ユ彁绀� = new RLT.Controls.MetroToolTip(); ribbonGroupBox1 = new RLT.Controls.RibbonGroupBox(); + checkBox鍦嗗姬杩炴帴 = new System.Windows.Forms.CheckBox(); btnNextStep = new RLT.Controls.ForeverButtonSticky(); dungeonTabPage1 = new RLT.Controls.DungeonTabPage(); tabPage1 = new System.Windows.Forms.TabPage(); @@ -63,7 +64,7 @@ metroTile鍑哄彛鍥剧墖.PressBorderColor = System.Drawing.Color.FromArgb(65, 177, 225); metroTile鍑哄彛鍥剧墖.PressColor = System.Drawing.Color.FromArgb(65, 177, 225); metroTile鍑哄彛鍥剧墖.PressTextColor = System.Drawing.Color.White; - metroTile鍑哄彛鍥剧墖.Size = new System.Drawing.Size(294, 237); + metroTile鍑哄彛鍥剧墖.Size = new System.Drawing.Size(282, 209); metroTile鍑哄彛鍥剧墖.Style = RLT.Enum.Metro.Style.Light; metroTile鍑哄彛鍥剧墖.StyleManager = null; metroTile鍑哄彛鍥剧墖.TabIndex = 25; @@ -82,9 +83,9 @@ thunderGroupBox1.Controls.Add(metroTile鍑哄彛鍥剧墖); thunderGroupBox1.Font = new System.Drawing.Font("Tw Cen MT Condensed Extra Bold", 10F, System.Drawing.FontStyle.Bold); thunderGroupBox1.ForeColor = System.Drawing.Color.Black; - thunderGroupBox1.Location = new System.Drawing.Point(15, 41); + thunderGroupBox1.Location = new System.Drawing.Point(27, 63); thunderGroupBox1.Name = "thunderGroupBox1"; - thunderGroupBox1.Size = new System.Drawing.Size(300, 262); + thunderGroupBox1.Size = new System.Drawing.Size(288, 231); thunderGroupBox1.TabIndex = 27; thunderGroupBox1.Text = " "; // @@ -92,7 +93,7 @@ // comboBoxType.FormattingEnabled = true; comboBoxType.Items.AddRange(new object[] { "涓績鍑哄彛", "渚ч潰鍑哄彛锛堟洸绾块摼鎺ワ級", "渚ч潰鍑哄彛锛堢洿绾块摼鎺ワ級" }); - comboBoxType.Location = new System.Drawing.Point(37, 0); + comboBoxType.Location = new System.Drawing.Point(29, 0); comboBoxType.Name = "comboBoxType"; comboBoxType.Size = new System.Drawing.Size(236, 23); comboBoxType.TabIndex = 26; @@ -119,6 +120,7 @@ ribbonGroupBox1.BorderColorB = System.Drawing.Color.FromArgb(174, 178, 172); ribbonGroupBox1.BorderColorC = System.Drawing.Color.FromArgb(194, 192, 200); ribbonGroupBox1.CompositingQualityType = System.Drawing.Drawing2D.CompositingQuality.HighQuality; + ribbonGroupBox1.Controls.Add(checkBox鍦嗗姬杩炴帴); ribbonGroupBox1.Controls.Add(btnNextStep); ribbonGroupBox1.Controls.Add(dungeonTabPage1); ribbonGroupBox1.Controls.Add(mBtn鏇存柊妯″瀷); @@ -135,6 +137,17 @@ ribbonGroupBox1.TabIndex = 31; ribbonGroupBox1.Text = "鎵╂暎绠″弬鏁�"; ribbonGroupBox1.TitleHeight = 30; + // + // checkBox鍦嗗姬杩炴帴 + // + checkBox鍦嗗姬杩炴帴.AutoSize = true; + checkBox鍦嗗姬杩炴帴.Location = new System.Drawing.Point(220, 37); + checkBox鍦嗗姬杩炴帴.Name = "checkBox鍦嗗姬杩炴帴"; + checkBox鍦嗗姬杩炴帴.Size = new System.Drawing.Size(87, 21); + checkBox鍦嗗姬杩炴帴.TabIndex = 75; + checkBox鍦嗗姬杩炴帴.Text = "鍦嗗姬杩炴帴"; + checkBox鍦嗗姬杩炴帴.UseVisualStyleBackColor = true; + checkBox鍦嗗姬杩炴帴.CheckedChanged += checkBox鍦嗗姬杩炴帴_CheckedChanged; // // btnNextStep // @@ -228,6 +241,7 @@ Size = new System.Drawing.Size(335, 815); thunderGroupBox1.ResumeLayout(false); ribbonGroupBox1.ResumeLayout(false); + ribbonGroupBox1.PerformLayout(); dungeonTabPage1.ResumeLayout(false); tabPage2.ResumeLayout(false); ResumeLayout(false); @@ -246,5 +260,6 @@ private ctrlSection910Posi ctrlSection910Posi1; private System.Windows.Forms.ComboBox comboBoxType; private RLT.Controls.ForeverButtonSticky btnNextStep; + private System.Windows.Forms.CheckBox checkBox鍦嗗姬杩炴帴; } } diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" index 20d01f5..19e5177 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" @@ -18,7 +18,7 @@ InitializeComponent(); _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.鏈煡; - + _parasControlCenter = new SetOutflowParasCtrl1() { Name = "SetOutflowParasCtrlCenter" }; _parasControlCenter.OnRefreshShape += (para) => @@ -50,6 +50,25 @@ }; _parasControlCurve.Dock = DockStyle.Top; + _parasControlArcCenter = new SetOutflowParaArcCtrl() { Name = "SetOutflowParaArcCtrlCenter" }; + _parasControlArcCenter.OnRefreshShape += (para) => + { + if (OnRefreshShape2D != null) + return OnRefreshShape2D(para); + else + return false; + }; + _parasControlArcCenter.Dock = DockStyle.Top; + + _parasControlArcSide = new SetOutflowParaArcCtrl() { Name = "SetOutflowParaArcCtrlSide" }; + _parasControlArcCenter.OnRefreshShape += (para) => + { + if (OnRefreshShape2D != null) + return OnRefreshShape2D(para); + else + return false; + }; + _parasControlArcSide.Dock = DockStyle.Top; this.ctrlSection910Posi1.OnMoveSectPosi += (sect_index, posi) => @@ -70,11 +89,16 @@ //鎺т欢 + //鏇茬嚎閾炬帴鎺т欢 SetOutflowParasCtrl1 _parasControlCenter = null; SetOutflowParasCtrl2 _parasControlLine = null; SetOutflowParasCtrl1 _parasControlCurve = null; + //鍦嗗姬杩炴帴鎺т欢 + SetOutflowParaArcCtrl _parasControlArcCenter = null; + SetOutflowParaArcCtrl _parasControlArcSide = null; DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.鏈煡; + DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; public DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle CurrentOutflowShapeStyle { get @@ -88,6 +112,24 @@ return; tabPage1.Controls.Clear(); + + if (_link_type == eOutflowLinkStyle.鐩寸嚎鍦嗗姬 && _sharp_type != eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + { + if (_sharp_type == eOutflowShapeStyle.涓績鍑哄彛) + { + metroTile鍑哄彛鍥剧墖.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238); + _parasControlArcCenter.SetA_state(false); + tabPage1.Controls.Add(_parasControlArcCenter); + return; + } + if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + { + metroTile鍑哄彛鍥剧墖.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238); + _parasControlArcSide.SetA_state(true); + tabPage1.Controls.Add(_parasControlArcSide); + return; + } + } switch (_sharp_type) { case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛: @@ -108,16 +150,16 @@ throw new ArgumentException("Invalid control type"); } } - + ViewModel.HdrBaseInfo _hdrBaseInfo = null; ViewModel.GeomBaseInfo _geomBaseInfo = null; ViewModel.SectionBundleInfo _sectionBundleInfo = null; - public int InitialParas( + public int InitialParas( ViewModel.HdrBaseInfo hdrBaseInfo, ViewModel.GeomBaseInfo geomBaseInfo, ViewModel.SectionBundleInfo sectionBundleInfo) { - if (IsSameBaseParas( hdrBaseInfo, geomBaseInfo, sectionBundleInfo) ) + if (IsSameBaseParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo)) {//鍒ゆ柇鏄惁淇敼浜� return 0;//0琛ㄧず娌℃湁鍙樺寲 } @@ -127,20 +169,20 @@ //鍑哄彛鐩村緞鏍囧噯鍖� double outer_dia = 4.5 * Math.Pow(hdrBaseInfo.Q / 3600 / hdrBaseInfo.n, 1 / 3.0) * 1000; - + //渚ч潰鏇茬嚎 var outflowParas3 = new OutflowParas(); outflowParas3.Offset = ((int)((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; outflowParas3.H1 = 5; outflowParas3.H2 = 5; outflowParas3.Dia = GetStdDia(outer_dia); - double height3 =5 * (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.5 + outflowParas3.Dia / 2) / 5 + 1); + double height3 = 5 * (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.5 + outflowParas3.Dia / 2) / 5 + 1); outflowParas3.Heigh = height3; outflowParas3.Septalradius = 2; _parasControlCurve.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); _parasControlCurve.IsInvokeRefreshShapeAble = false; _parasControlCurve.SetBindingData(outflowParas3); _parasControlCurve.IsInvokeRefreshShapeAble = true; - + //涓績鍑哄彛 var outflowParas1 = new OutflowParas(); outflowParas1.Offset = 0; outflowParas1.H1 = 5; @@ -153,9 +195,8 @@ _parasControlCenter.IsInvokeRefreshShapeAble = false; _parasControlCenter.SetBindingData(outflowParas1); _parasControlCenter.IsInvokeRefreshShapeAble = true; - - + //渚ч潰鐩寸嚎 var outflowParas2 = new OutflowParas(); outflowParas2.Offset = (int)((geomBaseInfo.D3 + sectionBundleInfo.H[8]) / 2 + 0.5); outflowParas2.H1 = 5; @@ -169,7 +210,39 @@ _parasControlLine.SetBindingData(outflowParas2); _parasControlLine.IsInvokeRefreshShapeAble = true; - if(_sharp_type == eOutflowShapeStyle.鏈煡) + //鍦嗗姬涓績 + var outflowParas4 = new OutflowParas(); + outflowParas4.Offset = 0; + outflowParas4.H1 = 5; + outflowParas4.H2 = 5; + outflowParas4.Dia = GetStdDia(outer_dia); + double height4 = 5 * (int)((((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.4141 + outflowParas4.Dia / 2) / 5) + 1); + outflowParas4.Heigh = height4; + outflowParas4.Septalradius = 3; + outflowParas4.R1 = (int)((outflowParas4.Dia * 11 / 10 / 10) + 1) * 10; + outflowParas4.R2 = (int)(outflowParas4.Dia * 3 / 4 / 10) * 10; + _parasControlArcCenter.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlArcCenter.IsInvokeRefreshShapeAble = false; + _parasControlArcCenter.SetBindingData(outflowParas4); + _parasControlArcCenter.IsInvokeRefreshShapeAble = true; + + //鍦嗗姬渚ч潰 + var outflowParas5 = new OutflowParas(); + outflowParas5.Offset = ((int)((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; + outflowParas5.H1 = 5; + outflowParas5.H2 = 5; + outflowParas5.Dia = GetStdDia(outer_dia); + double height5 = 5 * (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.5 + outflowParas3.Dia / 2) / 5 + 1); + outflowParas5.Heigh = height5; + outflowParas5.Septalradius = 3; + outflowParas5.R1 = (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 2.0 / 10) + 1) * 10; ; + outflowParas5.R2 = outflowParas5.CalR2(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlArcSide.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlArcSide.IsInvokeRefreshShapeAble = false; + _parasControlArcSide.SetBindingData(outflowParas5); + _parasControlArcSide.IsInvokeRefreshShapeAble = true; + + if (_sharp_type == eOutflowShapeStyle.鏈煡) { _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛; comboBoxType.SelectedIndex = 0; @@ -190,7 +263,7 @@ ViewModel.SectionBundleInfo sectionBundleInfo) { if (this._hdrBaseInfo == null) - return false ; + return false; if (this._geomBaseInfo == null) return false; if (this._sectionBundleInfo == null) @@ -221,7 +294,7 @@ // 1100,1200,1300,1400,1500,1600,1800,2000,2200,2400,2600,2800,3000, // 3200,3400,3600,3800,4000,5000,100000}; var stdDia = mm; - if (mm > 0 && mm < 7) stdDia = 6; + if (mm > 0 && mm < 7) stdDia = 6; if (mm >= 7 && mm < 9) stdDia = 8; if (mm >= 9 && mm < 11) stdDia = 10; if (mm >= 11 && mm < 17.5) stdDia = 15; @@ -286,22 +359,41 @@ { error = ""; ViewModel.OutflowParas _outflowParas = null; - switch (_sharp_type) + if (_link_type == eOutflowLinkStyle.鐩寸嚎鍦嗗姬 && _sharp_type != eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) { - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛: - if (_parasControlCenter == null) + if (_sharp_type == eOutflowShapeStyle.涓績鍑哄彛) + { + if (_parasControlArcCenter == null) return null; - _outflowParas = _parasControlCenter.GetBindingData(out error); - break; - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴: - _outflowParas = _parasControlCurve.GetBindingData(out error); - break; - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴: - _outflowParas = _parasControlLine.GetBindingData(out error); - break; - default: - return null; + _outflowParas = _parasControlArcCenter.GetBindingData(out error); + } + if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + { + if (_parasControlArcSide == null) + return null; + _outflowParas = _parasControlArcSide.GetBindingData(out error); + } } + else + { + switch (_sharp_type) + { + case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛: + if (_parasControlCenter == null) + return null; + _outflowParas = _parasControlCenter.GetBindingData(out error); + break; + case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴: + _outflowParas = _parasControlCurve.GetBindingData(out error); + break; + case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴: + _outflowParas = _parasControlLine.GetBindingData(out error); + break; + default: + return null; + } + } + if (_outflowParas == null) { return null; @@ -316,7 +408,7 @@ { if (paras == null) return; - if(_sectionBundleInfo == null) + if (_sectionBundleInfo == null) { throw new Exception("鏈垵濮嬪寲ctrlSetOutflowParas鎺т欢"); } @@ -324,18 +416,22 @@ var paras1 = new ViewModel.OutflowParas(paras); var paras2 = new ViewModel.OutflowParas(paras); var paras3 = new ViewModel.OutflowParas(paras); + var paras4 = new ViewModel.OutflowParas(paras); + var paras5 = new ViewModel.OutflowParas(paras); _parasControlCenter.SetBindingData(paras1); if (paras2.ShapeStyle == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛) { paras2.Offset = (int)((_geomBaseInfo.D3 + _sectionBundleInfo.H[8]) / 2 + 0.5); } - else if(paras3.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + else if (paras3.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) { paras3.Offset = (int)(((_geomBaseInfo.D3 / 2 + _sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; } _parasControlLine.SetBindingData(paras2); _parasControlCurve.SetBindingData(paras3); + _parasControlArcCenter.SetBindingData(paras4); + _parasControlArcSide.SetBindingData(paras5); if (_sharp_type == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛) { @@ -397,17 +493,32 @@ var resp = OnRefreshShape3D(GetBindingData(out error)); if (resp != null) { - if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + if (_link_type != eOutflowLinkStyle.鐩寸嚎鍦嗗姬 && _sharp_type != eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) { - _parasControlLine.SetBindingData(resp); - } - else if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) - { - _parasControlCurve.SetBindingData(resp); + if (_sharp_type == eOutflowShapeStyle.涓績鍑哄彛) + { + _parasControlArcCenter.SetBindingData(resp); + } + else if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + { + _parasControlArcSide.SetBindingData(resp); + } + } else { - _parasControlCenter.SetBindingData(resp); + if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + { + _parasControlLine.SetBindingData(resp); + } + else if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + { + _parasControlCurve.SetBindingData(resp); + } + else + { + _parasControlCenter.SetBindingData(resp); + } } } } @@ -445,5 +556,21 @@ { NextStep(); } + + private void checkBox鍦嗗姬杩炴帴_CheckedChanged(object sender, EventArgs e) + { + if (!checkBox鍦嗗姬杩炴帴.Checked) + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + } + else + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鐩寸嚎鍦嗗姬; + } + + InitialOutflowStyle(); + + RefreshModel(); + } } } diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.resx" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.resx" index 8665518..5d7ea85 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.resx" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.resx" @@ -1,7 +1,7 @@ 锘�<?xml version="1.0" encoding="utf-8"?> <root> <!-- - Microsoft ResX Schema + Microsoft ResX Schema Version 2.0 @@ -48,7 +48,7 @@ value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. - + mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.Designer.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.Designer.cs" index b4a3564..45a5418 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.Designer.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.Designer.cs" @@ -1,4 +1,4 @@ -锘縩amespace DPumpHydr.WinFrmUI.Volute.鍑烘按璁捐.鍙傛暟鎺т欢 +锘縩amespace DPumpHydr.WinFrmUI.Volute { partial class SetOutflowParaArcCtrl { @@ -32,7 +32,7 @@ skyLabelH = new RLT.Controls.SkyLabel(); mlTextBoxEditH = new RLT.Controls.MaterialTextBoxEdit(); skyLabel鍦嗗姬r2 = new RLT.Controls.SkyLabel(); - mlTextBoxEdit鍦嗗姬r2 = new RLT.Controls.MaterialTextBoxEdit(); + mlTextBoxEdit鍦嗗姬2 = new RLT.Controls.MaterialTextBoxEdit(); skyLabel鍦嗗姬r1 = new RLT.Controls.SkyLabel(); mlTextBoxEdit鍦嗗姬1 = new RLT.Controls.MaterialTextBoxEdit(); skyLabel鎵╂暎绠″嚭鍙g洿寰� = new RLT.Controls.SkyLabel(); @@ -58,7 +58,7 @@ thunderGroupBox2.Controls.Add(skyLabelH); thunderGroupBox2.Controls.Add(mlTextBoxEditH); thunderGroupBox2.Controls.Add(skyLabel鍦嗗姬r2); - thunderGroupBox2.Controls.Add(mlTextBoxEdit鍦嗗姬r2); + thunderGroupBox2.Controls.Add(mlTextBoxEdit鍦嗗姬2); thunderGroupBox2.Controls.Add(skyLabel鍦嗗姬r1); thunderGroupBox2.Controls.Add(mlTextBoxEdit鍦嗗姬1); thunderGroupBox2.Controls.Add(skyLabel鎵╂暎绠″嚭鍙g洿寰�); @@ -123,6 +123,8 @@ mlTextBoxEditH.TrailingIcon = null; mlTextBoxEditH.UseAccent = false; mlTextBoxEditH.UseSystemPasswordChar = false; + mlTextBoxEditH.Enter += mlTextBoxEditH_Enter; + mlTextBoxEditH.Leave += mlTextBoxEditH_Leave; // // skyLabel鍦嗗姬r2 // @@ -136,42 +138,44 @@ skyLabel鍦嗗姬r2.Text = "璇疯緭鍏ュ渾寮2!"; skyLabel鍦嗗姬r2.Visible = false; // - // mlTextBoxEdit鍦嗗姬r2 + // mlTextBoxEdit鍦嗗姬2 // - mlTextBoxEdit鍦嗗姬r2.AnimateReadOnly = false; - mlTextBoxEdit鍦嗗姬r2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None; - mlTextBoxEdit鍦嗗姬r2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None; - mlTextBoxEdit鍦嗗姬r2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - mlTextBoxEdit鍦嗗姬r2.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal; - mlTextBoxEdit鍦嗗姬r2.Depth = 0; - mlTextBoxEdit鍦嗗姬r2.Enabled = false; - mlTextBoxEdit鍦嗗姬r2.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); - mlTextBoxEdit鍦嗗姬r2.HelperText = "璇疯緭鍏ユ纭渾寮2锛�"; - mlTextBoxEdit鍦嗗姬r2.HideSelection = true; - mlTextBoxEdit鍦嗗姬r2.Hint = "鍦嗗姬r2(mm)"; - mlTextBoxEdit鍦嗗姬r2.LeadingIcon = null; - mlTextBoxEdit鍦嗗姬r2.Location = new System.Drawing.Point(167, 49); - mlTextBoxEdit鍦嗗姬r2.MaxLength = 32767; - mlTextBoxEdit鍦嗗姬r2.MouseState = RLT.Helper.MaterialDrawHelper.MaterialMouseState.OUT; - mlTextBoxEdit鍦嗗姬r2.Name = "mlTextBoxEdit鍦嗗姬r2"; - mlTextBoxEdit鍦嗗姬r2.NullValuePromptText = null; - mlTextBoxEdit鍦嗗姬r2.PasswordChar = '\0'; - mlTextBoxEdit鍦嗗姬r2.PrefixSuffix = RLT.Controls.MaterialTextBoxEdit.PrefixSuffixTypes.Suffix; - mlTextBoxEdit鍦嗗姬r2.PrefixSuffixText = null; - mlTextBoxEdit鍦嗗姬r2.ReadOnly = false; - mlTextBoxEdit鍦嗗姬r2.RightToLeft = System.Windows.Forms.RightToLeft.Yes; - mlTextBoxEdit鍦嗗姬r2.SelectedText = ""; - mlTextBoxEdit鍦嗗姬r2.SelectionLength = 0; - mlTextBoxEdit鍦嗗姬r2.SelectionStart = 0; - mlTextBoxEdit鍦嗗姬r2.ShortcutsEnabled = true; - mlTextBoxEdit鍦嗗姬r2.Size = new System.Drawing.Size(134, 48); - mlTextBoxEdit鍦嗗姬r2.TabIndex = 71; - mlTextBoxEdit鍦嗗姬r2.TabStop = false; - mlTextBoxEdit鍦嗗姬r2.Text = "璇疯緭鍏ュ渾寮2"; - mlTextBoxEdit鍦嗗姬r2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - mlTextBoxEdit鍦嗗姬r2.TrailingIcon = null; - mlTextBoxEdit鍦嗗姬r2.UseAccent = false; - mlTextBoxEdit鍦嗗姬r2.UseSystemPasswordChar = false; + mlTextBoxEdit鍦嗗姬2.AnimateReadOnly = false; + mlTextBoxEdit鍦嗗姬2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None; + mlTextBoxEdit鍦嗗姬2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None; + mlTextBoxEdit鍦嗗姬2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + mlTextBoxEdit鍦嗗姬2.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal; + mlTextBoxEdit鍦嗗姬2.Depth = 0; + mlTextBoxEdit鍦嗗姬2.Enabled = false; + mlTextBoxEdit鍦嗗姬2.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + mlTextBoxEdit鍦嗗姬2.HelperText = "璇疯緭鍏ユ纭渾寮2锛�"; + mlTextBoxEdit鍦嗗姬2.HideSelection = true; + mlTextBoxEdit鍦嗗姬2.Hint = "鍦嗗姬r2(mm)"; + mlTextBoxEdit鍦嗗姬2.LeadingIcon = null; + mlTextBoxEdit鍦嗗姬2.Location = new System.Drawing.Point(167, 49); + mlTextBoxEdit鍦嗗姬2.MaxLength = 32767; + mlTextBoxEdit鍦嗗姬2.MouseState = RLT.Helper.MaterialDrawHelper.MaterialMouseState.OUT; + mlTextBoxEdit鍦嗗姬2.Name = "mlTextBoxEdit鍦嗗姬2"; + mlTextBoxEdit鍦嗗姬2.NullValuePromptText = null; + mlTextBoxEdit鍦嗗姬2.PasswordChar = '\0'; + mlTextBoxEdit鍦嗗姬2.PrefixSuffix = RLT.Controls.MaterialTextBoxEdit.PrefixSuffixTypes.Suffix; + mlTextBoxEdit鍦嗗姬2.PrefixSuffixText = null; + mlTextBoxEdit鍦嗗姬2.ReadOnly = false; + mlTextBoxEdit鍦嗗姬2.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + mlTextBoxEdit鍦嗗姬2.SelectedText = ""; + mlTextBoxEdit鍦嗗姬2.SelectionLength = 0; + mlTextBoxEdit鍦嗗姬2.SelectionStart = 0; + mlTextBoxEdit鍦嗗姬2.ShortcutsEnabled = true; + mlTextBoxEdit鍦嗗姬2.Size = new System.Drawing.Size(134, 48); + mlTextBoxEdit鍦嗗姬2.TabIndex = 71; + mlTextBoxEdit鍦嗗姬2.TabStop = false; + mlTextBoxEdit鍦嗗姬2.Text = "璇疯緭鍏ュ渾寮2"; + mlTextBoxEdit鍦嗗姬2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + mlTextBoxEdit鍦嗗姬2.TrailingIcon = null; + mlTextBoxEdit鍦嗗姬2.UseAccent = false; + mlTextBoxEdit鍦嗗姬2.UseSystemPasswordChar = false; + mlTextBoxEdit鍦嗗姬2.Enter += mlTextBoxEdit鍦嗗姬2_Enter; + mlTextBoxEdit鍦嗗姬2.Leave += mlTextBoxEdit鍦嗗姬2_Leave; // // skyLabel鍦嗗姬r1 // @@ -221,6 +225,7 @@ mlTextBoxEdit鍦嗗姬1.UseAccent = false; mlTextBoxEdit鍦嗗姬1.UseSystemPasswordChar = false; mlTextBoxEdit鍦嗗姬1.Enter += mlTextBoxEdit鍦嗗姬1_Enter; + mlTextBoxEdit鍦嗗姬1.Leave += mlTextBoxEdit鍦嗗姬1_Leave; // // skyLabel鎵╂暎绠″嚭鍙g洿寰� // @@ -269,6 +274,8 @@ mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.TrailingIcon = null; mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.UseAccent = false; mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.UseSystemPasswordChar = false; + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Enter += mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰刜Enter; + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Leave += mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰刜Leave; // // skyLabel涓績璺濈 // @@ -329,6 +336,8 @@ mlTextBoxEdit涓績璺濈.TrailingIcon = null; mlTextBoxEdit涓績璺濈.UseAccent = false; mlTextBoxEdit涓績璺濈.UseSystemPasswordChar = false; + mlTextBoxEdit涓績璺濈.Enter += mlTextBoxEdit涓績璺濈_Enter; + mlTextBoxEdit涓績璺濈.Leave += mlTextBoxEdit涓績璺濈_Leave; // // mlTextBoxEdit鎵╂暎绠¢暱搴� // @@ -365,6 +374,8 @@ mlTextBoxEdit鎵╂暎绠¢暱搴�.TrailingIcon = null; mlTextBoxEdit鎵╂暎绠¢暱搴�.UseAccent = false; mlTextBoxEdit鎵╂暎绠¢暱搴�.UseSystemPasswordChar = false; + mlTextBoxEdit鎵╂暎绠¢暱搴�.Enter += mlTextBoxEdit鎵╂暎绠¢暱搴Enter; + mlTextBoxEdit鎵╂暎绠¢暱搴�.Leave += mlTextBoxEdit鎵╂暎绠¢暱搴Leave; // // thunderGroupBox1 // @@ -420,6 +431,8 @@ mlTextBoxEditr.TrailingIcon = null; mlTextBoxEditr.UseAccent = false; mlTextBoxEditr.UseSystemPasswordChar = false; + mlTextBoxEditr.Enter += mlTextBoxEditr_Enter; + mlTextBoxEditr.Leave += mlTextBoxEditr_Leave; // // skyLabelr // @@ -462,7 +475,7 @@ private RLT.Controls.SkyLabel skyLabelH; private RLT.Controls.MaterialTextBoxEdit mlTextBoxEditH; private RLT.Controls.SkyLabel skyLabel鍦嗗姬r2; - private RLT.Controls.MaterialTextBoxEdit mlTextBoxEdit鍦嗗姬r2; + private RLT.Controls.MaterialTextBoxEdit mlTextBoxEdit鍦嗗姬2; private RLT.Controls.ThunderGroupBox thunderGroupBox1; private RLT.Controls.MaterialTextBoxEdit mlTextBoxEditr; private RLT.Controls.SkyLabel skyLabelr; diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.cs" index bd11cab..a65cac6 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParaArcCtrl.cs" @@ -1,4 +1,5 @@ 锘縰sing DPumpHydr.WinFrmUI.RLT.Controls; +using DPumpHydr.WinFrmUI.Volute.ViewModel; using System; using System.Collections.Generic; using System.ComponentModel; @@ -9,7 +10,7 @@ using System.Threading.Tasks; using System.Windows.Forms; -namespace DPumpHydr.WinFrmUI.Volute.鍑烘按璁捐.鍙傛暟鎺т欢 +namespace DPumpHydr.WinFrmUI.Volute { public partial class SetOutflowParaArcCtrl : UserControl { @@ -17,15 +18,257 @@ { InitializeComponent(); } + public ViewModel.OutflowParas GetBindingData(out string error) + { + error = ""; + if (!Verify(out error)) + { + return null; + } + if (_otuflowParas == null) + _otuflowParas = new OutflowParas(); + if (string.IsNullOrEmpty(mlTextBoxEditH.Text)) + { + _otuflowParas.H1 = 0; + _otuflowParas.H2 = 0; + } + else + { + _otuflowParas.H1 = Convert.ToDouble(mlTextBoxEditH.Text); + _otuflowParas.H2 = Convert.ToDouble(mlTextBoxEditH.Text); + } + _otuflowParas.Heigh = Convert.ToDouble(mlTextBoxEdit鎵╂暎绠¢暱搴�.Text); + _otuflowParas.Septalradius = Convert.ToDouble(mlTextBoxEditr.Text); + _otuflowParas.Dia = Convert.ToDouble(mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text); + _otuflowParas.Offset = Convert.ToDouble(mlTextBoxEdit涓績璺濈.Text); + _otuflowParas.R1 = Convert.ToDouble(mlTextBoxEdit鍦嗗姬1.Text); + _otuflowParas.R2 = Convert.ToDouble(mlTextBoxEdit鍦嗗姬2.Text); + return _otuflowParas; + } + public bool Verify(out string error) + { + error = ""; + bool isOk = true; + if (string.IsNullOrEmpty(mlTextBoxEdit鎵╂暎绠¢暱搴�.Text) || mlTextBoxEdit鎵╂暎绠¢暱搴�.Text == "璇疯緭鍏ユ墿鏁g闀垮害" || double.Parse(mlTextBoxEdit鎵╂暎绠¢暱搴�.Text) == 0) + { + error = "璇疯緭鍏ユ墿鏁g闀垮害锛�"; + isOk = false; + mlTextBoxEdit鎵╂暎绠¢暱搴�.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + skyLabel鎵╂暎绠¢暱搴�.Visible = true; + } + if (string.IsNullOrEmpty(mlTextBoxEdit涓績璺濈.Text) || mlTextBoxEdit涓績璺濈.Text == "璇疯緭鍏ヤ腑蹇冭窛绂�") + { + error = "璇疯緭鍏ヤ腑蹇冭窛绂伙紒"; + isOk = false; + mlTextBoxEdit涓績璺濈.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + skyLabel涓績璺濈.Visible = true; + } + if (string.IsNullOrEmpty(mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text) || mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text == "璇疯緭鍏ユ墿鏁g鍑哄彛鐩村緞" || double.Parse(mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text) == 0) + { + error = "璇疯緭鍏ユ墿鏁g鍑哄彛鐩村緞锛�"; + isOk = false; + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + skyLabel鎵╂暎绠″嚭鍙g洿寰�.Visible = true; + } + if (string.IsNullOrEmpty(mlTextBoxEditr.Text) || mlTextBoxEditr.Text == "璇疯緭鍏ラ殧鑸�" || double.Parse(mlTextBoxEditr.Text) == 0) + { + error = "璇疯緭鍏ラ殧鑸屽渾瑙掑崐寰勶紒"; + isOk = false; + mlTextBoxEditr.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + mlTextBoxEditr.Visible = true; + } + if (string.IsNullOrEmpty(mlTextBoxEdit鍦嗗姬1.Text) || mlTextBoxEdit鍦嗗姬1.Text == "璇疯緭鍏ュ渾寮1" || double.Parse(mlTextBoxEdit鍦嗗姬1.Text) == 0) + { + error = "璇疯緭鍏ュ渾寮1锛�"; + isOk = false; + mlTextBoxEdit鍦嗗姬1.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + mlTextBoxEdit鍦嗗姬1.Visible = true; + } + if (string.IsNullOrEmpty(mlTextBoxEdit鍦嗗姬2.Text) || mlTextBoxEdit鍦嗗姬2.Text == "璇疯緭鍏ュ渾寮2" || double.Parse(mlTextBoxEdit鍦嗗姬2.Text) == 0) + { + error = "璇疯緭鍏ュ渾寮2锛�"; + isOk = false; + mlTextBoxEdit鍦嗗姬2.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + mlTextBoxEdit鍦嗗姬2.Visible = true; + } + if (mlTextBoxEditH.Text == "璇疯緭鍏ュ渾寮1") + { + error = "璇疯緭鍏ラ殧鑸屽渾瑙掑崐寰勶紒"; + isOk = false; + mlTextBoxEditH.TrailingIcon = GlobalResource.GetTipTrailingIcon(); + mlTextBoxEditH.Visible = true; + } + return isOk; + } + public Func<ViewModel.OutflowParas, bool> OnRefreshShape = null; + public void SetA_state(bool isEnabled) + { + if (!isEnabled) + { + mlTextBoxEdit涓績璺濈.Text = 0.ToString(); + mlTextBoxEdit涓績璺濈.Enabled = false; + } + else + { + mlTextBoxEdit涓績璺濈.Enabled = true; + } + } + ViewModel.OutflowParas _otuflowParas = null; + ViewModel.HdrBaseInfo _hdrBaseInfo = null; + ViewModel.GeomBaseInfo _geomBaseInfo = null; + ViewModel.SectionBundleInfo _sectionBundleInfo = null; + public bool IsInvokeRefreshShapeAble { get; set; } = true; + public void InitialParas( + ViewModel.HdrBaseInfo hdrBaseInfo, + ViewModel.GeomBaseInfo geomBaseInfo, + ViewModel.SectionBundleInfo sectionBundleInfo) + { + _hdrBaseInfo = hdrBaseInfo; + _geomBaseInfo = geomBaseInfo; + _sectionBundleInfo = sectionBundleInfo; + } + public void SetBindingData(ViewModel.OutflowParasCalcReponse reponse) + { + + } + public void SetBindingData(ViewModel.OutflowParas outflowParas) + { + if (outflowParas == null) + { + return; + } + _otuflowParas = outflowParas; + mlTextBoxEdit鍦嗗姬1.Text = outflowParas.R1.ToString(); + mlTextBoxEdit鍦嗗姬2.Text = outflowParas.R2.ToString(); + mlTextBoxEdit鎵╂暎绠¢暱搴�.Text = outflowParas.Heigh.ToString(); + mlTextBoxEditH.Text = outflowParas.H1.ToString(); + mlTextBoxEditr.Text = outflowParas.Septalradius.ToString(); + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text = outflowParas.Dia.ToString(); + mlTextBoxEdit涓績璺濈.Text = outflowParas.Offset.ToString(); + } private void mlTextBoxEdit鍦嗗姬1_Enter(object sender, EventArgs e) { - if (sender is MaterialTextBoxEdit materialTextBoxEdit) + skyLabel鍦嗗姬r1.Visible = false; + mlTextBoxEdit鍦嗗姬1.TrailingIcon = null; + if (mlTextBoxEdit鍦嗗姬1.Text == "璇疯緭鍏ュ渾寮1") { - if (materialTextBoxEdit.Text.Contains("璇疯緭鍏�")) - { - materialTextBoxEdit.Text = ""; - } + mlTextBoxEdit鍦嗗姬1.Text = ""; + } + } + private void mlTextBoxEdit鍦嗗姬2_Enter(object sender, EventArgs e) + { + skyLabel鍦嗗姬r2.Visible = false; + mlTextBoxEdit鍦嗗姬2.TrailingIcon = null; + if (mlTextBoxEdit鍦嗗姬2.Text == "璇疯緭鍏ュ渾寮2") + { + mlTextBoxEdit鍦嗗姬2.Text = ""; + } + } + + private void mlTextBoxEditH_Enter(object sender, EventArgs e) + { + skyLabelH.Visible = false; + mlTextBoxEditH.TrailingIcon = null; + if (mlTextBoxEditH.Text == "璇疯緭鍏") + { + mlTextBoxEditH.Text = ""; + } + } + + private void mlTextBoxEdit涓績璺濈_Enter(object sender, EventArgs e) + { + skyLabel涓績璺濈.Visible = false; + mlTextBoxEdit涓績璺濈.TrailingIcon = null; + if (mlTextBoxEdit涓績璺濈.Text == "璇疯緭鍏") + { + mlTextBoxEdit涓績璺濈.Text = ""; + } + } + + private void mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰刜Enter(object sender, EventArgs e) + { + skyLabel鎵╂暎绠″嚭鍙g洿寰�.Visible = false; + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.TrailingIcon = null; + if (mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text == "璇疯緭鍏ユ墿鏁g鍑哄彛鐩村緞") + { + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text = ""; + } + } + + private void mlTextBoxEdit鎵╂暎绠¢暱搴Enter(object sender, EventArgs e) + { + skyLabel鎵╂暎绠¢暱搴�.Visible = false; + mlTextBoxEdit鎵╂暎绠¢暱搴�.TrailingIcon = null; + if (mlTextBoxEdit鎵╂暎绠¢暱搴�.Text == "璇疯緭鍏ユ墿鏁g闀垮害") + { + mlTextBoxEdit鎵╂暎绠¢暱搴�.Text = ""; + } + } + + private void mlTextBoxEditr_Enter(object sender, EventArgs e) + { + skyLabelr.Visible = false; + mlTextBoxEditr.TrailingIcon = null; + if (mlTextBoxEditr.Text == "璇疯緭鍏ラ殧鑸�") + { + mlTextBoxEditr.Text = ""; + } + } + + private void mlTextBoxEdit鍦嗗姬1_Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEdit鍦嗗姬1.Text) || double.Parse(mlTextBoxEdit鍦嗗姬1.Text) < 0) + { + mlTextBoxEdit鍦嗗姬1.Text = "璇疯緭鍏ュ渾寮1"; + } + } + + private void mlTextBoxEdit鍦嗗姬2_Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEdit鍦嗗姬2.Text) || double.Parse(mlTextBoxEdit鍦嗗姬2.Text) < 0) + { + mlTextBoxEdit鍦嗗姬2.Text = "璇疯緭鍏ュ渾寮2"; + } + } + + private void mlTextBoxEditH_Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEditH.Text) || double.Parse(mlTextBoxEditH.Text) < 0) + { + mlTextBoxEditH.Text = "璇疯緭鍏"; + } + } + + private void mlTextBoxEdit涓績璺濈_Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEdit涓績璺濈.Text) || double.Parse(mlTextBoxEdit涓績璺濈.Text) < 0) + { + mlTextBoxEdit涓績璺濈.Text = "璇疯緭鍏"; + } + } + + private void mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰刜Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text) || double.Parse(mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text) < 0) + { + mlTextBoxEdit鎵╂暎绠″嚭鍙g洿寰�.Text = "璇疯緭鍏ユ墿鏁g鍑哄彛鐩村緞"; + } + } + + private void mlTextBoxEdit鎵╂暎绠¢暱搴Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEdit鎵╂暎绠¢暱搴�.Text) || double.Parse(mlTextBoxEdit鎵╂暎绠¢暱搴�.Text) < 0) + { + mlTextBoxEdit鎵╂暎绠¢暱搴�.Text = "璇疯緭鍏ユ墿鏁g闀垮害"; + } + } + + private void mlTextBoxEditr_Leave(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(mlTextBoxEditr.Text) || double.Parse(mlTextBoxEditr.Text) < 0) + { + mlTextBoxEditr.Text = "璇疯緭鍏ラ殧鑸�"; } } } diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParasCtrl1.Designer.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParasCtrl1.Designer.cs" index dc2b8e2..a748b77 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParasCtrl1.Designer.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/\345\217\202\346\225\260\346\216\247\344\273\266/SetOutflowParasCtrl1.Designer.cs" @@ -575,7 +575,7 @@ mlTextBoxEdith1.Size = new System.Drawing.Size(90, 48); mlTextBoxEdith1.TabIndex = 28; mlTextBoxEdith1.TabStop = false; - mlTextBoxEdith1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + mlTextBoxEdith1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; mlTextBoxEdith1.TrailingIcon = null; mlTextBoxEdith1.UseAccent = false; mlTextBoxEdith1.UseSystemPasswordChar = false; diff --git "a/\346\265\213\350\257\225\345\217\202\346\225\260.xls" "b/\346\265\213\350\257\225\345\217\202\346\225\260.xls" index fc849eb..619dfec 100644 --- "a/\346\265\213\350\257\225\345\217\202\346\225\260.xls" +++ "b/\346\265\213\350\257\225\345\217\202\346\225\260.xls" Binary files differ -- Gitblit v1.9.3