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

问题描述 投票:1回答:1

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

我已经从Eyeshot的CAD文件中加载了两个形状,并希望突出显示这些形状之间的差异。

提前感谢。

c# wpf 3d cad eyeshot
1个回答
1
投票

所以,这是一种快速的方法。 (至少我认为您要的是)此函数将取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;
    }
© www.soinside.com 2019 - 2024. All rights reserved.