From 9a7e74591a70bc1be9c9995b5cab4cbfafaa8996 Mon Sep 17 00:00:00 2001 From: chenn <gu.beic@qq.com> Date: 星期二, 01 四月 2025 17:58:03 +0800 Subject: [PATCH] 圆弧直线取消注释;引用dll更改 --- WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.cs | 415 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 336 insertions(+), 79 deletions(-) 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..89807af 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,8 @@ InitializeComponent(); _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.鏈煡; - + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + _parasControlCenter = new SetOutflowParasCtrl1() { Name = "SetOutflowParasCtrlCenter" }; _parasControlCenter.OnRefreshShape += (para) => @@ -50,6 +51,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 +90,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 @@ -82,12 +107,36 @@ return _sharp_type; } } + bool _isxml = false; + public bool Isxml + { + get { return _isxml; } + set { _isxml = value; } + } private void InitialOutflowStyle() { if (_parasControlCenter == null) 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.涓績鍑哄彛: @@ -95,7 +144,7 @@ _parasControlCenter.SetA_state(false); tabPage1.Controls.Add(_parasControlCenter); return; - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴: + case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛: metroTile鍑哄彛鍥剧墖.BackgroundImage = GlobalResource.BuildImage("Side-exit-curve.png", 878, 238); _parasControlCurve.SetA_state(true); tabPage1.Controls.Add(_parasControlCurve); @@ -108,16 +157,17 @@ 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) + ViewModel.SectionBundleInfo sectionBundleInfo, + ViewModel.OutflowParas outflowParas) { - if (IsSameBaseParas( hdrBaseInfo, geomBaseInfo, sectionBundleInfo) ) + if (IsSameBaseParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo)) {//鍒ゆ柇鏄惁淇敼浜� return 0;//0琛ㄧず娌℃湁鍙樺寲 } @@ -125,63 +175,170 @@ this._geomBaseInfo = geomBaseInfo; this._sectionBundleInfo = sectionBundleInfo; - //鍑哄彛鐩村緞鏍囧噯鍖� - double outer_dia = 4.5 * Math.Pow(hdrBaseInfo.Q / 3600 / hdrBaseInfo.n, 1 / 3.0) * 1000; + if(outflowParas != null) + { + _sharp_type = outflowParas.ShapeStyle; + _link_type = outflowParas.LinkStyle; + } + // + InitialCtrlDefaultParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo, outflowParas); - 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); - outflowParas3.Heigh = height3; - outflowParas3.Septalradius = 2; - _parasControlCurve.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); - _parasControlCurve.IsInvokeRefreshShapeAble = false; - _parasControlCurve.SetBindingData(outflowParas3); - _parasControlCurve.IsInvokeRefreshShapeAble = true; + + if(_link_type == eOutflowLinkStyle.鏇茬嚎) + { + checkBox鍦嗗姬杩炴帴.Checked = false; + } + else + { + checkBox鍦嗗姬杩炴帴.Checked = true; + } - var outflowParas1 = new OutflowParas(); - outflowParas1.Offset = 0; - outflowParas1.H1 = 5; - outflowParas1.H2 = 5; - outflowParas1.Dia = GetStdDia(outer_dia); - double height1 = 5 * (int)((((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.4141 + outflowParas1.Dia / 2) / 5) + 1); - outflowParas1.Heigh = height1; - outflowParas1.Septalradius = 2; - _parasControlCenter.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); - _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; - outflowParas2.H2 = 5; - outflowParas2.Dia = GetStdDia(outer_dia); - double height2 = 5 * (int)(((outflowParas2.Dia - Math.Sqrt(4 * sectionBundleInfo.Area[8] / Math.PI)) / (2 * Math.Tan(4 * Math.PI / 180))) / 5 + 0.5); - outflowParas2.Heigh = height2; - outflowParas2.Septalradius = 3; - _parasControlLine.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); - _parasControlLine.IsInvokeRefreshShapeAble = false; - _parasControlLine.SetBindingData(outflowParas2); - _parasControlLine.IsInvokeRefreshShapeAble = true; - - if(_sharp_type == eOutflowShapeStyle.鏈煡) + if (_sharp_type == eOutflowShapeStyle.鏈煡) { _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛; comboBoxType.SelectedIndex = 0; } else { + comboBoxType.SelectedIndex = (int)_sharp_type; + if (_isxml) + { + InitialOutflowStyle(); + _isxml = false; + + } InitialOutflowStyle(); - RefreshModel(); + RefreshModel(); } return 1; + } + + private void InitialCtrlDefaultParas( + ViewModel.HdrBaseInfo hdrBaseInfo, + ViewModel.GeomBaseInfo geomBaseInfo, + ViewModel.SectionBundleInfo sectionBundleInfo, + ViewModel.OutflowParas outflowParas) + { + //鍑哄彛鐩村緞鏍囧噯鍖� + double outer_dia = 4.5 * Math.Pow(hdrBaseInfo.Q / 3600 / hdrBaseInfo.n, 1 / 3.0) * 1000; + //渚ч潰鏇茬嚎 + OutflowParas outflowParas渚ч潰鏇茬嚎 = null; + if(outflowParas != null && outflowParas.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛) + { + outflowParas渚ч潰鏇茬嚎 = outflowParas; + } + else + { + outflowParas渚ч潰鏇茬嚎 = new OutflowParas(); + outflowParas渚ч潰鏇茬嚎.Offset = ((int)((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; + outflowParas渚ч潰鏇茬嚎.H1 = 5; + outflowParas渚ч潰鏇茬嚎.H2 = 5; + outflowParas渚ч潰鏇茬嚎.Dia = GetStdDia(outer_dia); + double height3 = 5 * (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.5 + outflowParas渚ч潰鏇茬嚎.Dia / 2) / 5 + 1); + outflowParas渚ч潰鏇茬嚎.Heigh = height3; + outflowParas渚ч潰鏇茬嚎.Septalradius = 2; + } + _parasControlCurve.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlCurve.IsInvokeRefreshShapeAble = false; + _parasControlCurve.SetBindingData(outflowParas渚ч潰鏇茬嚎); + _parasControlCurve.IsInvokeRefreshShapeAble = true; + //涓績鍑哄彛 + OutflowParas outflowParas涓績鍑哄彛 = null; + if (outflowParas != null && outflowParas.ShapeStyle == eOutflowShapeStyle.涓績鍑哄彛 && outflowParas.LinkStyle == eOutflowLinkStyle.鏇茬嚎) + { + outflowParas涓績鍑哄彛 = outflowParas; + } + else + { + outflowParas涓績鍑哄彛 = new OutflowParas(); + outflowParas涓績鍑哄彛.Offset = 0; + outflowParas涓績鍑哄彛.H1 = 5; + outflowParas涓績鍑哄彛.H2 = 5; + outflowParas涓績鍑哄彛.Dia = GetStdDia(outer_dia); + double height1 = 5 * (int)((((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.4141 + outflowParas涓績鍑哄彛.Dia / 2) / 5) + 1); + outflowParas涓績鍑哄彛.Heigh = height1; + outflowParas涓績鍑哄彛.Septalradius = 2; + } + _parasControlCenter.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlCenter.IsInvokeRefreshShapeAble = false; + _parasControlCenter.SetBindingData(outflowParas涓績鍑哄彛); + _parasControlCenter.IsInvokeRefreshShapeAble = true; + + //渚ч潰鐩寸嚎 + OutflowParas outflowParas渚ч潰鐩寸嚎 = null; + if (outflowParas != null && outflowParas.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴 && outflowParas.LinkStyle == eOutflowLinkStyle.鏇茬嚎) + { + outflowParas渚ч潰鐩寸嚎 = outflowParas; + } + else + { + outflowParas渚ч潰鐩寸嚎 = new OutflowParas(); + outflowParas渚ч潰鐩寸嚎.Offset = (int)((geomBaseInfo.D3 + sectionBundleInfo.H[8]) / 2 + 0.5); + outflowParas渚ч潰鐩寸嚎.H1 = 5; + outflowParas渚ч潰鐩寸嚎.H2 = 5; + outflowParas渚ч潰鐩寸嚎.Dia = GetStdDia(outer_dia); + double height2 = 5 * (int)(((outflowParas渚ч潰鐩寸嚎.Dia - Math.Sqrt(4 * sectionBundleInfo.Area[8] / Math.PI)) / (2 * Math.Tan(4 * Math.PI / 180))) / 5 + 0.5); + if (height2 < geomBaseInfo.D3 / 2) + { + height2 = geomBaseInfo.D3 * 0.75; + } + outflowParas渚ч潰鐩寸嚎.Heigh = height2; + outflowParas渚ч潰鐩寸嚎.Septalradius = 3; + } + _parasControlLine.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlLine.IsInvokeRefreshShapeAble = false; + _parasControlLine.SetBindingData(outflowParas渚ч潰鐩寸嚎); + _parasControlLine.IsInvokeRefreshShapeAble = true; + + //鍦嗗姬涓績 + OutflowParas outflowParas鍦嗗姬涓績 = null; + if (outflowParas != null && outflowParas.ShapeStyle == eOutflowShapeStyle.涓績鍑哄彛 && outflowParas.LinkStyle == eOutflowLinkStyle.鐩寸嚎鍦嗗姬) + { + outflowParas鍦嗗姬涓績 = outflowParas; + } + else + { + outflowParas鍦嗗姬涓績 = new OutflowParas(); + outflowParas鍦嗗姬涓績.Offset = 0; + outflowParas鍦嗗姬涓績.H1 = 5; + outflowParas鍦嗗姬涓績.H2 = 5; + outflowParas鍦嗗姬涓績.Dia = GetStdDia(outer_dia); + double height4 = 5 * (int)((((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.4141 + outflowParas鍦嗗姬涓績.Dia / 2) / 5) + 1); + outflowParas鍦嗗姬涓績.Heigh = height4; + outflowParas鍦嗗姬涓績.Septalradius = 3; + outflowParas鍦嗗姬涓績.R1 = (int)((outflowParas鍦嗗姬涓績.Dia * 11 / 10 / 10) + 1) * 10; + outflowParas鍦嗗姬涓績.R2 = (int)(outflowParas鍦嗗姬涓績.Dia * 3 / 4 / 10) * 10; + } + _parasControlArcCenter.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlArcCenter.IsInvokeRefreshShapeAble = false; + _parasControlArcCenter.SetBindingData(outflowParas鍦嗗姬涓績); + _parasControlArcCenter.IsInvokeRefreshShapeAble = true; + + //鍦嗗姬渚ч潰 + OutflowParas outflowParas鍦嗗姬渚ч潰 = null; + if (outflowParas != null && outflowParas.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛 && outflowParas.LinkStyle == eOutflowLinkStyle.鐩寸嚎鍦嗗姬) + { + outflowParas鍦嗗姬渚ч潰 = outflowParas; + } + else + { + outflowParas鍦嗗姬渚ч潰 = new OutflowParas(); + outflowParas鍦嗗姬渚ч潰.Offset = ((int)((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; + outflowParas鍦嗗姬渚ч潰.H1 = 5; + outflowParas鍦嗗姬渚ч潰.H2 = 5; + outflowParas鍦嗗姬渚ч潰.Dia = GetStdDia(outer_dia); + double height5 = 5 * (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8] / 2) * 1.5 + outflowParas渚ч潰鏇茬嚎.Dia / 2) / 5 + 1); + outflowParas鍦嗗姬渚ч潰.Heigh = height5; + outflowParas鍦嗗姬渚ч潰.Septalradius = 3; + outflowParas鍦嗗姬渚ч潰.R1 = (int)(((geomBaseInfo.D3 / 2 + sectionBundleInfo.H[8]) * 2.0 / 10) + 1) * 10; ; + outflowParas鍦嗗姬渚ч潰.R2 = outflowParas鍦嗗姬渚ч潰.CalR2(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + } + _parasControlArcSide.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); + _parasControlArcSide.IsInvokeRefreshShapeAble = false; + _parasControlArcSide.SetBindingData(outflowParas鍦嗗姬渚ч潰); + _parasControlArcSide.IsInvokeRefreshShapeAble = true; } private bool IsSameBaseParas( @@ -190,7 +347,7 @@ ViewModel.SectionBundleInfo sectionBundleInfo) { if (this._hdrBaseInfo == null) - return false ; + return false; if (this._geomBaseInfo == null) return false; if (this._sectionBundleInfo == null) @@ -221,7 +378,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,28 +443,48 @@ { 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; } _outflowParas.ShapeStyle = _sharp_type; + _outflowParas.LinkStyle = _link_type; return _outflowParas; } @@ -316,32 +493,37 @@ { if (paras == null) return; - if(_sectionBundleInfo == null) + if (_sectionBundleInfo == null) { throw new Exception("鏈垵濮嬪寲ctrlSetOutflowParas鎺т欢"); } this._sharp_type = paras.ShapeStyle; + this._link_type = paras.LinkStyle; 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.涓績鍑哄彛) { comboBoxType.SelectedIndex = 0; } - else if (_sharp_type == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴) + else if (_sharp_type == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛) { comboBoxType.SelectedIndex = 1; } @@ -349,7 +531,14 @@ { comboBoxType.SelectedIndex = 2; } - + if(_link_type == eOutflowLinkStyle.鐩寸嚎鍦嗗姬) + { + checkBox鍦嗗姬杩炴帴.Checked = true; + } + else + { + checkBox鍦嗗姬杩炴帴.Checked = false; + } InitialOutflowStyle(); } @@ -394,20 +583,39 @@ private void RefreshModel() { string error; + if(OnRefreshShape3D == null) + { + return; + } 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); + } } } } @@ -426,24 +634,73 @@ if (comboBoxType.SelectedIndex == 0) { _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛; + checkBox鍦嗗姬杩炴帴.Enabled = true; + checkBox鍦嗗姬杩炴帴.Visible = true; + if (checkBox鍦嗗姬杩炴帴.Checked) + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鐩寸嚎鍦嗗姬; + } + else + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + } } else if (comboBoxType.SelectedIndex == 1) { - _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴; + _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛; + checkBox鍦嗗姬杩炴帴.Enabled = true; + checkBox鍦嗗姬杩炴帴.Visible = true; + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + if (checkBox鍦嗗姬杩炴帴.Checked) + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鐩寸嚎鍦嗗姬; + } + else + { + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + } } else if (comboBoxType.SelectedIndex == 2) { _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴; + checkBox鍦嗗姬杩炴帴.Enabled = false; + checkBox鍦嗗姬杩炴帴.Visible = false; + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; } - + if (_isxml) + { + InitialOutflowStyle(); + return; + } InitialOutflowStyle(); - RefreshModel(); + RefreshModel(); } private void btnNextStep_Click(object sender, EventArgs e) { 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.鐩寸嚎鍦嗗姬; + } + if (_isxml) + { + InitialOutflowStyle(); + return; + } + + InitialOutflowStyle(); + + RefreshModel(); + } } } -- Gitblit v1.9.3