|
VariSlice™是一个开放的工作流程,用于在可变图层高度自动切分STL文件。选择3D打印的层厚度打印是困难的! 如果你选择厚层,你的打印部分更快些。或者你选择更薄的层,可以获得更好的打印质量。 现在这两个可以同时具备!VariSlice™采用STL的格式,可以查看所有内部三角形的斜率,并以可变的图层厚度对其进行分片,以优化打印速度和打印分辨率。该算法是免费开放的。
步骤1:在Fusion 360中设计3D模型。
首先制作您感兴趣的3D模型在Fusion 360中或您最喜欢CAD程序中。 然后导出为STL格式。
步骤2:将STL格式导入Meshmixer中。
我们将使用Meshmixer做两件事:
1.翻转YZ轴(如有必要)
2.以ASCII格式导出STL。
打开Meshmixer,在导入导出上转到首选项>文件>翻转Z-Y轴,导入STL。 然后启用“翻转Z-Y轴”选项,转到导出,并在下拉菜单选择“STL ASCII格式(*.stl)”。
此步骤是必需的, 如果你从VariSlice得到不一样的结果,这很可能是错误的根源。因为VariSlice脚本使用Z向上坐标系统。
此外,我们的脚本解析STL需要该文件是人们可读的ASCII格式。
步骤3:将STL导入Print Studio并切成5μm层。
切片STL切成5μm层并保存tar.gz文件。 我们切成5μm层,因为可变层厚度将在100和10μm之间的范围在5μm步以内。
步骤4:解压文件并找到“/ slices”目录中的内容。
解压打印机文件,并将包含slice_n.png的文件夹放入sketch目录中名为“slices”的文件夹(printsettings文件可以保留PNG的)。 Raname类似“nameSlice”。
步骤5:打开“variSlice.pde”文件。
有几行代码(在最顶层),必须调整。
stlPath:此字符是STL相对于sketch目录的位置。 应该看起来像String stlPath =“STLs / nameOfFile.stl”;
exportNumber:这是用于导出CSV文件的数字/字符,用于可视化图层厚度。 稍后在本指导中,将演示如何使用此文件。 到时候打印时不需要此文件。
slicesPath:这是在步骤5中移动的切片的位置。应该看起来像String slicesPath =“slices / nameSlice”;
savePath:这是保存layersettings文件的位置。 此外,所选的slice_n.png也将在这里。
步骤6:运行变量Slice.pde草图。
草图如何工作:
parseTheBunny - 将ASCII STL作为字符数字组加载。每一行都是数组中的一个元素。它标识STL中的三角形(或“小平面”),并将每个三角形顶点的XYZ坐标保存在三角形中。
calcSlopeHeight - 一个简单的计算,迭代通过每个三角形的数组,并找到整个三角形数组的最小和最大斜率。斜率等于三角形法线向量和Z轴的角度(正方向或负方向,取较小的角度)。斜率应始终小于90°。此功能对于调试非常有用,但对于整个程序是不必要的。
buildLayers- 这是确定层厚度的主要算法。它从底部开始每次选择一个合适的层厚度。从STL的底部(z = 0)开始,并从考虑最厚层厚度开始(例如100μm或0.100mm)。该函数找到z = 0到z = 0.100 mm范围内的每个三角形。然后它找到所有这些三角形的斜率,并仅查看最低斜率。给一定的最大步进(如0.05毫米,这是Ember投影机的像素大小)是当前的层厚度够好吗?如果它足够好,它将记录在第一层的厚度,并将z值移动到0.100,并再次开始该过程。如果100μm太厚,说一层,如果是95μm,构建它,如果不是,那就是90微米,以此这样直到层厚度足够好,或者如果我们将考虑使用最薄的层厚度。
createTable - 此函数保存具有对调试有用的信息CSV文件。它也可用于使用drawLayersGeneral.pde处理草图显示图层。在Ember上打印时,创建的CSV文件不是必需的。
createLayerSettings - 此函数保存名为“layersettings.csv”的CSV文件。 Ember打印机需要这个文件打印。
selectSlices - 记住当我们切割具有5μm层的STL时?此功能选择某些切片,并将其保存到文件夹与layersettings.csv文件。 buildLayers()中完成的工作决定了选择哪些切片。
当运行variSlice.pde草图时,它将创建一个名为“perLayerWithSlices”的目录。里面将包含layersettings.csv文件(告诉Ember打印机如何打印每个图层的电子表格)和代表每个图层几何的一系列PNG的文件夹。
步骤7:从“nameSlice”文件夹中复制printsettings文件,并将其粘贴到“perLayerWithSlices”目录下的文件夹中。这是同一个文件夹包含“perlayersettings.csv”文件以及一堆PNG文件。
步骤8:将此文件夹的内容压缩为.zip文件打开文件夹,选择所有项目,然后压缩它们。 不要压缩包含这些文件的文件夹 - 这是不能工作。
步骤9:将此zip文件发送到Ember,然后打印出来!
步骤10:使用drawLayer General.pde草图可视化可变切片。
drawLayersGeneral.pde草图接受由variSlice.pde草图生成的drawData.csv文件,并创建一个表示几何图层厚度的图形。
将由variSlice.pde生成的drawDataYourName.csv文件复制到drawLayersGeneral.pde sketch的数据文件夹中。 drawDataYourName.csv文件位于variSlice主目录中的“output”文件夹中。
调整setup函数中的代码行:drawData = loadTable(“drawDataYourName.csv”,“header”);
调整size函数,使高度(第二个值)与STL的高度相匹配。我使用比例,使得1个像素=10μm。所以如果你的STL是25毫米高,图像的高度应该是2500像素。
运行草图!图像保存在“layersVisualized”文件夹中。
在一些CAD或3D可视化软件(Fusion 360)中打开STL,并在白色背景下截取STL。应该使用从正面或侧面(不是顶部或底部)的正交投影。在图像编辑软件(如Photoshop或GIMP)中打开此屏幕截图。在单独的图层上,粘贴由drawLayersGeneral.pde sketch生成的图像。
缩放彩虹色图层图像以适合STL的图像。将顶层(彩虹)的不透明度模式设置为“重叠”。
享受您的VariSliced STL的预览!有趣的事实是:drawLayersGeneral.pde草图没有任何经验的。然而,它是一个更广泛的实现一个以前写的,不太灵活的Processing草图。
步骤11:故障排除
使用VariSlice有哪些问题?
这里有一些提示可以帮助。该算法假定STL的底部在Z = 0。 您的STL的位于Z = 0以下的任何部分将被有效地截断。如果STL的底部大于最小层厚度(对于值为10μm),那么算法将假设在开始之前完成。
不同的CAD程序具有不同的约定轴是“向上”的。 通常,正Y或Z轴被认为是“向上”。 VariSlice算法假定为+ Z向上方向。 如果需要,Meshmixer可用于翻转Y和Z轴。
要识别“向上”轴是否有问题,请检查VariSlice草图的打印输出。 查找“最大STL高度”和“最小STL高度”。 最小STL高度应该是非常接近零的值。 最大STL高度应该与期望的保持一致 - 如果它与STL的另一个维度匹配,则可能是轴定向的问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|
|
|
|
|
|