点坐标(点云)表示的模型转为.stl文件用于3D打印

点坐标(点云)表示的模型转为.stl文件用于3D打印)

这里的模型主要针对优化结束后获得的二维模型。由于模型的不规则,最终得到的优化结果是模型上点的坐标及这个点上的密度值。这个方法可以拓展到任何用点云表示的二维模型。

步骤

  1. 后处理优化结果 ,在Tecplot中显示得到的点坐标及密度值,只需要”load data file“读取.txt文件即可。在TecPlot中用灰度显示”Workspace““ColorMap”“GreyScale”;
  2. 从Tecplot中”export“导出为图片JPEG等格式,注意导出时选择所导出图片的分辨率X*Y,这个分辨率对后续生成的stl文件中的网格大小有直接关系;
  3. 将导出的图片在MATLAB中用”imread“函数读取,得到一个变量a,变量a的大小是XY3,每列分别存放RGB值;
  4. 然后用rgb2gray函数将变量a转为变量b,b的大小是X*Y,该矩阵中每个元素对应图片像素单元上的灰度值,白色为255,黑色为0。这一点和拓扑优化中用1表示满材料,0表示没材料不一致,所以用个公式正则化b为习惯的拓扑表达c,c中的元素值0到1;
  5. 把二维模型加厚为三维模型repmat函数把二维矩阵c转为三维矩阵d,在第三个维度上是直接复制的,这个复制的次数决定了所打印模型的厚度;
  6. 最后用Top3dSTL把所得到的矩阵d转为网格模型.stl文件,其中Top3dSTL是Liu Kai提供的开源MATLAB代码,详情参考他的官网,链接如下 https://top3dapp.com
  7. 最后的最后,生成的.stl文件可以在ParaView中打开并检查模型,ParaView支持MacOS。

猜你喜欢

转载自blog.csdn.net/weixin_44306064/article/details/85310342