Найдите разницу между двумя трехмерными фигурами, используя devDept Eyeshot

Каков наилучший алгоритм, чтобы найти разницу в двух трехмерных фигурах, загруженных в devDept Eyeshot?

Я загрузил две фигуры из файлов CAD в Eyeshot и хочу подчеркнуть разницу в формах.

Заранее спасибо.

0 ответов

Итак, вот быстрый способ сделать это. (По крайней мере, то, о чем я думаю, вы просите) Эта функция возьмет 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;
}
Другие вопросы по тегам