在blender导入插件中导入多个文件

2024-04-28 09:37:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为blender 2.8x编写一个导入插件,我想利用多文件选择功能。 不幸的是,我在“ImportHelper”(我从中派生的类)中找不到对此的任何规定,web搜索也没有产生任何似乎有效的内容,我在文档中也找不到任何内容


Tags: 文件文档功能插件web利用内容blender
1条回答
网友
1楼 · 发布于 2024-04-28 09:37:33

事实证明,要实现这一点,您需要做几件事,文档中还没有涉及到这一点

首先,它有助于了解基类“ImportHelper”在导入脚本中使用时的作用。初始化时,脚本调用“context.window\u manager.fileselect\u add(self)”,这会向类中添加几个对象。 源代码中的这个字符串泄露了它:

"The string properties 'filepath', 'filename', 'directory' and a 'files' " "collection are assigned when present in the operator"

“files”对象是我们需要的对象,但只有在类中也存在正确的属性时,它才会出现,例如:

files: CollectionProperty(
            type=bpy.types.OperatorFileListElement,
            options={'HIDDEN', 'SKIP_SAVE'},
        )

然后,如果存在,您可以在类的“execute”方法中访问它,以迭代选择中的所有文件:

for meshfile in self.files:
            filepath = meshfile.name
            print(filepath)

此外,请记住包含正确的属性,我将这些属性包含在我的导入器中:

from bpy.props import (
    BoolProperty,
    CollectionProperty,
    StringProperty,
)

相关问题 更多 >