| | |
| | | using System.IO; |
| | | using System.Text; |
| | | using System.Linq; |
| | | using HydrEngineCSharp; |
| | | using DPumpHydr.WinFrmUI.Volute.ViewModel; |
| | | using HydrEngineCSharp; |
| | | |
| | | namespace DPumpHydr.WinFrmUI.Volute |
| | | { |
| | |
| | | this._occDesign3dCtrl.RefreshSingleSectShape18(para); |
| | | |
| | | this._occDesign2dCtrl.RefreshSingleSectShape18(para); |
| | | |
| | | this._sectAreaDockPanel.SetBindingData(para); |
| | | } |
| | | 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 CreateWaterBody3D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas) |
| | | { |
| | | if (_ctrlSetOutflowStyle == null) |
| | | this._outflowParas = outflowParas; |
| | | 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; |
| | | if(m_theWaterBodyOuterParam != null) |
| | | if (outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 || |
| | | outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0) |
| | | return false; |
| | | |
| | | if (m_theWaterBodyOuterParam != null) |
| | | { |
| | | return EditWaterBody(); |
| | | return EditWaterBody3D(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); |
| | | if (!m_theHydrGeomSplineParam.IsEmpty()) |
| | | |
| | | m_theWaterBodyOuterParam = new WaterBodyOuterParam(); |
| | | |
| | | 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 != null && !m_theHydrGeomSplineParam.IsEmpty()) |
| | | { |
| | | this._occDesign3dCtrl.Create3DWaterBody(m_theWaterBodyOuterParam, m_theHydrGeomSplineParam); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | private bool EditWaterBody() |
| | | private bool CreateWaterBody2D(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); |
| | | if (_ctrlSetOutflowStyle == null || outflowParas == null) |
| | | { |
| | | return false; |
| | | } |
| | | if ( outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 || |
| | | outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0) |
| | | return false; |
| | | |
| | | if (m_theWaterBodyOuterParam != null) |
| | | { |
| | | return EditWaterBody2D(outflowParas); |
| | | } |
| | | |
| | | m_theWaterBodyOuterParam = new WaterBodyOuterParam(); |
| | | |
| | | 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); |
| | | |
| | | this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam); |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | private bool EditWaterBody3D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas) |
| | | { |
| | | if (outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 || |
| | | outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0) |
| | | return false ; |
| | | 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; |
| | | } |
| | | private bool EditWaterBody2D(DPumpHydr.WinFrmUI.Volute.ViewModel.OtuflowParas outflowParas) |
| | | { |
| | | if (outflowParas ==null || outflowParas.Tangent_Top_Right <= 0 || outflowParas.Tangent_Btm_Right <= 0 || |
| | | outflowParas.Tangent_Top_Left <= 0 || outflowParas.Tangent_Btm_Left <= 0) |
| | | return false; |
| | | 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); |
| | | this._occDesign2dCtrl.Create2DWaterBody(m_theWaterBodyOuterParam); |
| | | |
| | | return true; |
| | | } |
| | | } |
| | | } |