using System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; using System.Text; using System.Drawing; using HydrEngineCSharp; using DPumpHydr.WinFrmUI.RLT.Native; using DPumpHydr.WinFrmUI.RLT.Docking.Crown; using DPumpHydr.WinFrmUI.Volute.TempCtrl; namespace DPumpHydr.WinFrmUI.Volute { public partial class MainViewPage : System.Windows.Forms.UserControl { /// /// 蜗壳参数导出 /// public void ExportXmlFile() { //if (_hdrBaseInfo == null) //{ // MessageBox.Show("您还没有完成定义参数!请定义完成后在进行导出!(至少完成第三步)"); // return; //} var currentStepID = this._stepTreeDockPanel.CurrentStepID; if (_hdrBaseInfo == null) { if (currentStepID == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { if (!SaveParaStep1()) { MessageBox.Show("您还没有完成定义参数!请该界面全部输入完成后在进行导出!"); return; } if (_sectionBundleInfo == null) { _sectionBundleInfo = new ViewModel.SectionBundleInfo(); _sectionBundleInfo.BaseWidth = _geomBaseInfo.B3; _sectionBundleInfo.BaseCircleRadius = _geomBaseInfo.D3 / 2; _sectionBundleInfo.ResetAllParas(_hdrBaseInfo, _geomBaseInfo); } } } #region 暂时需要导出目前页面的值,并没有进行判断,测试使用 if (currentStepID == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { if (!SaveParaStep1()) return ; } else if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full) { if (!SaveParaStep2()) return ; } else if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { if (!SaveParaStep3()) return ; } #endregion SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "导出蜗壳信息"; dlg.FileName = "蜗壳信息.xml"; dlg.Filter = "xml文件 (*.xml)|*.xml"; if (dlg.ShowDialog() != DialogResult.OK) return; new DPumpHydr.WinFrmUI.VoluteXmlParasTranHelper().Save( dlg.FileName, _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo, _outflowParas, this._bodyThickness); } /// /// 蜗壳参数导入 /// public void ImportXmlFile() { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "导入蜗壳信息"; dlg.FileName = "蜗壳信息.xml"; dlg.Filter = "xml文件 (*.xml)|*.xml"; if (dlg.ShowDialog() != DialogResult.OK) return; var ret = new DPumpHydr.WinFrmUI.VoluteXmlParasTranHelper().Read( dlg.FileName, out _hdrBaseInfo, out _geomBaseInfo, out _sectionBundleInfo, out _outflowParas, out this._bodyThickness); if(ret) { this._occDesign2dCtrl.ClearAll(); this._occDesign3dCtrl.ClearAll(); #region 第一步 if (_hdrBaseInfo != null ) { if (_ctrlHdrBaseInfo == null) { _ctrlHdrBaseInfo = new ctrlHdrBaseInfo(); _ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo"; } _ctrlHdrBaseInfo.SetBindingData(_hdrBaseInfo); _ctrlHdrBaseInfo.SetBindingData(_geomBaseInfo); _ctrlHdrBaseInfo.SaveHistoryParas(_hdrBaseInfo, _geomBaseInfo); } #endregion #region 第2步 断面总览 if (_sectionBundleInfo != null) { if (_ctrlSectionBundleInfo == null) { _ctrlSectionBundleInfo = new ctrlSectionBundleInfo(); _ctrlSectionBundleInfo.Name = "ctrlSectionBaseInfo"; _ctrlSectionBundleInfo.OnRefreshShape += RefreshSectShapeWhole18; _ctrlSectionBundleInfo.OnHightLightSectCurve += HightLightSectCurve; } _ctrlSectionBundleInfo.ShowPage(_hdrBaseInfo, _geomBaseInfo, DPumpHydr.ViewModel.eWizardStepDiretion.前进,true); _ctrlSectionBundleInfo.RefreshAllSectPara(_sectionBundleInfo); RefreshSectShapeWhole18(_sectionBundleInfo); } #endregion #region 出水面类型选择 //if (_outflowType != ViewModel.eOutflowStyle.未知) //{ // if (_ctrlSetOutflowType == null) // { // _ctrlSetOutflowType = new ctrlSetOutflowType(); // _ctrlSetOutflowType.Name = "ctrlSetOutflowDim"; // } // this._ctrlSetOutflowType.SetBindingData(_outflowType); //} #endregion #region 出水面参数 if (_outflowParas != null) { if (_ctrlSetOutflowParas == null) { _ctrlSetOutflowParas = new ctrlSetOutflowParas(); _ctrlSetOutflowParas.Name = "ctrlSetOutflowStyle"; _ctrlSetOutflowParas.OnRefreshShape2D += RefreshWaterBody2D; _ctrlSetOutflowParas.OnRefreshShape3D += RefreshWaterBody3D; _ctrlSetOutflowParas.InitialParas( _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo); } //CreateWaterBody2D(_outflowParas); RefreshWaterBody3D(_outflowParas); _ctrlSetOutflowParas.SetBindingData( _outflowParas); #region 加厚 if (_bodyThickness>0) { Rbtn数据导出STP.Visible = true; Rbtn数据导出IGS.Visible = true; if (_ctrlThicknessParas == null) { _ctrlThicknessParas = new ctrlThicknessParas(); _ctrlThicknessParas.Name = "ctrlThicknessParas"; _ctrlThicknessParas.OnRefreshShape += (houdu) => { this._bodyThickness = houdu; this._occDesign3dCtrl.BuildThicknessBody(houdu); }; _ctrlThicknessParas.InitialParas(_bodyThickness); this._occDesign3dCtrl.BuildThicknessBody(_bodyThickness); } } #endregion } #endregion } } /// /// 蜗壳参数导出 /// public void ExportStpFile() { if (_hdrBaseInfo == null) { MessageBox.Show("您还没有完成定义参数!请定义完成后在进行导出!(至少完成第三步)"); return; } SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "导出蜗壳"; dlg.FileName = "蜗壳.stp"; dlg.Filter = "stp文件 (*.stp)|*.stp"; if (dlg.ShowDialog() == DialogResult.OK) { this._occDesign3dCtrl.ExportThicknessBody(dlg.FileName.Replace(".stp", "_body.stp"), FileType.ESTEPFILE); this._occDesign3dCtrl.ExportWaterBodyFile(dlg.FileName.Replace(".stp","_water.stp"), FileType.ESTEPFILE); new DPumpHydr.WinFrmUI.VoluteXmlParasTranHelper().Save( dlg.FileName.Replace(".stp", ".xml"), _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo, _outflowParas, this._bodyThickness); } } /// /// 蜗壳参数导出 /// public void ExportIgsFile() { if (_hdrBaseInfo == null) { MessageBox.Show("您还没有完成定义参数!请定义完成后在进行导出!(至少完成第三步)"); return; } SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "导出蜗壳"; dlg.FileName = "蜗壳.igs"; dlg.Filter = "igs文件 (*.igs)|*.igs"; if (dlg.ShowDialog() == DialogResult.OK) { this._occDesign3dCtrl.ExportThicknessBody(dlg.FileName.Replace(".igs", "_body.igs"), FileType.EIGESFILE); this._occDesign3dCtrl.ExportWaterBodyFile(dlg.FileName.Replace(".igs", "_water.igs"), FileType.EIGESFILE); new DPumpHydr.WinFrmUI.VoluteXmlParasTranHelper().Save( dlg.FileName.Replace(".stp", ".igs"), _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo, _outflowParas, this._bodyThickness); } } } }