using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Drawing;
using HydrEngineCSharp;
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)
return;
if (_ctrlHdrBaseInfo == null)
{
_ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
_ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo";
}
_ctrlHdrBaseInfo.SetBindingData(_hdrBaseInfo);
_ctrlHdrBaseInfo.SetBindingData(_geomBaseInfo);
_ctrlHdrBaseInfo.SaveHistoryParas(_hdrBaseInfo, _geomBaseInfo);
_stepTreeDockPanel.SetFocusedNode(this._stepTreeDockPanel.Step_ID_Hdr_Base_Info);
#endregion
#region 第2步 断面总览
if (_sectionBundleInfo == null)
return;
CreateSectionStepCtrl();
DockStepParaCtrl(_ctrlSectionBundleInfo);
if(_ctrlSectionBundleInfo != null)
{
_ctrlSectionBundleInfo.SetBindingData(_sectionBundleInfo);
}
_ctrlSectionBundleInfo.ShowPage(_hdrBaseInfo, _geomBaseInfo,
DPumpHydr.ViewModel.eWizardStepDiretion.前进, false);
_ctrlSectionBundleInfo.RefreshAllSectPara(_sectionBundleInfo);
RefreshSectShapeWhole18(_sectionBundleInfo);
_stepTreeDockPanel.SetFocusedNode(this._stepTreeDockPanel.Step_ID_Section18_Full);
#endregion
#region 出水面参数
if (_outflowParas == null)
return;
CreateOutflowStepCtrl();
DockStepParaCtrl(_ctrlSetOutflowParas);
_ctrlSetOutflowParas.Isxml = true;
InitilOutflowStepCtrl(this._stepTreeDockPanel.Step_ID_Section18_Full);
this._occDesign2dCtrl.SetAllSectionCurveVisible(false);
this._occDesign3dCtrl.SetAllSectionCurveVisible(false);
_stepTreeDockPanel.SetFocusedNode(this._stepTreeDockPanel.Step_ID_Outflow_Paras);
#endregion
#region 加厚
if (_bodyThickness < 1)
return;
InitilThicknessStepCtrl(this._stepTreeDockPanel.Step_ID_Outflow_Paras,_bodyThickness);
DockStepParaCtrl(_ctrlThicknessParas);
_stepTreeDockPanel.SetFocusedNode(this._stepTreeDockPanel.Step_ID_Thickness);
GoNextStep();
#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);
}
}
}
}