我有一个由连续立方体组成的 stl 文件,如下所示:
我需要删除立方体的所有共享面,这样结构就变成了一个连续的实体。
请注意,我不能只删除所有内部结构。物体是中空的,必须保持其内部结构。我只想删除相邻立方体的共享面。
MeshLab有没有办法做到这一点?谢谢,
我有一个由连续立方体组成的 stl 文件,如下所示:
我需要删除立方体的所有共享面,这样结构就变成了一个连续的实体。
请注意,我不能只删除所有内部结构。物体是中空的,必须保持其内部结构。我只想删除相邻立方体的共享面。
MeshLab有没有办法做到这一点?谢谢,
我正在尝试做类似的事情,所以这就是我的做法:
获取边界体素并将其转换为点:
surface= Volume- imerode(Volume, true(3));
indx=find(surface);
[x,y,z]=ind2sub(size(Volume),indx);
surface=horzcat(x,y,z);
将其保存为层文件
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
然后您可以将点云加载到 Meshlab。然后,您可以使用其内部的数十种算法创建 STL 文件,但我现在正在努力选择最好的。像你一样的非凸面。