I have a few characters in separate .blend files each as a group called "Model" that I am attempting to add to a single scene. I am using python scrips to mass append each external group then immediately scale and offset it.
When I create a new .blend file (named: "sceneLoader.blend") and copy/past the below script then run, I see my newly appended character and armature group just fine and as expected.
But, if I select everything and delete, then run the script again, sometimes the armature is missing but the character mesh always comes through.
Weirder still, I can see the armature's hierarchy in the outliner but it is grayed out! And by double clicking on it produces the error:
Cannot edit external libdata
as if it were attempting to link instead of append???
Here's the script I use to produce this scenario:
blendfile = r"C:\Users\user\AppData\LocalLow\someapp\Scenes\Test123\myfile.blend" section = "\\Group\\" object = "Model" if (object in bpy.data.groups.keys()): bpy.data.groups[object].name = object + ".001" filepath = blendfile + section + object directory = blendfile + section filename = object scale = 0.47 offset_z = 0.068 bpy.ops.wm.append( filepath=filepath, filename=filename, directory=directory) object = bpy.data.groups[object].objects object.scale = (scale, scale, scale) object.location = (0,0,offset_z)
Note that I have many models I am trying to load into my scene, all of which have different parameters such as scale and offsets, but each group is named "Model". And
bpy.data.groups[object].objects should point to the empty on the character which the armature and mesh have been parented to.
I don't understand it, why am I only able to run this once initially and it works fine but on subsequent runs sometime the armature is not there?