使用devDept Eyeshot找出两个3D形状之间的差异

时间:2016-06-27 18:08:48

标签: c# wpf 3d cad eyeshot

在devDept Eyeshot中加载两个三维形状的最佳算法是什么?

我已在Ey​​eshot中加载CAD文件中的两个形状,并希望突出显示形状的差异。

提前致谢。

1 个答案:

答案 0 :(得分:6)

因此,这是一种快速的方法。 (至少我认为您要的是) 此函数将取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;
}