From 62596f5885f056a4f7a4e51918dad99a67d8e7df Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期日, 03 十一月 2024 09:32:36 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/DPump/Hydr/Desktop.V1.1

---
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_OcctDemo.cs |  285 ++------------------------------------------------------
 1 files changed, 12 insertions(+), 273 deletions(-)

diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_OcctDemo.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_OcctDemo.cs
index 80e38a7..35887b0 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_OcctDemo.cs
+++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_OcctDemo.cs
@@ -1,285 +1,24 @@
-锘縰sing DevExpress.XtraEditors;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
 using System.Windows.Forms;
-using GCOCC;
 using System.IO;
 using System.Text;
+using System.Linq;
 
-namespace HydrCAD.WinFrmUI.Impeller
+namespace DPumpHydr.WinFrmUI.Volute
 {
-    public partial class MainViewPage : TabbedMdiXtraForm
-    { 
-        GCOCC_Point3d ShroundLine1Start;
-        GCOCC_Point3d ShroundLine1End;
-        GCOCC_Point3d ShroundLine2Control;
-        GCOCC_Point3d ShroundLine2End;
-        GCOCC_Point3d ShroundLine3End;
-        GCOCC_Point3d OutletLineEnd;
-        GCOCC_Point3d InletLineStart;
-        GCOCC_Point3d HubLine1End;
-        GCOCC_Point3d HubLine2Control;
-        GCOCC_Point3d HubLine2End;
+    public partial class MainViewPage
+    {
+        OccDesignCtrl _occDesignCtrl;
 
-        GCOCC.LineData ShroundLine1;
-        GCOCC.LineData ShroundLine2;
-        GCOCC.LineData ShroundLine3;
-
-        GCOCC.LineData OutletLine;
-        GCOCC.LineData InletLine;
-
-        GCOCC.LineData HubLine1;
-        GCOCC.LineData HubLine2;
-        GCOCC.LineData HubLine3;
-
-        List<GCOCC.LineData> lines = new List<GCOCC.LineData>();
-
-
-
-
-
-        //GCDemo data;
-        private void InitOcctDemo()
+        private void InitialOcccCtrl()
         {
-            //data = new GCDemo();
-            ShroundLine1Start = new GCOCC_Point3d(0, 50, 0);
-            ShroundLine1End = new GCOCC_Point3d(6.43625613, 50, 0);
-            ShroundLine2Control = new GCOCC_Point3d(15.43528266, 53.2753778, 0);
-            ShroundLine2End = new GCOCC_Point3d(20.22356467, 61.56892551, 0);
-            ShroundLine3End = new GCOCC_Point3d(27, 100, 0);
-            OutletLineEnd = new GCOCC_Point3d(45, 100, 0);
-            InletLineStart = new GCOCC_Point3d(0, 15, 0);
-            HubLine1End = new GCOCC_Point3d(12.57235685, 15, 0);
-            HubLine2Control = new GCOCC_Point3d(37.96045984, 25.90758985, 0);
-            HubLine2End = new GCOCC_Point3d(47.52439057, 51.83175847, 0);
-
-            ShroundLine1 = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { ShroundLine1Start, ShroundLine1End });
-            ShroundLine2 = new GCOCC.LineData(LineType.Arc, new GCOCC_Point3d[] { ShroundLine1End, ShroundLine2Control, ShroundLine2End });
-            ShroundLine3 = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { ShroundLine2End, ShroundLine3End });
-
-            OutletLine = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { ShroundLine3End, OutletLineEnd });
-            InletLine = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { InletLineStart, ShroundLine1Start });
-
-            HubLine1 = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { InletLineStart, HubLine1End });
-            HubLine2 = new GCOCC.LineData(LineType.Arc, new GCOCC_Point3d[] { HubLine1End, HubLine2Control, HubLine2End });
-            HubLine3 = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { HubLine2End, OutletLineEnd });
-
-
-            //Read(System.IO.Path.Combine(@"D:\WorkData\Pump3D\DPumpHdrV1.0\out", "GridPints.txt"));
-
-
-            _occViewer2d = new HydrCAD.WinFrmUI.Viewer.OccBaseViewer();
-            _occViewer2d.Dock = DockStyle.Fill;
-            _occViewer2d.Name = "OCCViewer2d1";
-            this.Controls.Add(_occViewer2d);
+            _occDesignCtrl = new OccDesignCtrl();
+            _occDesignCtrl.Size = new System.Drawing.Size(1000, 1000);
+            _occDesignCtrl.Name = "OccDesignCtrl";
+            _occDesignCtrl.Dock = DockStyle.Fill;
+            this.panelParas.Controls.Add( _occDesignCtrl );
         }
-
-        /// <summary>
-        /// 杞撮潰鎶曞奖鍥�
-        /// </summary>
-        public void CreateAxialProjectionDiagram()
-        {
-            lines.Add(ShroundLine1);
-            lines.Add(ShroundLine2);
-            lines.Add(ShroundLine3);
-            lines.Add(OutletLine);
-            lines.Add(InletLine);
-            lines.Add(HubLine1);
-            lines.Add(HubLine2);
-            lines.Add(HubLine3);
-            _occViewer2d.View.Draw2dLines(lines.ToArray(), 1);
-        }
-        List<GCOCC.LineData> _passLines = null;
-        /// <summary>
-        /// 杩囨祦鏂潰
-        /// </summary>
-        public void CreatCrossSection()
-        {
-            int flow_num = 10;
-
-            _passLines = new List<GCOCC.LineData>();
-            List<GCOCC.LineData> shroundLines = new List<GCOCC.LineData> { ShroundLine1, ShroundLine2, ShroundLine3 };
-            List<GCOCC.LineData> hubLines = new List<GCOCC.LineData> { HubLine1, HubLine2, HubLine3 };
-            var circles = GCOCC_MathMethord.GetMidArcBetweenTwoGroupLinesTest(shroundLines.ToArray(), hubLines.ToArray(), flow_num);
-            List<GCOCC.GCOCC_Point2d> starts = new List<GCOCC_Point2d>();
-            List<GCOCC.GCOCC_Point2d> mids = new List<GCOCC_Point2d>();
-            List<GCOCC.GCOCC_Point2d> ends = new List<GCOCC_Point2d>();
-            //var circles = GCOCC_MathMethord.GetMidArcBetweenTwoGroupLines(shroundLines.ToArray(), hubLines.ToArray(), Convert.ToInt32(Numbers.Text));
-            foreach (var c in circles)
-            {
-                GCOCC_Point3d start = new GCOCC_Point3d(c._start.X, c._start.Y, 0);
-                GCOCC_Point3d end = new GCOCC_Point3d(c._end.X, c._end.Y, 0);
-                GCOCC_Point3d mid = new GCOCC_Point3d(c._mid.X, c._mid.Y, 0);
-                starts.Add(new GCOCC_Point2d(c._start.X, c._start.Y));
-                mids.Add(new GCOCC_Point2d(c._mid.X, c._mid.Y));
-                ends.Add(new GCOCC_Point2d(c._end.X, c._end.Y));
-                var isLine = GCOCC_MathMethord.CheckIf3PointsOnALine(start, end, mid);
-                GCOCC.LineData l = null;
-                if (isLine)
-                {
-                    l = new GCOCC.LineData(LineType.Straight, new GCOCC_Point3d[] { start, end });
-                }
-                else
-                {
-                    l = new GCOCC.LineData(LineType.Arc, new GCOCC_Point3d[] { start, mid, end });
-                }
-                _passLines.Add(l);
-            }
-            //View.DrawPoints(starts,"Ps");
-            //View.DrawPoints(mids,"Pc");
-            //View.DrawPoints(ends,"Ph");
-            //View.DrawLines(_passLines, 1);
-            _occViewer2d.View.Draw2dLines(_passLines.ToArray(), 1);
-        }
-        List<GCOCC.LineData> _midFlowCurve = new List<GCOCC.LineData>();
-        /// <summary>
-        /// 涓棿娴佺嚎
-        /// </summary>
-        public void CreateMiddleFlowCurve()
-        {
-            if (_passLines == null || _passLines.Count < 3)
-                return;
-
-            var pts = GCOCC.GCOCC_MathMethord.GetMidPointsFromPassLines(_passLines.ToArray());
-            ShroundLine3End = new GCOCC_Point3d(27, 100, 0);
-            OutletLineEnd = new GCOCC_Point3d(45, 100, 0);
-            pts.Add(new GCOCC_Point2d((ShroundLine3End.X + OutletLineEnd.X) / 2, (ShroundLine3End.Y + OutletLineEnd.Y) / 2));
-            List<GCOCC_Point3d> pt3ds = new List<GCOCC_Point3d>();
-            foreach (var item in pts)
-            {
-                GCOCC_Point3d p3d = item.ConvertToPoint3d();
-                pt3ds.Add(p3d);
-            }
-            var midLine = new GCOCC.LineData(LineType.BSpline, pt3ds.ToArray());
-            _midFlowCurve.Add(midLine);
-            //View.DrawPoints(pts);
-            _occViewer2d.View.Draw2dLines(_midFlowCurve.ToArray(), 1);
-        }
-
-        List<DividedPointData> shroundPoints = new List<DividedPointData>();
-        List<DividedPointData> midPoints = new List<DividedPointData>();
-        List<DividedPointData> hubPoints = new List<DividedPointData>();
-        /// <summary>
-        /// 娴佺嚎鍒嗙偣
-        /// </summary>
-        public void CreateStreamlineDividingPoint()
-        {
-            if (_midFlowCurve == null || _midFlowCurve.Count == 0)
-                return;
-            double Angles = 2.5;
-            List<GCOCC.LineData> shroundLines = new List<GCOCC.LineData> { ShroundLine1, ShroundLine2, ShroundLine3 };
-            shroundPoints = GCOCC_MathMethord.GetPointsFromStreamLine(shroundLines.ToArray(), Angles);
-            shroundPoints.Insert(0, new DividedPointData(new GCOCC_Point2d(ShroundLine3End.X, ShroundLine3End.Y), 0, 0, true, 0, 0));
-            List<GCOCC_Point2d> pts = new List<GCOCC_Point2d>();
-            shroundPoints.ForEach(x => pts.Add(x.Point));
-            _occViewer2d.View.Draw2dPointsWithIndex(pts.ToArray(), null);
-
-            List<GCOCC.LineData> hubLines = new List<GCOCC.LineData> { HubLine1, HubLine2, HubLine3 };
-            hubPoints = GCOCC_MathMethord.GetPointsFromStreamLine(hubLines.ToArray(), Angles);
-            hubPoints.Insert(0, new DividedPointData(new GCOCC_Point2d(OutletLineEnd.X, OutletLineEnd.Y), 0, 0, true, 0, 0));
-            List<GCOCC_Point2d> pts2 = new List<GCOCC_Point2d>();
-            hubPoints.ForEach(x => pts2.Add(x.Point));
-            _occViewer2d.View.Draw2dPointsWithIndex(pts2.ToArray(), null);
-
-            midPoints = GCOCC_MathMethord.GetPointsFromStreamLine(_midFlowCurve.ToArray(), Angles);
-            midPoints.Insert(0, new DividedPointData(new GCOCC_Point2d(OutletLineEnd.X, OutletLineEnd.Y), 0, 0, true, 0, 0));
-            List<GCOCC_Point2d> pts3 = new List<GCOCC_Point2d>();
-            midPoints.ForEach(x => pts3.Add(x.Point));
-
-            _occViewer2d.View.Draw2dPointsWithIndex(pts3.ToArray(), null);
-        }
-
-        List<HydrCAD.Model.GridPoint> shroundGridPoints = new List<HydrCAD.Model.GridPoint>();//鏂规牸缃戝墠鐩栨澘娴佺嚎鐐归泦鍚堬紝 鍒嗙偣鍧愭爣 鍜屾棆杞搴�
-        List<HydrCAD.Model.GridPoint> hubGridPoints = new List<HydrCAD.Model.GridPoint>();//鍚庣洊鏉�
-        List<HydrCAD.Model.GridPoint> midGridPoints = new List<HydrCAD.Model.GridPoint>();//涓棿娴佺嚎
-        List<PointRotateData> shroundRotateDatas = new List<PointRotateData>();//鍓嶇洊鏉挎祦绾� 杞撮潰鍥惧潗鏍� 鍜屾棆杞搴�
-        List<PointRotateData> hubRotateDatas = new List<PointRotateData>();//鍚庣洊鏉�
-        List<PointRotateData> midRotateDatas = new List<PointRotateData>();//涓棿娴佺嚎
-        /// <summary>
-        /// 鏄犲皠鏂规牸缃�
-        /// </summary>
-        public void CreateMappingGrid()
-        {
-            if (shroundGridPoints == null || shroundGridPoints.Count == 0)
-                return;
-
-            List<GCOCC.LineData> shroundLines = new List<GCOCC.LineData> { ShroundLine1, ShroundLine2, ShroundLine3 };
-            List<double> shroundGridY = new List<double>();
-            shroundGridPoints.ForEach(x => shroundGridY.Add(x.Y));
-            var shroundMapPoints = GCOCC_MathMethord.MapGridPointsToStreamLinePoints(shroundLines.ToArray(), shroundPoints, shroundGridY);
-            for (int i = 0; i < shroundMapPoints.Count; i++)
-            {
-                GCOCC_Point3d pt = new GCOCC_Point3d()
-                {
-                    X = shroundMapPoints[i].X,
-                    Y = shroundMapPoints[i].Y,
-                    Z = 0
-                };
-                PointRotateData data = new PointRotateData(pt, 2.5 * i);
-                shroundRotateDatas.Add(data);
-            }
-
-            List<GCOCC.LineData> hubLines = new List<GCOCC.LineData> { HubLine1, HubLine2, HubLine3 };
-            List<double> hubGridY = new List<double>();
-            hubGridPoints.ForEach(x => hubGridY.Add(x.Y));
-            var hubMapPoints = GCOCC_MathMethord.MapGridPointsToStreamLinePoints(hubLines.ToArray(), hubPoints, hubGridY);
-            for (int i = 0; i < hubMapPoints.Count; i++)
-            {
-                GCOCC_Point3d pt = new GCOCC_Point3d()
-                {
-                    X = hubMapPoints[i].X,
-                    Y = hubMapPoints[i].Y,
-                    Z = 0
-                };
-                PointRotateData data = new PointRotateData(pt, 2.5 * i);
-                hubRotateDatas.Add(data);
-            }
-
-            List<double> midGridY = new List<double>();
-            midGridPoints.ForEach(x => midGridY.Add(x.Y));
-            var midMapPoints = GCOCC_MathMethord.MapGridPointsToStreamLinePoints(_midFlowCurve.ToArray(), midPoints, midGridY);
-            for (int i = 0; i < midMapPoints.Count; i++)
-            {
-                GCOCC_Point3d pt = new GCOCC_Point3d()
-                {
-                    X = midMapPoints[i].X,
-                    Y = midMapPoints[i].Y,
-                    Z = 0
-                };
-                PointRotateData data = new PointRotateData(pt, 2.5 * i);
-                midRotateDatas.Add(data);
-            }
-        }
-
-
-        List<GCOCC_Point3d> shroundRotatedPoints;
-        List<GCOCC_Point3d> hubRotatedPoints;
-        List<GCOCC_Point3d> midRotatedPoints;
-        /// <summary>
-        /// 鍙剁墖璁捐闈㈤�犲瀷
-        /// </summary>
-        public void CreateWorkSheet()
-        {
-            if (shroundRotateDatas == null || shroundRotateDatas.Count == 0)
-                return;
-
-            shroundRotatedPoints = GCOCC_MathMethord.RotatePoint(shroundRotateDatas);
-            _occViewer2d.View.Draw3dPoints(shroundRotatedPoints.ToArray());
-
-            hubRotatedPoints = GCOCC_MathMethord.RotatePoint(hubRotateDatas);
-            _occViewer2d.View.Draw3dPoints(hubRotatedPoints.ToArray());
-
-            midRotatedPoints = GCOCC_MathMethord.RotatePoint(midRotateDatas);
-            _occViewer2d.View.Draw3dPoints(midRotatedPoints.ToArray());
-
-            GCOCC.LineData sline = new GCOCC.LineData(LineType.BSpline, shroundRotatedPoints.ToArray());
-            GCOCC.LineData hline = new GCOCC.LineData(LineType.BSpline, hubRotatedPoints.ToArray());
-            GCOCC.LineData mline = new GCOCC.LineData(LineType.BSpline, midRotatedPoints.ToArray());
-
-            //_occViewer2d.View.MakeSurfaceAcrossSplines2(new List<GCOCC.LineData>() { sline, mline, hline }.ToArray());
-        }
-
-
 
 
 

--
Gitblit v1.9.3