示例#1
0
 def draw(self, context):
     layout = self.layout
     path = fd.get_file_browser_path(context)
     foldername = os.path.basename(os.path.normpath(path))
     if len(self.materials) == 0:
         layout.label("This object has no materials?", icon='ERROR')
     else:
         if len(self.materials) == 1:
             layout.label(
                 "Are you sure you want to save this material to this category?",
                 icon='QUESTION')
             layout.label("Material: " + self.materials[0].name,
                          icon='MATERIAL')
             layout.label("Category: " + foldername, icon='FILE_FOLDER')
             layout.prop(self, 'create_thumbnail')
         else:
             layout.label(
                 "Select the materials you want to save this material to this category?",
                 icon='QUESTION')
             for mat in self.materials:
                 row = layout.row()
                 row.label("Material: " + mat.name, icon='MATERIAL')
                 row.prop(mat, "selected", text="")
             layout.label("Category: " + foldername, icon='FILE_FOLDER')
             layout.prop(self, 'create_thumbnail')
示例#2
0
    def execute(self, context):
        wm = context.window_manager.materiallib
        path = fd.get_file_browser_path(context)
        files = os.listdir(path)
        for obj in wm.materials_in_category:
            wm.materials_in_category.remove(0)

        for file in files:
            filename, ext = os.path.splitext(file)
            if ext == '.blend':
                filepath = os.path.join(path, file)
                if os.path.isfile(filepath):
                    with bpy.data.libraries.load(filepath, False,
                                                 False) as (data_from,
                                                            data_to):

                        for index, material in enumerate(data_from.materials):
                            obj = wm.materials_in_category.add()
                            obj.name = material
                            obj.filename = filename
                            obj.filepath = filepath
                            obj.has_thumbnail = self.found_thumbnail(
                                files, obj.name)

        return {'FINISHED'}
示例#3
0
 def execute(self,context):
     import subprocess
     wm = context.window_manager.grouplib
     for obj in wm.groups_in_category:
         if obj.selected:
             script = self.write_script(obj.filepath, os.path.join(fd.get_file_browser_path(context),obj.name), obj.name)
             subprocess.call([bpy.app.binary_path, group_utils.get_thumbnail_path(), '-b', '--python', script])
     return{'FINISHED'}
示例#4
0
 def draw(self, context):
     layout = self.layout
     st = context.space_data
     params = st.params
     layout.operator(
         "fd_general.open_browser_window", text="Open in Browser", icon="FILE_FOLDER"
     ).path = fd.get_file_browser_path(context)
     layout.prop(params, "use_filter_blender", text="Show Blender Files")
示例#5
0
 def poll(cls, context):
     wm = context.window_manager.objectlib
     if len(wm.objects_in_category) > 0:
         if fd.get_file_browser_path(context):
             return True
         else:
             return False
     else:
         return False
示例#6
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         wm = context.window_manager.worldlib
         for wld in wm.worlds_in_category:
             if wld.selected:
                 return True
     else:
         return False
     return False
示例#7
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         wm = context.window_manager.worldlib
         for wld in wm.worlds_in_category:
             if wld.selected:
                 return True
     else:
         return False
     return False
示例#8
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         wm = context.window_manager.materiallib
         for mat in wm.materials_in_category:
             if mat.selected:
                 return True
     else:
         return False
     return False
示例#9
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         wm = context.window_manager.materiallib
         for mat in wm.materials_in_category:
             if mat.selected:
                 return True
     else:
         return False
     return False
示例#10
0
 def execute(self,context):
     import subprocess
     wm = context.window_manager.worldlib
     category_path = fd.get_file_browser_path(context)
     for wld in wm.worlds_in_category:
         if wld.selected:
             script = world_utils.create_thumbnail_script(wld.filepath, wld.name, os.path.join(category_path,wld.name))
             subprocess.call([bpy.app.binary_path, world_utils.get_thumbnail_path(), '-b', '--python', script])
     return{'FINISHED'}
示例#11
0
 def draw(self, context):
     layout = self.layout
     st = context.space_data
     params = st.params
     layout.operator(
         "fd_general.open_browser_window",
         text="Open in Browser",
         icon='FILE_FOLDER').path = fd.get_file_browser_path(context)
     layout.prop(params, "use_filter_blender", text="Show Blender Files")
示例#12
0
 def execute(self,context):
     import subprocess
     wm = context.window_manager.objectlib
     for obj in wm.objects_in_category:
         if obj.selected:
             script = object_utils.create_thumbnail_script(obj.filepath, 
                                                           obj.name, 
                                                           os.path.join(fd.get_file_browser_path(context),obj.name))
             subprocess.call(bpy.app.binary_path + ' "' + object_utils.get_thumbnail_path() + '" -b --python "' + script + '"')
     return{'FINISHED'}
示例#13
0
 def draw(self, context):
     layout = self.layout
     obj = context.object
     if obj:
         path = fd.get_file_browser_path(context)
         foldername = os.path.basename(os.path.normpath(path))
         layout.label("Are you sure you want to save this object to this category?",icon='QUESTION')
         layout.label("Object: " + obj.name,icon='OBJECT_DATA')
         layout.label("Category: " + foldername,icon='FILE_FOLDER')
         layout.prop(self,'create_thumbnail')
示例#14
0
 def execute(self, context):
     import subprocess
     wm = context.window_manager.worldlib
     category_path = fd.get_file_browser_path(context)
     for wld in wm.worlds_in_category:
         if wld.selected:
             script = world_utils.create_thumbnail_script(
                 wld.filepath, wld.name,
                 os.path.join(category_path, wld.name))
             subprocess.call([
                 bpy.app.binary_path,
                 world_utils.get_thumbnail_path(), '-b', '--python', script
             ])
     return {'FINISHED'}
示例#15
0
    def invoke(self, context, event):
        world = context.scene.world
        import subprocess
        path = fd.get_file_browser_path(context)
        blend_path = os.path.join(path,world.name + ".blend")
        thumbnail_path = os.path.join(path,world.name + ".png")
        
        script = world_utils.save_world_script(bpy.data.filepath, world.name, blend_path)
        subprocess.call([bpy.app.binary_path, '-b', '--python', script])
        
        script = world_utils.create_thumbnail_script(blend_path, world.name, thumbnail_path)
        subprocess.call([bpy.app.binary_path, world_utils.get_thumbnail_path(), '-b', '--python', script])

        return {'FINISHED'}
示例#16
0
    def execute(self, context):
        obj = context.object
        filepath = bpy.data.filepath
        path = fd.get_file_browser_path(context)
        blend_path = os.path.join(path,obj.name + ".blend")
        thumbnail_path = os.path.join(path,obj.name + ".png")
        import subprocess

        script = object_utils.save_object_script(filepath, obj.name, blend_path)
        subprocess.call(bpy.app.binary_path + ' -b --python "' + script + '"')

        if self.create_thumbnail:
            script = object_utils.create_thumbnail_script(blend_path, obj.name, thumbnail_path)
            subprocess.call(bpy.app.binary_path + ' "' + object_utils.get_thumbnail_path() + '" -b --python "' + script + '"')
        return {'FINISHED'}
示例#17
0
 def execute(self, context):
     for group in self.groups:
         if group.selected:
             grp = bpy.data.groups[group.name]
             filepath = bpy.data.filepath
             path = fd.get_file_browser_path(context)
             blend_path = os.path.join(path,grp.name + ".blend")
             thumbnail_path = os.path.join(path,grp.name + ".png")
             import subprocess
             
             script = group_utils.save_group_script(filepath, grp.name, blend_path)
             subprocess.call([bpy.app.binary_path, '-b', '--python', script])
             
             if self.create_thumbnail:
                 script = group_utils.create_thumbnail_script(blend_path, grp.name, thumbnail_path)
                 subprocess.call([bpy.app.binary_path, group_utils.get_thumbnail_path(), '-b', '--python', script])
     return {'FINISHED'}
示例#18
0
 def execute(self, context):
     filepath = bpy.data.filepath
     path = fd.get_file_browser_path(context)
     for mat in self.materials:
         if mat.selected:
             
             blend_path = os.path.join(path,mat.name + ".blend")
             thumbnail_path = os.path.join(path,mat.name + ".png")
             import subprocess
             
             script = material_utils.save_material_script(filepath, mat.name, blend_path)
             subprocess.call([bpy.app.binary_path, '-b', '--python', script])
             
             if self.create_thumbnail:
                 script = material_utils.create_thumbnail_script(blend_path, mat.name, thumbnail_path)
                 subprocess.call([bpy.app.binary_path, material_utils.get_thumbnail_path(), '-b', '--python', script])
     return {'FINISHED'}
示例#19
0
    def invoke(self, context, event):
        world = context.scene.world
        import subprocess
        path = fd.get_file_browser_path(context)
        blend_path = os.path.join(path, world.name + ".blend")
        thumbnail_path = os.path.join(path, world.name + ".png")

        script = world_utils.save_world_script(bpy.data.filepath, world.name,
                                               blend_path)
        subprocess.call([bpy.app.binary_path, '-b', '--python', script])

        script = world_utils.create_thumbnail_script(blend_path, world.name,
                                                     thumbnail_path)
        subprocess.call([
            bpy.app.binary_path,
            world_utils.get_thumbnail_path(), '-b', '--python', script
        ])

        return {'FINISHED'}
示例#20
0
 def draw(self, context):
     layout = self.layout
     path = fd.get_file_browser_path(context)
     foldername = os.path.basename(os.path.normpath(path))
     if len(self.materials) == 0:
         layout.label("This object has no materials?",icon='ERROR')
     else:
         if len(self.materials) == 1:
             layout.label("Are you sure you want to save this material to this category?",icon='QUESTION')
             layout.label("Material: " + self.materials[0].name,icon='MATERIAL')
             layout.label("Category: " + foldername,icon='FILE_FOLDER')
             layout.prop(self,'create_thumbnail')
         else:
             layout.label("Select the materials you want to save this material to this category?",icon='QUESTION')
             for mat in self.materials:
                 row = layout.row()
                 row.label("Material: " + mat.name,icon='MATERIAL')
                 row.prop(mat,"selected",text="")
             layout.label("Category: " + foldername,icon='FILE_FOLDER')
             layout.prop(self,'create_thumbnail')
示例#21
0
 def draw(self, context):
     layout = self.layout
     obj = context.object
     if obj:
         path = fd.get_file_browser_path(context)
         foldername = os.path.basename(os.path.normpath(path))
         if len(self.groups) == 0:
             layout.label("The object you have selected is not part of a group?",icon='ERROR')
         else:
             if len(self.groups) == 1:
                 layout.label("Are you sure you want to save this group to this category?",icon='QUESTION')
                 layout.label("Group: " + self.groups[0].name,icon='GROUP')
                 layout.label("Category: " + foldername,icon='FILE_FOLDER')
                 layout.prop(self,'create_thumbnail')
             else:
                 layout.label("Select the groups you want to save to this category?",icon='QUESTION')
                 for group in self.groups:
                     row = layout.row()
                     row.label("Group: " + group.name,icon='GROUP')
                     row.prop(group,'selected',text="")
                 layout.label("Category: " + foldername,icon='FILE_FOLDER')
                 layout.prop(self,'create_thumbnail')
示例#22
0
    def execute(self,context):
        wm = context.window_manager.objectlib
        path = fd.get_file_browser_path(context)
        files = os.listdir(path)
        for obj in wm.objects_in_category:
            wm.objects_in_category.remove(0)
            
        for file in files:
            filename, ext = os.path.splitext(file)
            if ext == '.blend':
                filepath = os.path.join(path,file)
                if os.path.isfile(filepath):
                    with bpy.data.libraries.load(filepath, False, False) as (data_from, data_to):
                        
                        for index, object in enumerate(data_from.objects):
                            obj = wm.objects_in_category.add()
                            obj.name = object
                            obj.filename = filename
                            obj.filepath = filepath
                            obj.has_thumbnail = self.found_thumbnail(files, obj.name)

        return{'FINISHED'}
示例#23
0
    def execute(self, context):
        filepath = bpy.data.filepath
        path = fd.get_file_browser_path(context)
        for mat in self.materials:
            if mat.selected:

                blend_path = os.path.join(path, mat.name + ".blend")
                thumbnail_path = os.path.join(path, mat.name + ".png")
                import subprocess

                script = material_utils.save_material_script(
                    filepath, mat.name, blend_path)
                subprocess.call(
                    [bpy.app.binary_path, '-b', '--python', script])

                if self.create_thumbnail:
                    script = material_utils.create_thumbnail_script(
                        blend_path, mat.name, thumbnail_path)
                    subprocess.call([
                        bpy.app.binary_path,
                        material_utils.get_thumbnail_path(), '-b', '--python',
                        script
                    ])
        return {'FINISHED'}
 def draw(self, context):
     layout = self.layout
     st = context.space_data
     #TODO file browser options
     #layout.operator("fd_general.open_browser_window",text="File Browser Options",icon='INFO').path = fd.get_file_browser_path(context) #TODO
     layout.operator("fd_general.open_browser_window",text="Open Location in Browser",icon='FILE_FOLDER').path = fd.get_file_browser_path(context)
     layout.separator()
     layout.operator("fd_general.create_thumbnails",text="Create Thumbnails",icon='EXTERNAL_DATA')
     layout.operator("fd_general.append_items",text="Append Items",icon='EXTERNAL_DATA')
示例#25
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         return True
     else:
         return False
示例#26
0
 def poll(cls, context):
     if fd.get_file_browser_path(context):
         return True
     else:
         return False