0

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

我使用了以下代码,但它不起作用。在下面的代码中,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");
                    }

图片

4

1 回答 1

0

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

于 2022-02-16T11:45:12.933 回答