using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using HydrEngineCSharp;
|
|
namespace DPumpHydr.WinFrmUI.Volute
|
{
|
public partial class OccDesign3DCtrl: OccDesignBaseCtrl
|
{
|
public OccDesign3DCtrl()
|
{
|
this._is3D = true ;
|
}
|
public override void Initial()
|
{
|
// 创建时的代码
|
pDisplayView = new HydrEngineCSharp.CDisplayView();
|
|
pDisplayView.InitOCCDraw();
|
IntPtr hwnd = this.Handle;
|
|
// 初始化更新代码
|
pDisplayView.InitialUpdateOCC((uint)hwnd, this._is3D);
|
|
bool bSucc = pDisplayView.BeginTurbopumpTopoShape(DPumpHydr.WinFrmUI.Volute.GlobalParas.RootTopoShapeName);
|
}
|
|
|
|
#region 加厚
|
/// <summary>
|
/// 加厚
|
/// </summary>
|
/// <param name="dThickness"></param>
|
public void BuildThicknessBody(double dThickness)
|
{
|
HydrProperties theHydrProperties = new HydrProperties();
|
theHydrProperties.SetShapeGuid(DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyShapeName);
|
theHydrProperties.SetShapeColor(
|
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.R,
|
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.G,
|
DPumpHydr.WinFrmUI.Volute.GlobalParas.ThicknessBodyColor.B, 256);
|
|
ToolTips theToolTips = pDisplayView.buildThicknessBody(theHydrProperties, dThickness);
|
if (theToolTips != null)
|
{
|
//string str = theToolTips.GetToolTips();
|
Invalidate(true);
|
pDisplayView.FitAll3DViews(true);
|
}
|
if(theToolTips.GetTipsId() != 1)
|
{
|
MessageBox.Show(theToolTips.GetToolTips(), "加厚提示");
|
}
|
}
|
public void SetThicknessBodyVisible(bool isVisible)
|
{
|
if (isVisible)
|
pDisplayView.ShowTopoShape(TopoTypeDisplay.EThicknessBody);
|
else
|
pDisplayView.HideTopoShape(TopoTypeDisplay.EThicknessBody);
|
}
|
public bool IsThicknessBodyVisible
|
{
|
get
|
{
|
return pDisplayView.IsShowTopoShape(TopoTypeDisplay.EThicknessBody);
|
}
|
set
|
{
|
if (value)
|
pDisplayView.ShowTopoShape(TopoTypeDisplay.EThicknessBody);
|
else
|
pDisplayView.HideTopoShape(TopoTypeDisplay.EThicknessBody);
|
}
|
}
|
|
|
#endregion
|
|
|
public void SetWaterBodyVisible(bool isVisible)
|
{
|
if (isVisible)
|
pDisplayView.ShowTopoShape(TopoTypeDisplay.EWaterBody);
|
else
|
pDisplayView.HideTopoShape(TopoTypeDisplay.EWaterBody);
|
}
|
public bool IsWaterBodyVisible
|
{
|
get
|
{
|
return pDisplayView.IsShowTopoShape(TopoTypeDisplay.EWaterBody);
|
}
|
set
|
{
|
if (value)
|
pDisplayView.ShowTopoShape(TopoTypeDisplay.EWaterBody);
|
else
|
pDisplayView.HideTopoShape(TopoTypeDisplay.EWaterBody);
|
}
|
}
|
//设置透明度
|
public void setWaterBodyOpacity(int nRad, int nGreen, int nBlue, int nAlpha)
|
{
|
pDisplayView.setWaterBodyClr(nRad, nGreen, nBlue, nAlpha);
|
}
|
|
|
public bool ExportWaterBodyFile(string aFileName, HydrEngineCSharp.FileType nFileType)
|
{
|
return pDisplayView.SaveWaterBody(aFileName, nFileType);
|
}
|
|
public bool ExportThicknessBody(string aFileName, HydrEngineCSharp.FileType nFileType)
|
{
|
return pDisplayView.SaveThicknessBody(aFileName, nFileType);
|
}
|
|
public bool ExportWaterAndThicknessBodyFile(string aFileName, HydrEngineCSharp.FileType nFileType)
|
{
|
return pDisplayView.SaveWaterAndThicknessBody(aFileName, nFileType);
|
}
|
|
public double GetSectArea9(double ratio)
|
{
|
return pDisplayView.getAreabySepOuter(9, ratio);
|
}
|
|
public double GetSectArea10(double ratio)
|
{
|
return pDisplayView.getAreabySepOuter(10, ratio);
|
}
|
|
}
|
}
|