[Bf-extensions-cvs] [b57772a8] master: FBX Import: add support to load several FBX files at once.

Ian Munsie noreply at git.blender.org
Thu Oct 3 15:38:24 CEST 2019


Commit: b57772a8831e1f618d37ac4a3386c070dbc425b6
Author: Ian Munsie
Date:   Thu Oct 3 15:35:18 2019 +0200
Branches: master
https://developer.blender.org/rBAb57772a8831e1f618d37ac4a3386c070dbc425b6

FBX Import: add support to load several FBX files at once.

Differential Revision: https://developer.blender.org/D5866

===================================================================

M	io_scene_fbx/__init__.py

===================================================================

diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index 7fdef2b0..b836f1b0 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "FBX format",
     "author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
-    "version": (4, 17, 3),
+    "version": (4, 18, 0),
     "blender": (2, 81, 6),
     "location": "File > Import-Export",
     "description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions",
@@ -48,6 +48,7 @@ from bpy.props import (
         BoolProperty,
         FloatProperty,
         EnumProperty,
+        CollectionProperty,
         )
 from bpy_extras.io_utils import (
         ImportHelper,
@@ -70,6 +71,11 @@ class ImportFBX(bpy.types.Operator, ImportHelper):
     filename_ext = ".fbx"
     filter_glob: StringProperty(default="*.fbx", options={'HIDDEN'})
 
+    files: CollectionProperty(
+            name="File Path",
+            type=bpy.types.OperatorFileListElement,
+            )
+
     ui_tab: EnumProperty(
             items=(('MAIN', "Main", "Main basic settings"),
                    ('ARMATURE', "Armatures", "Armature-related settings"),
@@ -197,10 +203,21 @@ class ImportFBX(bpy.types.Operator, ImportHelper):
         pass
 
     def execute(self, context):
-        keywords = self.as_keywords(ignore=("filter_glob", "directory", "ui_tab"))
+        keywords = self.as_keywords(ignore=("filter_glob", "directory", "ui_tab", "filepath", "files"))
 
         from . import import_fbx
-        return import_fbx.load(self, context, **keywords)
+        import os
+
+        if self.files:
+            ret = {'CANCELLED'}
+            dirname = os.path.dirname(self.filepath)
+            for file in self.files:
+                path = os.path.join(dirname, file.name)
+                if import_fbx.load(self, context, filepath=path, **keywords) == {'FINISHED'}:
+                    ret = {'FINISHED'}
+            return ret
+        else:
+            return import_fbx.load(self, context, filepath=self.filepath, **keywords)
 
 
 class FBX_PT_import_include(bpy.types.Panel):



More information about the Bf-extensions-cvs mailing list