Apply scaling to instances (multi-user objects)?

Please don’t tell me to make single user first and then re-link, because that’s impossible to work with.

Someone, by now, must have written a script to workaround this, I really, really hope?

EDIT: Turns out, yes they have…

That script is old now, though, and doesn’t seem to work in 2.8.

Also, it doesn’t take into account objects selected which may not be multi-user or several different multi-user objects in the same selection, which is my current issue (I have a huge selection, and I can’t pick out every object that’s instanced manually).

EDIT: Looking into Python myself… how come print(‘hello world’) doesn’t print anything? :stuck_out_tongue:

Well, a few hours later, and my first ever Python script is done:

Maybe I’ll look into how to add this to the Object Transform menu at a later point…

import bpy

types = ['MESH','CURVE','FONT']
objs = [i for i in bpy.context.selected_objects if i.type in types and i.data.users > 1]
for i in objs:   
   i.scale = (1,1,1)