如何在 devdept 视野中检查点是否在曲面内

How to check a point is inside a surface in devdept eyeshot

我想找到一个点是否在修剪曲面内。在下面的图片中,认为我有一个内部有孔的表面和一个显示为红色的点。如何检查点是否在修剪曲面内。

我使用了以下代码,但它不起作用。在下面的代码中,surfaceEntity 是一个 Surface 对象,其中有红点。 pntEntity也是一个实体,就是下图中的红点。

                    double x = (pntEntity.BoxMax.X + pntEntity.BoxMin.X) / 2;
                    double y = (pntEntity.BoxMax.Y + pntEntity.BoxMin.Y) / 2;


                    Point3D point3D = new Point3D(x, y, 0);

                    if (surfaceEntity.Trimming.IsPointInside(point3D))
                    {
                        Console.WriteLine("Inside");

                    }

                    else
                    {
                        Console.WriteLine("Not inside");
                    }

图片

您首先需要使用 surfaceEntity.Project()surfaceEntity.ClosestPointTo() 计算点 point3D 的二维参数坐标。然后可以在 Trimming.IsPointInside() 调用中使用生成的 u, v 值。