Найдите разницу между двумя трехмерными фигурами, используя 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;
}