首页 > 解决方案 > Blender,将对象拆分为图层

问题描述

我有一个对象,我使用搅拌机“像素化”(高级)对象函数,这创建了看起来像单个立方体的一堆(1000 个)重复项。

导出然后重新导入后,生成了一个由大约 18,000 个立方体组成的单个对象。

这在许多立方体中添加了不同的材料。

目的是将对象拆分为所有处于相同高度的立方体的“层”,同时保留它们的材料

我已经尝试了很多东西,比如布尔运算,但这太慢了,而且并不总是保留材料

此外还有大约 70 多个图层,因此手动创建图层可能有些繁琐......

理想情况下,我想编写某种脚本,一次过滤掉每一层并导出它们(使用材料),以便它们可以呈现为 2d 图像......

blender 的 python 文档最初似乎有点不透明,可能是由于 API 的大小非常大(你从哪里开始!)

任何人都可以帮助我完成编写此脚本可能需要的至少一些步骤,因为我在获得任何类型的牵引力时遇到问题。

标签: pythonblockblendernano

解决方案


最后,由于@keltar,我使用了一种部分自动化和部分手动的方法来做我想做的事情,我找到了信息窗口和我需要从菜单弹出窗口中的 python 命令中选择的命令

>>> def dolayer(name):
...     bpy.ops.mesh.select_linked(delimit={'SEAM'})
...     bpy.ops.mesh.separate(type='SELECTED')
...     bpy.data.objects[name].hide = True
... 
>>> dolayer('Cube.018')
>>> dolayer('Cube.019')

我用框选择选择了下一层,确保关闭限制选择可见!然后我简单地为dolayer函数提供分割对象的新名称(这可以让你隐藏它)向上光标键是你的朋友!

最少量的自动化使得将 72 层分离为单独的对象变得切实可行,这使我可以隐藏不同的层并仅显示构建的每个步骤所需的层....

我完全错过了信息窗口,它应该使脚本更容易访问!


推荐阅读