2014-09-06 10 views
0

У меня есть СТЛ файл, который состоит из смежных кубов, как это:Удаление внутреннего Лица в MeshLab, не все Внутренняя структура

http://www.mathworks.com.au/matlabcentral/fileexchange/screenshots/6499/original.jpg

Мне нужно, чтобы удалить все общие грани кубиков, так структура становится сплошным сплошным.

Примечание, что я не могу просто удалить ВСЕ внутреннюю структуру. Объект полый, и его внутренняя структура должна поддерживаться. Я просто хочу удалить общие грани соседних кубов.

Есть ли способ сделать это в MeshLab? Спасибо,

ответ

0

Я пытаюсь сделать что-то подобное, так что здесь есть, как я сделал это:

получить граничные вокселей и преобразовать его в точках:

surface= Volume- imerode(Volume, true(3)); 
indx=find(surface); 
[x,y,z]=ind2sub(size(Volume),indx); 
surface=horzcat(x,y,z); 

сохранить его как ply file

function save_ply(filename,xyz) 
    fid=fopen(strcat(filename,'.ply'),'wt'); 
    fprintf(fid,'ply\n'); 
    fprintf(fid,'format ascii 1.0\n'); 
    fprintf(fid,'element vertex %u\n',size(xyz,2)); 
    fprintf(fid,'property float x\n'); 
    fprintf(fid,'property float y\n'); 
    fprintf(fid,'property float z\n'); 
    fprintf(fid,'end_header\n'); 

    for ii=1:size(xyz,2) 
     fprintf(fid,'%4f %4f %4f\n',xyz(1,ii),xyz(2,ii),xyz(3,ii)); 
    end 

end 

А затем вы можете загрузить облако точек в Мешлаб. Затем вы можете создавать STL-файлы с десятками алгоритмов, которые у него есть внутри, однако в этом месте теперь трийг, чтобы выбрать лучшее. для не выпуклых поверхностей.