sunsili 发表于 2024-4-3 18:16:42

【KiCad 】KiCad x Blender:PCB 渲染耀眼呈现

【KiCad 】KiCad x Blender:PCB 渲染耀眼呈现
“ 通过将 KiCad 的 PCBA 3D 模型导出并导入到 Blender 中进行渲染,用户可以随心所欲地制作出高质量的渲染图像。 ”


KiCad 自带的光线追踪渲染功能(详见 让你的 PCB “炫”起来: KiCad 中的 3D 渲染)可以满足基本的渲染要求。但对追求卓越的工程师而言,这些是不够的。而 KiCad 结合 Blender,则可以制作出一流的渲染效果!
Blender 简介
Blender 是一款非常强大和专业的开源3D计算机图形软件,既可以用于3D建模、动画制作,也可以用于渲染、视觉效果、视频编辑等多种领域。它具有以下主要特点:
[*]开源免费:Blender 是完全免费和开源的,任何个人和公司都可以免费使用,而且源代码可以自由获取和修改。
[*]跨平台支持:Blender 可以在 Windows、macOS 和 Linux 等主流操作系统上运行。
[*]集成全面:Blender 集成了3D建模、UV映射、动画、渲染、视频编辑、曲面细分、着色器开发等多种功能于一体。
[*]渲染引擎强大:Blender 内置了性能优异的 Cycles 渲染引擎,支持实时预览、CPU/GPU 加速渲染,可以生成 photorealistic 级别的图像和动画效果。
[*]插件和脚本支持:Blender 支持安装第三方插件,也可通过 Python 脚本进行二次开发,能力可以得到极大扩展。
Blender 的官网地址:
https://www.blender.org/目前最新版本为 4.1。
KiCad 与 Blender 的交互
KiCad 与 Blender 的交互有几种方式,今天先介绍以 VRML 为中间格式,进行导入导出,进而实现渲染的操作。
VRML 格式
VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是一种用于描述三维场景和虚拟现实环境的文件格式和编程语言,注重交互性和视觉效果。与我们经常用到的 STEP 相比,VRML 更多用于渲染等虚拟现实体验,而STEP则提供了更丰富的模型数据,比如包括几何形状、尺寸、材料、装配关系、工艺特性等。因此 STEP 文件通常文件尺寸更大,更多用于需要实际装配、仿真的场景。更多 VRML 与 STEP 的区别,可以参考:STEP与WRL 3D模型的区别。KiCad 导出 VRML在 KiCad 的 PCB 编辑器中,点击 “文件->导出->VRML”:设置输出路径、原点及单位后(建议使用 mm),完成导出操作:如果 PCB 尺寸较大、对象较多,需要等待较长的时间。Video 示例导出的 VRML 文件大小为 50M 左右。
Blender 基本操作在开始导入 VRML 之前,我们先简单地介绍下 Blender 的基本逻辑和操作。打开 Blender,就可以看到最重要的三个要求:
[*]待渲染的对象:图中的正方体

[*]光源:发出光线照亮物体

[*]摄像机(视角):观察的角度
点击右侧面板“物体”图标,就可以看到所有的物体:可以编辑其基本属性,比如位置、旋转等:比如选择了光源“Light”,这时再点击“数据”图标,就可以在面板中修改光源的参数。下图中将颜色调整为红色。点击视图右侧的“摄像机”图标,可以查看摄像机的视角。图框中显示的内容就是渲染的视角。可以调整正方体或者摄像机的视角,直到满意为止。点击右侧面板的“渲染”图标设计渲染引擎。推荐使用 Cycles 算法,如果有独立的显卡,请将设备设置为“GPU计算”,这样可以大大加快渲染的速度。简单设置后按快捷键 F12 进行渲染的操作。根据物体、光源、视角的相对位置,得到以下的效果:
当然,Blender能做的事儿远不止这些。这里只是将基本操作介绍一下,方便同学们快速理解、上手。

Blender 导入 VRML
现在进入实操阶段。我们新建一个项目,删除默认的正方体。Blender 支持直接导入 VRML 格式,点击“文件->导入-> X3D Extensible 3D(.x3d/.wrl)”即可。导入需要花费一些时间。导入后的物体较小,使用鼠标滚轮放大后查看导入的情况:使用右上角的坐标轴或者鼠标中间的滚轮(按住滚轮后移动)可以调整视角:点及右侧的“切换摄像机视角”,同时建议锁定视角:锁定后,就可以使用“鼠标滚轮”调整摄像机的属性了:
[*]滚动鼠标滚轮:调整摄像机的位置。使渲染对象更完整的出现在视口中

[*]按住 Shift,再按住滚轮,移动鼠标完成平移
[*]按住鼠标滚轮再进行滚动:旋转摄像机
这时可以按 F12 进行渲染,看一下效果:
感觉有点暗,这时可以调节光源来提高亮度。这里我们使用另一种方式,通过添加环境纹理的方式点亮图片。点击“世界环境”图标,随后点击颜色右侧的小点,在“纹理”列选择“环境纹理”:随意选择一张图片作为环境纹理:F12 渲染:
如果不需要背景,选择“渲染”图标,找到“胶片”选项,并勾选“透明”
重新渲染后的效果:
我们也可以单独调整某个形状对象的属性。
比如,我觉得阻焊的绿色不真实,可以选中阻焊组成的物体(形状):点击“材质属性”,这次我们将表面设为“光泽BSDF”,然后将颜色设为红色。
重新渲染后的效果:
这个板子有点大,看不清楚效果,我们取几个局部,调下设置看一下效果:
突出导线,去除背景的效果:
合并物体
由于 VRML 导出了很多细节,在场景集合中存在大量的物体(Shape),您可以对每一个物体单独进行渲染操作:当然,如果您觉得这样会导致平移、旋转操作时的不便,可将物体先进行合并。框选所有对象,在空白处点击右键选择“合并”(或快捷键 Ctrl J):如果还未完全合并,可以点击右键的 Collection,选中所有物体后在空白处点击右键,继续合并:合并完成后可以用快捷键G进行整体的移动:
结束语
Blender 不仅可以渲染图片,还可以生成动态的效果图,有兴趣的同学们可以自行尝试。由于 Blender 的功能过于强大,设置的属性非常多,可能对刚接触的小伙伴造成一些困扰。这里把渲染 PCBA 的核心步骤做个总结:

[*] KiCad 导出 VRML,直接在 Blender 中导入
[*]切换摄像机的视角,锁定相对位置后再调整物体的位置
[*]调整物体及环境的属性
[*]F12 渲染
[*]重复步骤2~3,直到效果满意为止
细心的同学可能会发现,使用 VRML 进行渲染,细节上会存在瑕疵。由于KiCad 导出的 VRML 文件并不是以元器件作为单位导出,因此想在 Blender 中单独调整某个器件或特定局部,无法直接选中,只能进行“近似”的处理。另一个问题是 VRML 的文件尺寸相对还是比较大。在社区中,还有一款名为 pcb2blender 的插件,它能够生成尺寸更小的中间格式文件,且以 KiCad 中实际的对象为单位进行精确地导出,从而使渲染更准确。结合 KiBot 项目,还可以利用 KiCad 和 Blender 的命令行界面(CLI)实现渲染图的自动化生成。感兴趣的同学可以先进行预习:https://github.com/30350n/pcb2blenderhttps://github.com/INTI-CMNB/KiBot


页: [1]
查看完整版本: 【KiCad 】KiCad x Blender:PCB 渲染耀眼呈现