如何将任何照片转换为具有斑点效果、具有绘画风格的三维模型
扫描二维码
随时随地手机看文章
多色 FDM 打印通常意味着每一层都需要更换材料,并且需要一个比零件本身还要大的清理装置。而 PLA 则完全避免了这些繁琐步骤。通过将打印过程视为一个具有可变厚度的整体——先是一个深色的底色,然后是上面一层由半透明亮色材料构成的高光图案——你可以对任何照片进行逼真的分色渲染,且只需一次性更换一根材料线。最终效果看起来像是一张 4 到 8 色调的打印作品,但打印出来的形状却像是一块普通的单色物体,中间还有暂停的间隔。该技术针对 Bambu X1C 进行了优化,但同样适用于任何双材料设置(包括手动更换材料线的情况)。书签显然是首选目标(也是代码库中的默认几何形状),但同样的方法也能用于制作杯垫、奖牌、装饰品、冰箱贴、礼品标签——任何大致平整且需要嵌入照片的物品。
你需要的东西
•一款配备 AMS 的 Bambu X1C 3D 打印机(或者任何具有“暂停并更换材料”功能的双材料 FDM 打印机)
•一卷深色的细丝(黑色、深灰色、海军蓝——任何不透明的颜色)
•一卷细长的灯丝(白色、象牙色、浅灰色——稍有透明度为佳)
•Python 3.10 及以上版本
•OpenSCAD
•“BambuStudio”或者您的打印机的切片软件
•一张照片。高对比度的拍摄对象效果最佳——比如肖像、剪影、线条画、标志图案。
步骤 1:安装依赖项
OpenSCAD 只需添加到您的系统路径中(或者在 Windows 系统中安装到默认位置即可)。该脚本会自动检测到它的存在。
步骤 2:选择一张优质的原始图片
该技术将图像分割成 4 到 8 个色调区间,因此具有鲜明色调结构的图像会更加突出。有效的方法有:
•带有清晰阴影的肖像(想想那些经典的黑白摄影作品)
•开阔天空下的剪影
•高对比度的自然景观镜头——树木与日落的交映,山脉的山脊线
•图形、线条艺术、简洁插图
艰难的事情:
•平调色调的画面(阴天景色、室内特写)
•在相同的亮度水平下,有许多精细的细节。
•脸部光线呈平射状——先转换为侧射光或提高对比度
第 3 步:生成高度图
这会在“out/”目录下生成三个文件:
•“heightmap.png”——这种经过压缩处理的灰度图像决定了打印效果
•bookmark.scad — OpenSCAD 模型
•bookmark.3mf — 一个由 BambuStudio 开发的项目,其中线材变化部分已预先烘焙完成(如果您的系统路径中已安装 OpenSCAD)
打开“高度图.png”文件,先查看一下再进行打印。如果出现模糊不清或细节丢失的情况,就进行调整:
•从第 4 级到第 8 级(级别越少,画面就越粗糙/更显夸张,级别越多则越细腻)
•对比 1.5 以使中间色调更加分明
•自动对比度 2 调整:在拉伸图像之前,先将最暗/最亮的 2% 部分裁剪掉。
第 4 步:在 Licer 软件中打开该项目
双击“书签.3mf”。BambuStudio 将以加载好的模型并已在正确层插入了线材的方式打开。
如果您只有 .scad 文件(未找到 OpenSCAD):请在 OpenSCAD 中打开该文件,按 F6 键进行渲染,然后导出为 STL 格式,接着将该 STL 文件导入 BambuStudio,并在终端中执行该脚本所打印的层位置手动添加线材更换操作。
第 5 步:分配导线
在“班布工作室”的丝质面板上:
•灯丝 1 → 暗色卷轴
•“Filament 2” → “灯线卷轴”
该模型是一个整体——切片器会根据线材更换标记来判断在交换层之下或之上进行何种类型的打印操作。
第 6 步:切片器设置
层高:请与您在“--层”选项中设置的数值保持一致(默认值为 0.08 毫米)。该脚本假定层是均匀的。
初始层高:同样为 0.08 毫米,否则 Bambu 会将换算结果四舍五入到最接近的层边界处(通常情况良好,可能会出现偏差一格)。
支持状态:关闭。
填充物:在这一厚度下其实并不重要——15%就可以了。
第 7 步:打印
切割、发送、观察。打印过程会在中途暂停以更换熔丝(X1C 会自动完成这一操作,借助 AMS 技术——您无需在场)。整个打印时间通常为 30 至 60 分钟,具体时间取决于打印尺寸和层高。
第 8 步(可选):根据您的打印材料进行校准
不同的灯丝具有不同的透明度。如果您的打印图像中最亮的部分与第二亮的部分看起来相同,那么您的灯丝比默认模型所假设的要更不透明——请将 --opacity-mm 从 0.30 降低至 0.20 并重新运行。如果该渐变看起来是线性的,且顶部没有明显的“饱和度”,那么您的灯丝是更透明的——请增加 --opacity-mm 或增加更多 --levels。
该脚本包含名为“make_calibration_gradient.py”的文件,用于打印带有每层计数一个条带的阶梯式参考条,这使得调节过程更加简便。
本文编译自hackster.io





