# THIS FILE IS A PART OF VCStudio # PYTHON 3 # BPY ( WITH IN BLENDER ) ################################################################# # This file is running with in Blender to link get data from blend # files about their contents. # NOTE: It's using BPY module which is not available outside of # blender. So in order to test any changes to it. You have to # run it with in Blender. Or Using blender -P . # See blender --help for details. ################################################################# import bpy # Basically I want to have 3 types of data. # 0. What collections does the blend file has. # 1. What objects does the blend file has. And in what collection are they. # 2. Whether those objects are armatures. Or in other words what types are # these objects. # It's not going to work on pre 2.80 blenders. So there is this try. try: # Now let's look through all the collections that the blend file has. for n, i in enumerate(bpy.data.collections): # Then I want to know whether in this collection are any objects. foundobj = False # So let's try itterating through the object os the collection. for nn, b in enumerate(i.objects): # If we found enything there is this. foundobj = True print( ">>>", i.name, "<==" ,b.name, "<==" ,b.data) # Now some scenes have terribly huge amount of # stuff in there. This is why I break early. # Now this value probably should be done using a # setting in the UI somewhere. I'm not sure how # to do it yet. So yeah. if nn > 200: print("BROKEN AFTER", b.name) break if not foundobj: print( ">>>", i.name) #if n > 300: # break print ("VERSION = SUCCESS") except: print("ERROR")