tx
2025-04-14 5fc444fd4e3a7f94fed8c848211e52012d6c522f
WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/OccDesignBaseCtrl.cs
@@ -41,7 +41,10 @@
        }
        public virtual void SetDimVisible(bool isVisible)
        {
        }
        protected void OnMouseDown(object sender, MouseEventArgs e)
@@ -155,8 +158,7 @@
            else
            {
                return EditSectShape18(bundle);
            }
            }
        }
        protected double _sectStartAngle = -HydrDisplayEngineBridge.PI_4;
        public double SectStartAngle
@@ -187,7 +189,7 @@
            {
                var theSectionParam = bundle.ToSectionShapePara(i);
                double dGama_Left, dGama_Right, dH, dR_out,   dBaseWidth, dBaseCircleRadius;
                double dGama_Left, dGama_Right, dH, dR_out, dBaseWidth, dBaseCircleRadius;
                dGama_Left = theSectionParam.Gama_Left;
                dGama_Right = theSectionParam.Gama_Right;
                dH = theSectionParam.H;
@@ -350,12 +352,27 @@
        }
        /// <summary>
        ///
        /// 显示/隐藏1-8断面
        /// </summary>
        /// <param name="isVisible"></param>
        public void SetAllSectionCurveVisible(bool isVisible)
        {
            for (int i = 8; i >= 1; i--)
            {
                string wstrShapeNameI = string.Format("SectShape_{0}", i);
                if (isVisible)
                    pDisplayView.showVoluteCurve(wstrShapeNameI);
                else
                    pDisplayView.hideVoluteCurve(wstrShapeNameI);
            }
        }
        /// <summary>
         /// 显示/隐藏9、10断面
         /// </summary>
         /// <param name="isVisible"></param>
        public void SetAllSection910CurveVisible(bool isVisible)
        {
            for (int i = 10; i >= 9; i--)
            {
                string wstrShapeNameI = string.Format("SectShape_{0}", i);
                if (isVisible)
@@ -386,7 +403,37 @@
        #region 水体
        public bool Create2DWaterBody(HydrEngineCSharp.WaterBodyOuterArcParam pHydrGeomArcCurve)
        {
            if (this._is3D)
                return false;
            ToolTips theToolTips = this.pDisplayView.build2DMidCurve(pHydrGeomArcCurve);
            if (theToolTips == null)
                return false;
            Invalidate(true);
            pDisplayView.FitAll3DViews(true);
            pDisplayView.set2DMidCurveClr(
 DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBoudaryColor.R,
 DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBoudaryColor.G,
 DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBoudaryColor.B);
            if (theToolTips.GetTipsId() == 1)
            {
                return true;
            }
            else
            {
                pDisplayView.ClearTopoShape(TopoTypeDisplay.E2DMidCurve);
                MessageBox.Show(theToolTips.GetToolTips(), "2D提示");
                return false;
            }
        }
        public bool Create2DWaterBody(HydrEngineCSharp.WaterBodyOuterSpParam pHydrGeomCurve)
        {
            if (this._is3D)
@@ -412,6 +459,8 @@
            }
            else
            {
                pDisplayView.ClearTopoShape(TopoTypeDisplay.E2DMidCurve);
                MessageBox.Show(theToolTips.GetToolTips(), "2D提示");
                return false  ;
            }
        }
@@ -431,14 +480,39 @@
            if (pDisplayView.hasBuildThicknessBody())
                pDisplayView.ClearTopoShape(TopoTypeDisplay.EThicknessBody);
           var tt = pDisplayView.buildWaterBody(theHydrProperties, pHydrGeomCurve);
            if (tt.GetTipsId() != 1)
            {
                MessageBox.Show(tt.GetToolTips(), "3D提示");
            }
            Invalidate(true);
            pDisplayView.FitAll3DViews(true);
            return tt;
        }
        public HydrEngineCSharp.ToolTips Create3DWaterBody(HydrEngineCSharp.WaterBodyOuterArcParam pHydrGeomArcCurve)
        {
            if (!this._is3D)
                return null;
            HydrProperties theHydrProperties = new HydrProperties();
            theHydrProperties.SetShapeGuid(DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyShapeName);
            theHydrProperties.SetShapeColor(
             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.R,
             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.G,
             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.B, 256);
            if (pDisplayView.hasBuildThicknessBody())
                pDisplayView.ClearTopoShape(TopoTypeDisplay.EThicknessBody);
            var tt = pDisplayView.buildWaterBody(theHydrProperties, pHydrGeomArcCurve);
            if (tt.GetTipsId() != 1)
            {
                MessageBox.Show(tt.GetToolTips(), "3D提示");
            }
            Invalidate(true);
            pDisplayView.FitAll3DViews(true);
            return tt;
        }
        public HydrEngineCSharp.ToolTips Edit3DWaterBody(HydrEngineCSharp.WaterBodyOuterSpParam pHydrGeomCurve)
        {
            if (!this._is3D)
@@ -451,7 +525,30 @@
                return null;
            if (tt.GetTipsId() != 1)
            {
                pDisplayView.ClearTopoShape(TopoTypeDisplay.EWaterBody);
                pDisplayView.FitAll3DViews(true);
                MessageBox.Show(tt.GetToolTips(), "3D提示");
            }
            Invalidate(true);
            return tt;
        }
        public HydrEngineCSharp.ToolTips Edit3DWaterBody(HydrEngineCSharp.WaterBodyOuterArcParam pHydrGeomArcCurve)
         {
            if (!this._is3D)
                return null;
            if (pDisplayView.hasBuildThicknessBody())
                pDisplayView.ClearTopoShape(TopoTypeDisplay.EThicknessBody);
            var tt = pDisplayView.rebuildWaterBody(pHydrGeomArcCurve);
            if (tt == null)
                return null;
            if (tt.GetTipsId() != 1)
            {
                pDisplayView.ClearTopoShape(TopoTypeDisplay.EWaterBody);
                pDisplayView.FitAll3DViews(true);
                MessageBox.Show(tt.GetToolTips(), "3D提示");
            }
            Invalidate(true);