using HydrEngineCSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace DPumpHydr.OpenFwUI.Volute { public partial class OccDesign3DCtrl : DPumpHydr.OpenFwUI.Volute.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.OpenFwUI.Volute.GlobalParas.RootTopoShapeName); } #region 加厚 /// /// 加厚 /// /// public void BuildThicknessBody(double dThickness) { HydrProperties theHydrProperties = new HydrProperties(); theHydrProperties.SetShapeGuid(DPumpHydr.OpenFwUI.Volute.GlobalParas.ThicknessBodyShapeName); theHydrProperties.SetShapeColor( DPumpHydr.OpenFwUI.Volute.GlobalParas.ThicknessBodyColor.R, DPumpHydr.OpenFwUI.Volute.GlobalParas.ThicknessBodyColor.G, DPumpHydr.OpenFwUI.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); } } }