info = { 'icon' : 'CHECKMARK', 'description' : 'Check objects modifiers', } import bpy import os, re, shutil from os.path import dirname, basename, join, abspath, splitext, exists, isfile, isdir from os import listdir import datetime C = bpy.context D = bpy.data scn = scene = C.scene ## in scene syubloop ob.instance_collection.all_objects: print(f'\n== Modifiers check {basename(D.filepath)} ==') for ob in bpy.data.objects: if ob.type != 'ARMATURE' and ob.hide_viewport != ob.hide_render: print(f'/!\ {ob.name} view != render : hide_viewport {ob.hide_viewport}, hide_render {ob.hide_render}') if ob.type in ('MESH', 'CURVE', 'TEXT') and len(ob.modifiers) > 0: for mod in ob.modifiers: #mod.show_viewport = True #mod.show_render = True if mod.type == 'SUBSURF': # print (ob.name) if mod.render_levels < mod.levels: print(f'[M] {ob.name} subsurf render levels inferior to viewport : view {mod.levels} > render {mod.render_levels}') elif mod.render_levels == 0: print(f'[M] {ob.name} subsurf useless : render levels set to 0 : view {mod.levels} > render {mod.render_levels}') ''' if mod.type == 'ARMATURE': if mod.object: print (mod.object.name)#print armatrue target #ob.modifiers.remove(mod) #remove modifier if mod.type == 'SOLIDIFY': mod.thickness mod.offset ''' print('== check done.')