如何在 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
值。
我想找到一个点是否在修剪曲面内。在下面的图片中,认为我有一个内部有孔的表面和一个显示为红色的点。如何检查点是否在修剪曲面内。
我使用了以下代码,但它不起作用。在下面的代码中,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
值。