using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
using DPumpHydr.WinFrmUI.Volute.ViewModel;
|
|
namespace DPumpHydr.WinFrmUI.Volute
|
{
|
public partial class ctrlSetOutflowParas : ParasInfoBaseCtrl
|
{
|
public ctrlSetOutflowParas()
|
{
|
InitializeComponent();
|
|
_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;
|
};
|
_parasControlCenter.Dock = DockStyle.Top;
|
|
_parasControlLine = new SetOutflowParasCtrl2() { Name = "SetOutflowParasCtrlLine" };
|
_parasControlLine.OnRefreshShape += (para) =>
|
{
|
if (OnRefreshShape2D != null)
|
return OnRefreshShape2D(para);
|
else
|
return false;
|
};
|
_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) =>
|
{
|
if (this.OnMoveSectPosi != null)
|
{
|
OnMoveSectPosi.Invoke(sect_index, posi);
|
}
|
};
|
|
|
|
BuildAllTips();
|
}
|
|
public Func<ViewModel.OutflowParas, ViewModel.OutflowParasCalcReponse> OnRefreshShape3D = null;
|
public Func<ViewModel.OutflowParas, bool> OnRefreshShape2D = 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
|
{
|
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.中心出口:
|
metroTile出口图片.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238);
|
_parasControlCenter.SetA_state(false);
|
tabPage1.Controls.Add(_parasControlCenter);
|
return;
|
case DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.侧面出口:
|
metroTile出口图片.BackgroundImage = GlobalResource.BuildImage("Side-exit-curve.png", 878, 238);
|
_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(_parasControlLine);
|
return;
|
default:
|
throw new ArgumentException("Invalid control type");
|
}
|
}
|
|
ViewModel.HdrBaseInfo _hdrBaseInfo = null;
|
ViewModel.GeomBaseInfo _geomBaseInfo = null;
|
ViewModel.SectionBundleInfo _sectionBundleInfo = null;
|
public int InitialParas(
|
ViewModel.HdrBaseInfo hdrBaseInfo,
|
ViewModel.GeomBaseInfo geomBaseInfo,
|
ViewModel.SectionBundleInfo sectionBundleInfo,
|
ViewModel.OutflowParas outflowParas)
|
{
|
if (IsSameBaseParas(hdrBaseInfo, geomBaseInfo, sectionBundleInfo))
|
{//判断是否修改了
|
return 0;//0表示没有变化
|
}
|
this._hdrBaseInfo = hdrBaseInfo;
|
this._geomBaseInfo = geomBaseInfo;
|
this._sectionBundleInfo = sectionBundleInfo;
|
|
if(outflowParas != null)
|
{
|
_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;
|
|
}
|
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;
|
if (_link_type == eOutflowLinkStyle.直线圆弧 && _sharp_type != eOutflowShapeStyle.侧面出口_直线连接)
|
{
|
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;
|
}
|
|
public void SetBindingData(ViewModel.OutflowParas paras)
|
{
|
if (paras == null)
|
return;
|
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.侧面出口)
|
{
|
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.侧面出口)
|
{
|
comboBoxType.SelectedIndex = 1;
|
}
|
else if (_sharp_type == DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowShapeStyle.侧面出口_直线连接)
|
{
|
comboBoxType.SelectedIndex = 2;
|
}
|
if(_link_type == eOutflowLinkStyle.直线圆弧)
|
{
|
checkBox圆弧连接.Checked = true;
|
}
|
else
|
{
|
checkBox圆弧连接.Checked = false;
|
}
|
InitialOutflowStyle();
|
}
|
|
|
|
|
private void BuildAllTips()
|
{
|
metroToolTip第六步提示.SetToolTip(this.metroTile出口图片, "断面图");
|
}
|
|
public void ShowPage(DPumpHydr.ViewModel.eWizardStepDiretion step_direction)
|
{
|
//if (step_direction == DPumpHydr.ViewModel.eWizardStepDiretion.前进)
|
//{
|
// var resp = OnRefreshShape3D(_outflowParas);
|
// if (resp != null)
|
// {
|
// if (_stype == eOutflowStyle.侧面出口_直线连接)
|
// {
|
// _sideCurveExitControl.SetBindingData(resp);
|
// }
|
// else
|
// {
|
// _sidelineExitControl.SetBindingData(resp);
|
// }
|
// }
|
//}
|
//else
|
//{
|
|
//}
|
}
|
|
|
|
private void mBtn更新模型_Click(object sender, EventArgs e)
|
{
|
RefreshModel();
|
}
|
|
private void RefreshModel()
|
{
|
string error;
|
if(OnRefreshShape3D == null)
|
{
|
return;
|
}
|
var resp = OnRefreshShape3D(GetBindingData(out error));
|
if (resp != null)
|
{
|
if (_link_type == eOutflowLinkStyle.直线圆弧 && _sharp_type != eOutflowShapeStyle.侧面出口_直线连接)
|
{
|
if (_sharp_type == eOutflowShapeStyle.中心出口)
|
{
|
_parasControlArcCenter.SetBindingData(resp);
|
}
|
else if (_sharp_type == eOutflowShapeStyle.侧面出口)
|
{
|
_parasControlArcSide.SetBindingData(resp);
|
}
|
|
}
|
else
|
{
|
if (_sharp_type == eOutflowShapeStyle.侧面出口_直线连接)
|
{
|
_parasControlLine.SetBindingData(resp);
|
}
|
else if (_sharp_type == eOutflowShapeStyle.侧面出口)
|
{
|
_parasControlCurve.SetBindingData(resp);
|
}
|
else
|
{
|
_parasControlCenter.SetBindingData(resp);
|
}
|
}
|
}
|
}
|
public Action<int, double> OnMoveSectPosi = null;
|
internal void SetSect9Posi(double sect9Posi)
|
{
|
ctrlSection910Posi1.SetSect9Posi(sect9Posi);
|
}
|
internal void SetSect10Posi(double sect9Posi)
|
{
|
ctrlSection910Posi1.SetSect10Posi(sect9Posi);
|
}
|
|
private void comboBoxType_SelectedIndexChanged(object sender, EventArgs e)
|
{
|
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.侧面出口;
|
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();
|
}
|
|
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();
|
}
|
}
|
}
|