tangxu
2024-12-27 9cc5bf68aaab46f33f2b00f8dcef0ab52ced0c41
添加出口口径初始化
已修改8个文件
355 ■■■■■ 文件已修改
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ViewModel/OtuflowParas.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.cs 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/sideCurveExitControl.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/sideLineExitControl.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/导出/ParasTranHelper_V1.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs
@@ -19,6 +19,24 @@
        LogListDockPanel _logListDockPanel = null;
        LayersDockPanel _layersDockPanel = null;
        SectAreaDockPanel _sectAreaDockPanel = null;
        //参数控件
        ctrlHdrBaseInfo _ctrlHdrBaseInfo = null;
        ctrlGeomBaseInfo _ctrlGeomBaseInfo = null;
        ctrlSectionBundleInfo _ctrlSectionBundleInfo = null;
        ctrlSectionShapeInfo18 _ctrlSectionShapeInfo18 = null;
        ctrlSetOutflowParas _ctrlSetOutflowStyle = null;
        ctrlSetOutflowType _ctrlSetOutflowType = null;
        //参数
        ViewModel.HdrBaseInfo _hdrBaseInfo = null;
        ViewModel.GeomBaseInfo _geomBaseInfo = null;
        ViewModel.SectionBundleInfo _sectionBundleInfo = null;
        ViewModel.OtuflowParas _otuflowParas = null;
        ViewModel.eOutflowStyle _outflowType = ViewModel.eOutflowStyle.未知;
        public MainViewPage()
        {
            InitializeComponent();
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs
@@ -4,8 +4,7 @@
using System.IO;
using System.Text;
using System.Linq;
using HydrEngineCSharp;
using DPumpHydr.WinFrmUI.Volute.ViewModel;
using HydrEngineCSharp;
namespace DPumpHydr.WinFrmUI.Volute
{
@@ -61,40 +60,52 @@
            this._occDesign2dCtrl.RefreshSingleSectShape18(para);
            this._sectAreaDockPanel.SetBindingData(para);
        }
        double m_dTopValue = 1.0;
        double m_dBtmValue = 1.0;
        //double m_dTopValue = 1.0;
        //double m_dBtmValue = 1.0;
        private WaterBodyOuterParam m_theWaterBodyOuterParam;
        private bool CreateWaterBody(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas  otuflowParas)
        private bool CreateWaterBody(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            if (_ctrlSetOutflowStyle == null)
            if (_ctrlSetOutflowStyle == null || outflowParas == null)
            {
                return false ;
            }
            
            double dOuterOffset = 0.0;
            double dOuterHigh = 420.0;
            double dOuterRad = 80.0;
            double dOuterTopValue = m_dTopValue;
            double dOuterBtmValue = m_dBtmValue;
            double dH1 = 10;
            double dH2 = 10;
            double m_dRadConner = 8;
            //double dOuterOffset = 0.0;
            //double dOuterHigh = 420.0;
            //double dOuterRad = 80.0;
            //double dOuterTopValue = m_dTopValue;
            //double dOuterBtmValue = m_dBtmValue;
            //double dH1 = 10;
            //double dH2 = 10;
            //double m_dRadConner = 8;
            if(m_theWaterBodyOuterParam != null)
            {
                return EditWaterBody();
                return EditWaterBody(outflowParas);
            }
            m_theWaterBodyOuterParam = new WaterBodyOuterParam();
        m_theWaterBodyOuterParam.SetOuterOffset(dOuterOffset);
            m_theWaterBodyOuterParam.SetOuterHigh(dOuterHigh);
            m_theWaterBodyOuterParam.SetOuterRad(dOuterRad);
            m_theWaterBodyOuterParam.SetTopValue1(dOuterTopValue);
            m_theWaterBodyOuterParam.SetBtmValue1(dOuterBtmValue);
            m_theWaterBodyOuterParam.SetTopValue2(dOuterTopValue);
            m_theWaterBodyOuterParam.SetBtmValue2(dOuterBtmValue);
            m_theWaterBodyOuterParam.SetH1(dH1);
            m_theWaterBodyOuterParam.SetH2(dH2);
            m_theWaterBodyOuterParam.SetRadConner(m_dRadConner);
          var   m_theHydrGeomSplineParam = this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            //m_theWaterBodyOuterParam.SetOuterOffset(dOuterOffset);
            //m_theWaterBodyOuterParam.SetOuterHigh(dOuterHigh);
            //m_theWaterBodyOuterParam.SetOuterRad(dOuterRad);
            //m_theWaterBodyOuterParam.SetTopValue1(dOuterTopValue);
            //m_theWaterBodyOuterParam.SetBtmValue1(dOuterBtmValue);
            //m_theWaterBodyOuterParam.SetTopValue2(dOuterTopValue);
            //m_theWaterBodyOuterParam.SetBtmValue2(dOuterBtmValue);
            //m_theWaterBodyOuterParam.SetH1(dH1);
            //m_theWaterBodyOuterParam.SetH2(dH2);
            //m_theWaterBodyOuterParam.SetRadConner(m_dRadConner);
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
            m_theWaterBodyOuterParam.SetOuterRad(outflowParas.Dia/2);
            m_theWaterBodyOuterParam.SetTopValue1(outflowParas.Tangent_Top_Right);
            m_theWaterBodyOuterParam.SetBtmValue1(outflowParas.Tangent_Btm_Right);
            m_theWaterBodyOuterParam.SetTopValue2(outflowParas.Tangent_Top_Left);
            m_theWaterBodyOuterParam.SetBtmValue2(outflowParas.Tangent_Btm_Left);
            m_theWaterBodyOuterParam.SetH1(outflowParas.H1);
            m_theWaterBodyOuterParam.SetH2(outflowParas.H2);
            m_theWaterBodyOuterParam.SetRadConner(outflowParas.Septalradius);
            var   m_theHydrGeomSplineParam = this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            if (!m_theHydrGeomSplineParam.IsEmpty())
            {
                this._occDesign3dCtrl.Create3DWaterBody(m_theWaterBodyOuterParam, m_theHydrGeomSplineParam);
@@ -103,15 +114,19 @@
            return true;
        }
        private bool EditWaterBody()
        private bool EditWaterBody(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas)
        {
            m_dTopValue += 0.1;
            m_dBtmValue += 0.1;
            m_theWaterBodyOuterParam.SetTopValue1(m_dTopValue);
            m_theWaterBodyOuterParam.SetBtmValue1(m_dBtmValue);
            m_theWaterBodyOuterParam.SetTopValue2(m_dTopValue);
            m_theWaterBodyOuterParam.SetBtmValue2(m_dBtmValue);
           var  m_theHydrGeomSplineParam = this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            m_theWaterBodyOuterParam.SetOuterOffset(outflowParas.Offset);
            m_theWaterBodyOuterParam.SetOuterHigh(outflowParas.Heigh);
            m_theWaterBodyOuterParam.SetOuterRad(outflowParas.Dia / 2);
            m_theWaterBodyOuterParam.SetTopValue1(outflowParas.Tangent_Top_Right);
            m_theWaterBodyOuterParam.SetBtmValue1(outflowParas.Tangent_Btm_Right);
            m_theWaterBodyOuterParam.SetTopValue2(outflowParas.Tangent_Top_Left);
            m_theWaterBodyOuterParam.SetBtmValue2(outflowParas.Tangent_Btm_Left);
            m_theWaterBodyOuterParam.SetH1(outflowParas.H1);
            m_theWaterBodyOuterParam.SetH2(outflowParas.H2);
            m_theWaterBodyOuterParam.SetRadConner(outflowParas.Septalradius);
            var  m_theHydrGeomSplineParam = this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam);
            this._occDesign3dCtrl.Edit3DWaterBody(m_theWaterBodyOuterParam, m_theHydrGeomSplineParam);
            return true;
WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
@@ -12,20 +12,9 @@
        //步骤控件
        StepTreeDockPanel _stepTreeDockPanel = null;
        //参数控件
        ctrlHdrBaseInfo _ctrlHdrBaseInfo = null;
        ctrlGeomBaseInfo _ctrlGeomBaseInfo = null;
        ctrlSectionBundleInfo _ctrlSectionBundleInfo = null;
        ctrlSectionShapeInfo18 _ctrlSectionShapeInfo18 = null;
        ctrlSetOutflowParas _ctrlSetOutflowStyle = null;
        ctrlSetOutflowType _ctrlSetOutflowType = null;
        //参数
        ViewModel.HdrBaseInfo _hdrBaseInfo = null;
        ViewModel.GeomBaseInfo _geomBaseInfo = null;
        ViewModel.SectionBundleInfo _sectionBundleInfo = null;
        ViewModel.OtuflowParas _otuflowParas = null;
        ViewModel.eOutflowStyle _outflowType ;
        /// <summary>
@@ -302,9 +291,11 @@
                    _ctrlSetOutflowStyle = new ctrlSetOutflowParas();
                    _ctrlSetOutflowStyle.Name = "ctrlSetOutflowStyle";
                    _ctrlSetOutflowStyle.OnRefreshShape += CreateWaterBody;
                    _ctrlSetOutflowStyle.InitialParas(_outflowType, _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo);
                }
                _ctrlSetOutflowStyle.SetBindingData(_outflowType);
                _ctrlSetOutflowStyle.SetOutflowStyle(_outflowType);
                _ctrlSetOutflowStyle.ShowPage();
                this._sectAreaDockPanel.RefreshControl();
                this._sectAreaDockPanel.Visible = true;
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/ViewModel/OtuflowParas.cs
@@ -9,12 +9,12 @@
    public class OtuflowParas
    {
        public double Offset { get; set; } //图片中的A  = 0.0;
        public double High { get; set; } //图片中的L = 420.0;
        public double Heigh { get; set; } //图片中的L = 420.0;
        public double Dia { get; set; } //图片中的D4 = 80.0;
        public double TopValue_reight { get; set; } //切线缩放量 = m_dTopValue;
        public double BtmValue_reight { get; set; } //切线缩放量 = m_dBtmValue;
        public double TopValue_left { get; set; } //切线缩放量 = m_dTopValue;
        public double BtmValue_left { get; set; } //切线缩放量 = m_dBtmValue;
        public double Tangent_Top_Right { get; set; } = 1.0; //切线缩放量 = m_dTopValue;
        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 H1 { get; set; } //图片中的H1  = 10;
        public double H2 { get; set; } //图片中的H2 = 10;
        public double Septalradius { get; set; } //隔舌半径r
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/ctrlSetOutflowParas.cs
@@ -9,6 +9,7 @@
using System.Threading.Tasks;
using System.Windows.Forms;
using DPumpHydr.WinFrmUI.Volute.ViewModel;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace DPumpHydr.WinFrmUI.Volute
{
@@ -17,94 +18,131 @@
        public ctrlSetOutflowParas()
        {
            InitializeComponent();
            BuildAllTips();
        }
        eOutflowStyle _stype = eOutflowStyle.未知;
        //ViewModel.OtuflowParas _otuflowParas = null;
        ViewModel.OtuflowParas _otuflowParas = new OtuflowParas() { Offset = 10, High = 420, Dia = 80, TopValue_left = 80, BtmValue_left = 80, BtmValue_reight = 80, TopValue_reight = 80, H1 = 10, H2 = 10, Septalradius = 10 };
        public Func<OtuflowParas, bool> OnRefreshShape = null;
        ViewModel.OtuflowParas _outflowParas = null;
        //控件
        sidelineExitControl _sidelineExitControl = null;
        sideCurveExitControl _sideCurveExitControl = null;
        public void SetBindingData(eOutflowStyle style)
        public void SetOutflowStyle(eOutflowStyle style)
        {
            if(_stype == style)
            if (_stype == style)
                return;
                _stype = style;
               var control =  InitialParasControl( );
            if (control is sidelineExitControl)
            {
                _sidelineExitControl = (sidelineExitControl)control;
            _stype = style;
                _sidelineExitControl.SetBindingData(_otuflowParas);
                if (_stype == eOutflowStyle.中心出口_垂直法兰面流出)
                {
                    _sidelineExitControl.SetA_state(false);
                }
                else
                {
                    _sidelineExitControl.SetA_state(true);
                }
            }
            if (control is sideCurveExitControl)
            {
                _sideCurveExitControl = (sideCurveExitControl)control;
                _sideCurveExitControl.SetBindingData(_otuflowParas);
            }
        }
        public ViewModel.OtuflowParas GetBindingData(out string error)
        {
            error = "";
            if(_stype == eOutflowStyle.侧面出口_直线连接)
            {
                _otuflowParas = _sideCurveExitControl.GetBindingData(out error);
                if(_otuflowParas == null)
                {
                    return null;
                }
            }
            else
            {
                _otuflowParas = _sidelineExitControl.GetBindingData(out error);
                if (_otuflowParas == null)
                {
                    return null;
                }
            }
            return _otuflowParas;
        }
        private Control InitialParasControl( )
        {
            Control newControl = null;
            panel.Controls.Clear();
            switch (_stype)
            {
                case eOutflowStyle.中心出口_垂直法兰面流出:
                    newControl = new sidelineExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238);
                    break;
                    if (_sidelineExitControl == null)
                        _sidelineExitControl = new sidelineExitControl();
                    _sidelineExitControl.SetA_state(false);
                    _sidelineExitControl.Dock = DockStyle.Top;
                    panel.Controls.Add(_sidelineExitControl);
                    return;
                case eOutflowStyle.侧面出口_曲线连接:
                    newControl = new sidelineExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Side-exit-curve.png", 878, 238);
                    break;
                    if (_sidelineExitControl == null)
                        _sidelineExitControl = new sidelineExitControl();
                    _sidelineExitControl.Dock = DockStyle.Top;
                    _sidelineExitControl.SetA_state(true);
                    panel.Controls.Add(_sidelineExitControl);
                    return;
                case eOutflowStyle.侧面出口_直线连接:
                    newControl = new sideCurveExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Side-exit-straight-line.png", 878, 238);
                    break;
                    if (_sideCurveExitControl == null)
                        _sideCurveExitControl = new sideCurveExitControl();
                    _sideCurveExitControl.Dock = DockStyle.Top;
                    panel.Controls.Add(_sideCurveExitControl);
                    return;
                default:
                    throw new ArgumentException("Invalid control type");
            }
        }
            panel.Controls.Clear();
            panel.Controls.Add(newControl);
            newControl.Dock = DockStyle.Top;
            return newControl;
        public void InitialParas(
            eOutflowStyle style,
            ViewModel.HdrBaseInfo  hdrBaseInfo ,
            ViewModel.GeomBaseInfo  geomBaseInfo ,
            ViewModel.SectionBundleInfo  sectionBundleInfo  )
        {
            SetOutflowStyle(style);
            //出口直径标准化
            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);
            double a = 0;
            if (style == eOutflowStyle.中心出口_垂直法兰面流出)
            {
                a = 0;
            }
            else
            {
                a = (int)((geomBaseInfo.D3 + sectionBundleInfo.H[8]) / 2);
            }
            _outflowParas = new OtuflowParas();
            _outflowParas.Offset = a;
            _outflowParas.Heigh = height;
            _outflowParas.H1 = 5;
            _outflowParas.H2 = 5;
            _outflowParas.Dia = GetStdDia(outer_dia);
            _outflowParas.Septalradius = 10;
            if (_stype == eOutflowStyle.侧面出口_直线连接)
            {
                _sideCurveExitControl.SetBindingData(_outflowParas);
            }
            else
            {
                _sidelineExitControl.SetBindingData(_outflowParas);
            }
        }
        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 (mm < iFlangeCodeList[i])
                    return iFlangeCodeList[i];
            }
            return iFlangeCodeList.Last();
        }
        //
        public ViewModel.OtuflowParas GetBindingData(out string error)
        {
            error = "";
            if (_stype == eOutflowStyle.侧面出口_直线连接)
            {
                _outflowParas = _sideCurveExitControl.GetBindingData(out error);
            }
            else
            {
                _outflowParas = _sidelineExitControl.GetBindingData(out error);
            }
            return _outflowParas;
        }
        public Func<OtuflowParas, bool>  OnRefreshShape = null;
        private void BuildAllTips()
        {
@@ -113,7 +151,7 @@
        public void ShowPage()
        {
            OnRefreshShape(_otuflowParas);
            OnRefreshShape(_outflowParas);
        }
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/²ÎÊý¿Ø¼þ/sideCurveExitControl.cs
@@ -7,6 +7,7 @@
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DPumpHydr.WinFrmUI.Volute.ViewModel;
namespace DPumpHydr.WinFrmUI.Volute
{
@@ -28,7 +29,7 @@
            _otuflowParas = otuflowParas;
            //mlTextBoxEditR1.Text = otuflowParas.Offset.ToString();
            //mlTextBoxEditR2.Text = otuflowParas.Offset.ToString();
            mlTextBoxEdit扩散管长度.Text = otuflowParas.High.ToString();
            mlTextBoxEdit扩散管长度.Text = otuflowParas.Heigh.ToString();
            mlTextBoxEdit隔舌圆角半径.Text = otuflowParas.Septalradius.ToString();
            mlTextBoxEdit扩散管出口直径.Text = otuflowParas.Dia.ToString();
            mlTextBoxEdit中心距离.Text = otuflowParas.Offset.ToString();
@@ -40,7 +41,9 @@
            {
                return null;
            }
            _otuflowParas.High = Convert.ToDouble(mlTextBoxEdit扩散管长度.Text);
            if (_otuflowParas == null)
                _otuflowParas = new OtuflowParas();
            _otuflowParas.Heigh = Convert.ToDouble(mlTextBoxEdit扩散管长度.Text);
            _otuflowParas.Septalradius = Convert.ToDouble(mlTextBoxEdit隔舌圆角半径.Text);
            _otuflowParas.Dia = Convert.ToDouble(mlTextBoxEdit扩散管出口直径.Text);
            _otuflowParas.Offset = Convert.ToDouble(mlTextBoxEdit中心距离.Text);
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/²ÎÊý¿Ø¼þ/sideLineExitControl.cs
@@ -29,18 +29,16 @@
                return;
            }
            _otuflowParas = otuflowParas;
            //mlTextBoxEditR1.Text = otuflowParas.Offset.ToString();
            //mlTextBoxEditR2.Text = otuflowParas.Offset.ToString();
            mlTextBoxEdith1.Text = otuflowParas.H1.ToString();
            mlTextBoxEdith2.Text = otuflowParas.H2.ToString();
            mlTextBoxEditL.Text = otuflowParas.High.ToString();
            mlTextBoxEditL.Text = otuflowParas.Heigh.ToString();
            mlTextBoxEditr.Text = otuflowParas.Septalradius.ToString();
            mlTextBoxEditD4.Text = otuflowParas.Dia.ToString();
            mlTextBoxEditA.Text = otuflowParas.Offset.ToString();
            metroTrackBar左上切线缩放量.Value = Convert.ToInt32(otuflowParas.TopValue_left * 100);
            metroTrackBar左下切线缩放量.Value = Convert.ToInt32(otuflowParas.BtmValue_left * 100);
            metroTrackBar右上切线缩放量.Value = Convert.ToInt32(otuflowParas.TopValue_reight * 100);
            metroTrackBar右下切线缩放量.Value = Convert.ToInt32(otuflowParas.BtmValue_reight * 100);
            metroTrackBar左上切线缩放量.Value = Convert.ToInt32(otuflowParas.Tangent_Top_Left * 100);
            metroTrackBar左下切线缩放量.Value = Convert.ToInt32(otuflowParas.Tangent_Btm_Left * 100);
            metroTrackBar右上切线缩放量.Value = Convert.ToInt32(otuflowParas.Tangent_Top_Right * 100);
            metroTrackBar右下切线缩放量.Value = Convert.ToInt32(otuflowParas.Tangent_Btm_Right * 100);
        }
        public ViewModel.OtuflowParas GetBindingData(out string error)
        {
@@ -49,16 +47,18 @@
            {
                return null;
            }
            if (_otuflowParas == null)
                _otuflowParas = new OtuflowParas();
            _otuflowParas.H1 = Convert.ToDouble(mlTextBoxEdith1.Text);
            _otuflowParas.H2 = Convert.ToDouble(mlTextBoxEdith2.Text);
            _otuflowParas.High = Convert.ToDouble(mlTextBoxEditL.Text);
            _otuflowParas.Heigh = Convert.ToDouble(mlTextBoxEditL.Text);
            _otuflowParas.Septalradius = Convert.ToDouble(mlTextBoxEditr.Text);
            _otuflowParas.Dia = Convert.ToDouble(mlTextBoxEditD4.Text);
            _otuflowParas.Offset = Convert.ToDouble(mlTextBoxEditA.Text);
            _otuflowParas.TopValue_left = Convert.ToDouble(metroTrackBar左上切线缩放量.Value) / 100;
            _otuflowParas.BtmValue_left = Convert.ToDouble(metroTrackBar左下切线缩放量.Value) / 100;
            _otuflowParas.TopValue_reight = Convert.ToDouble(metroTrackBar右上切线缩放量.Value) / 100;
            _otuflowParas.BtmValue_reight = Convert.ToDouble(metroTrackBar右下切线缩放量.Value) / 100;
            _otuflowParas.Tangent_Top_Left = Convert.ToDouble(metroTrackBar左上切线缩放量.Value) / 100;
            _otuflowParas.Tangent_Btm_Left = Convert.ToDouble(metroTrackBar左下切线缩放量.Value) / 100;
            _otuflowParas.Tangent_Top_Right = Convert.ToDouble(metroTrackBar右上切线缩放量.Value) / 100;
            _otuflowParas.Tangent_Btm_Right = Convert.ToDouble(metroTrackBar右下切线缩放量.Value) / 100;
            return _otuflowParas;
        }
WinFrmUI/DPumpHydr.WinFrmUI.Volute/µ¼³ö/ParasTranHelper_V1.cs
@@ -11,31 +11,23 @@
    {
        XmlDocument xmlDoc;
        public   bool Save(
             string filePath,
              DPumpHydr.WinFrmUI.Volute.ViewModel.HdrBaseInfo hdrBaseInfo,
                     DPumpHydr.WinFrmUI.Volute.ViewModel.GeomBaseInfo geomBaseInfo,
        DPumpHydr.WinFrmUI.Volute.ViewModel.SectionBundleInfo sectionBundleInfo,
         DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowStyle otuflowType,
         DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas otuflowParas
            )
        public bool Save(
                string filePath,
                DPumpHydr.WinFrmUI.Volute.ViewModel.HdrBaseInfo hdrBaseInfo,
                DPumpHydr.WinFrmUI.Volute.ViewModel.GeomBaseInfo geomBaseInfo,
                DPumpHydr.WinFrmUI.Volute.ViewModel.SectionBundleInfo sectionBundleInfo,
                DPumpHydr.WinFrmUI.Volute.ViewModel.eOutflowStyle otuflowType,
                DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas otuflowParas)
        {
              xmlDoc = new XmlDocument();
            xmlDoc = new XmlDocument();
            XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
            xmlDoc.AppendChild(xmlDeclaration);
            XmlElement rootNode = xmlDoc.CreateElement("root");
            xmlDoc.AppendChild(rootNode);
 
            #region ç‰ˆæœ¬ä¿¡æ¯
            //创建VersionInfo子节点
            XmlNode VersionInfoNode = xmlDoc.CreateElement("VersionInfo");