在devDept Eyeshot中加载的两个三维形状中找到差异的最佳算法是什么?
我已经从Eyeshot的CAD文件中加载了两个形状,并希望突出显示这些形状之间的差异。
提前感谢。
所以,这是一种快速的方法。 (至少我认为您要的是)此函数将取meshA并从中减去meshB的任何重叠体积。它返回一个网格列表,因为可以通过减去单个体积将“ meshA”切成多段。我认为,差值功能会按数量将各个部分整理到列表中,但是我并不是100%。
public List<Mesh> solidSubtract(ref Mesh meshA, ref Mesh meshB)
{
List<Mesh> subtractedMeshes = new List<Mesh>();
Solid solidA = meshA.ConvertToSolid();
Solid solidB = meshB.ConvertToSolid();
Solid[] difference = Solid.Difference(solidA, solidB);
foreach (Solid sld in difference)
{
subtractedMeshes.Add(sld.ConvertToMesh());
}
return subtractedMeshes;
}