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 | 582 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 486 insertions(+), 96 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 eb1dc53..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" @@ -17,26 +17,59 @@ { InitializeComponent(); - _parasControl1 = new SetOutflowParasCtrl1() { Name = "SetOutflowParasCtrl1" }; - _parasControl1.OnRefreshShape += (para) => + _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.鏈煡; + _link_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowLinkStyle.鏇茬嚎; + + + _parasControlCenter = new SetOutflowParasCtrl1() { Name = "SetOutflowParasCtrlCenter" }; + _parasControlCenter.OnRefreshShape += (para) => { if (OnRefreshShape2D != null) return OnRefreshShape2D(para); else return false; }; - _parasControl1.Dock = DockStyle.Top; + _parasControlCenter.Dock = DockStyle.Top; - _parasControl2 = new SetOutflowParasCtrl2() { Name = "SetOutflowParasCtrl2" }; - _parasControl2.OnRefreshShape += (para) => + _parasControlLine = new SetOutflowParasCtrl2() { Name = "SetOutflowParasCtrlLine" }; + _parasControlLine.OnRefreshShape += (para) => { if (OnRefreshShape2D != null) return OnRefreshShape2D(para); else return false; }; - _parasControl2.Dock = DockStyle.Top; + _parasControlLine.Dock = DockStyle.Top; + _parasControlCurve = new SetOutflowParasCtrl1() { Name = "SetOutflowParasCtrlCurve" }; + _parasControlCurve.OnRefreshShape += (para) => + { + if (OnRefreshShape2D != null) + return OnRefreshShape2D(para); + else + return false; + }; + _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) => @@ -57,10 +90,16 @@ //鎺т欢 - SetOutflowParasCtrl1 _parasControl1 = null; - SetOutflowParasCtrl2 _parasControl2 = null; + //鏇茬嚎閾炬帴鎺т欢 + 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 @@ -68,123 +107,384 @@ 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.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�: + case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛: metroTile鍑哄彛鍥剧墖.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238); - _parasControl1.SetA_state(false); - tabPage1.Controls.Add(_parasControl1); + _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); - _parasControl1.SetA_state(true); - tabPage1.Controls.Add(_parasControl1); + _parasControlCurve.SetA_state(true); + tabPage1.Controls.Add(_parasControlCurve); return; case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴: metroTile鍑哄彛鍥剧墖.BackgroundImage = GlobalResource.BuildImage("Side-exit-straight-line.png", 878, 238); - tabPage1.Controls.Add(_parasControl2); + tabPage1.Controls.Add(_parasControlLine); return; default: throw new ArgumentException("Invalid control type"); } } - + ViewModel.HdrBaseInfo _hdrBaseInfo = null; ViewModel.GeomBaseInfo _geomBaseInfo = null; ViewModel.SectionBundleInfo _sectionBundleInfo = null; - public void InitialParas( + public int InitialParas( ViewModel.HdrBaseInfo hdrBaseInfo, ViewModel.GeomBaseInfo geomBaseInfo, - ViewModel.SectionBundleInfo sectionBundleInfo) + ViewModel.SectionBundleInfo sectionBundleInfo, + ViewModel.OutflowParas outflowParas) { + if (IsSameBaseParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo)) + {//鍒ゆ柇鏄惁淇敼浜� + return 0;//0琛ㄧず娌℃湁鍙樺寲 + } this._hdrBaseInfo = hdrBaseInfo; this._geomBaseInfo = geomBaseInfo; this._sectionBundleInfo = sectionBundleInfo; - //鍑哄彛鐩村緞鏍囧噯鍖� - double outer_dia = 4.5 * Math.Pow(hdrBaseInfo.Q / 3600 / hdrBaseInfo.n, 1 / 3.0) * 1000; - double height = 10 * (int)((geomBaseInfo.D3 * 1.3 + sectionBundleInfo.H[8] + 15) / 10); - - - - var outflowParas1 = new OutflowParas(); - outflowParas1.Offset = 0; - outflowParas1.Heigh = height; - outflowParas1.H1 = 5; - outflowParas1.H2 = 5; - outflowParas1.Dia = GetStdDia(outer_dia); - outflowParas1.Septalradius = 2; - _parasControl1.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); - _parasControl1.IsInvokeRefreshShapeAble = false; - _parasControl1.SetBindingData(outflowParas1); - _parasControl1.IsInvokeRefreshShapeAble = true; - - - - var outflowParas2 = new OutflowParas(); - outflowParas2.Offset = (int)((geomBaseInfo.D3 + sectionBundleInfo.H[8]) / 2); - outflowParas2.Heigh = height; - outflowParas2.H1 = 5; - outflowParas2.H2 = 5; - outflowParas2.Dia = GetStdDia(outer_dia); - outflowParas2.Septalradius = 2; - _parasControl2.InitialParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo); - _parasControl2.IsInvokeRefreshShapeAble = false; - _parasControl2.SetBindingData(outflowParas2); - _parasControl2.IsInvokeRefreshShapeAble = true; - - - - _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�; - comboBoxType.SelectedIndex = 0; - } - - private static double GetStdDia(double mm) - { - var iFlangeCodeList = new int[] {10,15,20,25,32, - 40,50,65,80,100, - 125,150,200,250,300, - 350,400,450,500,600, - 700,800,900,1000,1200, - 1400,1600,1800,2000,5000,100000}; - - for (int i = 0; i < iFlangeCodeList.Count() - 1; i++) + if(outflowParas != null) { - if (mm < iFlangeCodeList[i]) - return iFlangeCodeList[i]; + _sharp_type = outflowParas.ShapeStyle; + _link_type = outflowParas.LinkStyle; + } + // + InitialCtrlDefaultParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo, outflowParas); + + + if(_link_type == eOutflowLinkStyle.鏇茬嚎) + { + checkBox鍦嗗姬杩炴帴.Checked = false; + } + else + { + checkBox鍦嗗姬杩炴帴.Checked = true; } + 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; - return iFlangeCodeList.Last(); + } + InitialOutflowStyle(); + + 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( + ViewModel.HdrBaseInfo hdrBaseInfo, + ViewModel.GeomBaseInfo geomBaseInfo, + ViewModel.SectionBundleInfo sectionBundleInfo) + { + if (this._hdrBaseInfo == null) + return false; + if (this._geomBaseInfo == null) + return false; + if (this._sectionBundleInfo == null) + return false; + if (!this._hdrBaseInfo.IsSame(hdrBaseInfo)) + return false; + if (!this._geomBaseInfo.IsSame(geomBaseInfo)) + return false; + if (!this._sectionBundleInfo.IsSame(sectionBundleInfo)) + return false; + + this._hdrBaseInfo = hdrBaseInfo; + this._geomBaseInfo = geomBaseInfo; + this._sectionBundleInfo = sectionBundleInfo; + + return true; + } + private static double GetStdDia(double mm) + { + //var iFlangeCodeList = new int[] {10,15,20,25,32, + // 40,50,65,80,100, + // 125,150,200,250,300, + // 350,400,450,500,600, + // 700,800,900,1000,1200, + // 1400,1600,1800,2000,5000,100000}; + //var iFlangeCodeList = new Double[] {6,8,10,15,20,25,32,40,50,65,80,100,125,150,175, + // 200,225,250,300,350,400,450,500,550,600,650,700,750,800,900,1000, + // 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 >= 7 && mm < 9) stdDia = 8; + if (mm >= 9 && mm < 11) stdDia = 10; + if (mm >= 11 && mm < 17.5) stdDia = 15; + if (mm >= 17.5 && mm < 22.5) stdDia = 20; + if (mm >= 22.5 && mm < 28.5) stdDia = 25; + if (mm >= 28.5 && mm < 36) stdDia = 32; + if (mm >= 36 && mm < 45) stdDia = 40; + if (mm >= 45 && mm < 57.5) stdDia = 50; + if (mm >= 57.5 && mm < 72.5) stdDia = 65; + if (mm >= 72.5 && mm < 90) stdDia = 80; + if (mm >= 90 && mm < 112.5) stdDia = 100; + if (mm >= 112.5 && mm < 137.5) stdDia = 125; + if (mm >= 137.5 && mm < 162.5) stdDia = 150; + if (mm >= 162.5 && mm < 187.5) stdDia = 175; + if (mm >= 187.5 && mm < 212.5) stdDia = 200; + if (mm >= 212.5 && mm < 237.5) stdDia = 225; + if (mm >= 237.5 && mm < 275) stdDia = 250; + if (mm >= 275 && mm < 325) stdDia = 300; + if (mm >= 325 && mm < 375) stdDia = 350; + if (mm >= 375 && mm < 425) stdDia = 400; + if (mm >= 425 && mm < 475) stdDia = 450; + if (mm >= 475 && mm < 525) stdDia = 500; + if (mm >= 525 && mm < 575) stdDia = 550; + if (mm >= 575 && mm < 625) stdDia = 600; + if (mm >= 625 && mm < 675) stdDia = 650; + if (mm >= 675 && mm < 725) stdDia = 700; + if (mm >= 725 && mm < 775) stdDia = 750; + if (mm >= 775 && mm < 850) stdDia = 800; + if (mm >= 850 && mm < 950) stdDia = 900; + if (mm >= 950 && mm < 1050) stdDia = 1000; + if (mm >= 1050 && mm < 1150) stdDia = 1100; + if (mm >= 1150 && mm < 1250) stdDia = 1200; + if (mm >= 1250 && mm < 1350) stdDia = 1300; + if (mm >= 1350 && mm < 1450) stdDia = 1400; + if (mm >= 1450 && mm < 1550) stdDia = 1500; + if (mm >= 1550 && mm < 1700) stdDia = 1600; + if (mm >= 1700 && mm < 1900) stdDia = 1800; + if (mm >= 1900 && mm < 2100) stdDia = 2000; + if (mm >= 2100 && mm < 2300) stdDia = 2200; + if (mm >= 2300 && mm < 2500) stdDia = 2400; + if (mm >= 2500 && mm < 2700) stdDia = 2600; + if (mm >= 2700 && mm < 2900) stdDia = 2800; + if (mm >= 2900 && mm < 3100) stdDia = 3000; + if (mm >= 3100 && mm < 3300) stdDia = 3200; + if (mm >= 3300 && mm < 3500) stdDia = 3400; + if (mm >= 3500 && mm < 3700) stdDia = 3600; + if (mm >= 3700 && mm < 3900) stdDia = 3800; + if (mm >= 3900 && mm < 4100) stdDia = 4000; + + //for (int i = 0; i < iFlangeCodeList.Count() - 1; i++) + //{ + // if (mm <= iFlangeCodeList[i]) + // return iFlangeCodeList[i]; + //} + + + //return iFlangeCodeList.Last(); + return stdDia; } // public ViewModel.OutflowParas GetBindingData(out string error) { error = ""; ViewModel.OutflowParas _outflowParas = null; - switch (_sharp_type) + if (_link_type == eOutflowLinkStyle.鐩寸嚎鍦嗗姬 && _sharp_type != eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) { - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�: - _outflowParas = _parasControl1.GetBindingData(out error); - break; - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴: - _outflowParas = _parasControl1.GetBindingData(out error); - break; - case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴: - _outflowParas = _parasControl2.GetBindingData(out error); - break; - default: - return null; + if (_sharp_type == eOutflowShapeStyle.涓績鍑哄彛) + { + if (_parasControlArcCenter == null) + 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; } @@ -193,26 +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); - _parasControl1.SetBindingData(paras1); - if (paras2.ShapeStyle == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�) + 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); + paras2.Offset = (int)((_geomBaseInfo.D3 + _sectionBundleInfo.H[8]) / 2 + 0.5); + } + else if (paras3.ShapeStyle == eOutflowShapeStyle.渚ч潰鍑哄彛) + { + paras3.Offset = (int)(((_geomBaseInfo.D3 / 2 + _sectionBundleInfo.H[8]) * 1.6 / 3 / 5) + 1) * 5; } - _parasControl2.SetBindingData(paras2); + _parasControlLine.SetBindingData(paras2); + _parasControlCurve.SetBindingData(paras3); + _parasControlArcCenter.SetBindingData(paras4); + _parasControlArcSide.SetBindingData(paras5); - if (_sharp_type == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�) + 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; } @@ -220,7 +531,14 @@ { comboBoxType.SelectedIndex = 2; } - + if(_link_type == eOutflowLinkStyle.鐩寸嚎鍦嗗姬) + { + checkBox鍦嗗姬杩炴帴.Checked = true; + } + else + { + checkBox鍦嗗姬杩炴帴.Checked = false; + } InitialOutflowStyle(); } @@ -265,16 +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.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) { - _parasControl2.SetBindingData(resp); + if (_sharp_type == eOutflowShapeStyle.涓績鍑哄彛) + { + _parasControlArcCenter.SetBindingData(resp); + } + else if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛) + { + _parasControlArcSide.SetBindingData(resp); + } + } else { - _parasControl1.SetBindingData(resp); + if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + { + _parasControlLine.SetBindingData(resp); + } + else if (_sharp_type == eOutflowShapeStyle.渚ч潰鍑哄彛) + { + _parasControlCurve.SetBindingData(resp); + } + else + { + _parasControlCenter.SetBindingData(resp); + } } } } @@ -292,25 +633,74 @@ { if (comboBoxType.SelectedIndex == 0) { - _sharp_type = DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�; + _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