From 9cc5bf68aaab46f33f2b00f8dcef0ab52ced0c41 Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期五, 27 十二月 2024 10:17:12 +0800
Subject: [PATCH] 添加出口口径初始化

---
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/sideLineExitControl.cs  |   24 ++--
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ViewModel/OtuflowParas.cs    |   10 
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs                   |   18 +++
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.cs       |  168 +++++++++++++++++----------
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/参数控件/sideCurveExitControl.cs |    7 
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs          |   19 --
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs               |   83 ++++++++-----
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/导出/ParasTranHelper_V1.cs          |   26 +--
 8 files changed, 206 insertions(+), 149 deletions(-)

diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs
index 0c27047..e153649 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage.cs
+++ b/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();
diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs
index 4ace27c..ea04f60 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_Occ.cs
+++ b/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;
diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
index 4ee527f..280b40a 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
+++ b/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;
diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OtuflowParas.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OtuflowParas.cs"
index 955f216..90b5efb 100644
--- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ViewModel/OtuflowParas.cs"
+++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/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
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 d9b5417..b111c75 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"
@@ -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);
         }
 
 
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/sideCurveExitControl.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/sideCurveExitControl.cs"
index ea43bfe..72895b7 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/sideCurveExitControl.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/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鎵╂暎绠″嚭鍙g洿寰�.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鎵╂暎绠″嚭鍙g洿寰�.Text);
             _otuflowParas.Offset = Convert.ToDouble(mlTextBoxEdit涓績璺濈.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/sideLineExitControl.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/sideLineExitControl.cs"
index 5b71eb4..06d4698 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/sideLineExitControl.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/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;
 
         }
diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\257\274\345\207\272/ParasTranHelper_V1.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\257\274\345\207\272/ParasTranHelper_V1.cs"
index 98712c4..c3079c2 100644
--- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\257\274\345\207\272/ParasTranHelper_V1.cs"
+++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\257\274\345\207\272/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");

--
Gitblit v1.9.3