Scaling multiple objects, Apply scale --> Cannot apply to multi user object

Hey folks,
I´ve downloaded a model and need to scale it to fit my needs. Problem is, the model consists of hundreds of objects with dozens of modifiers and curves and most of them cloned (linked) copies of one another.

I need to scale the thing as a whole single object but the guy didnt seem to have applied scale on all the sub objects. So all objects scale differently.

Tried selecting all objects (a) and applying scale (crtl+a) but get “Cannot apply to a multi user object” on dozens of objects. Trying to scale the engine from this file https://www.dropbox.com/s/onbz7g1w9ondsh0/R1820-60%20only.blend?dl=0
Any ideas on how to scale it uniformly?

Thanks ahead guys

1 Like

do this:

  • select all the instanced objects by selecting one object than SHIFT+L >>> Object Data
  • with all the objects selected press U anche choose “object & data”
  • now you can apply the scale using CTRL+A

if you want to recreate the instances:
-keep all your objects selected and press CTRL+L >>> Object Data.

cheers.

5 Likes

can I know, press U for which menu items ? I am using Blender 2.8rc3 and it does not work with press U.

**I found in 2.8rc3, it’s the menu Object > Relation > Make Single User > “then we choose from the list”
But seem it work only on 1 object even multiple linked objects selected. How can I unlink multiple selected objects ?

3 Likes

did you ever find out how to do this?

did test in 2.79 and 2.9
just select all objects and Ctrl-A
and it will apply scale to all objects !

if not working then elaborate so we can better understand what you mean !

happy bl

have the same problem
tried the SHIFT L – Object data stuff
it didn’t work

i would love some advice

Maybe old, but run into the same and solved it.
In Blender 3.0, Mac its

  1. Select/linked or cmd+l and then chose object data
  2. Object/Relationship/make single user/object and data (no shortcut, but you can define one)
  3. Now you can apply the transform or what ever you want. (cmd+a)
  4. To take it back: Object/Link/Link Object Data (Note that of course scaling of instances was undo in the step before. May be a problem with negativ scaling)

I only wonder why there is no script that does that automatically?

Now if someone wants a macro, these are the commands:

bpy.ops.object.select_linked(type=‘OBDATA’)
bpy.ops.object.make_single_user(object=True, obdata=True, material=False, animation=False, obdata_animation=False)
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.make_links_data(type=‘OBDATA’)

Object → Relationship → make single user → object & data

That worked for me. I’m new and I have literally no idea what any of this means, but it seems the objects were linked in some way that the scaling function did not like, and this unlinks them.

I don’t even think the other steps are necessary. Just unlink the object in question.

Linked means Instanced/Referenced. Its basically calling the mesh data for another object. This is also threaten in OpenGL and Render as an instance, meaning it performance faster, as it does need to be loaded individual. Think of a tree with 1 million polygons, and then instance it 10 times without performance problems.
However Blender Objects are not instances anymore, when a modifier get applied. Thats whats also called ‘reference’, its basically justing using the other object as reference for the base geometry.
If you unlink everything you also destroy any Reference or Instance.
But Blender let you reconnect that easily.
So, its a bit like C4D works, 3dsmax does that all automatically, same for Modo, only that Modo always has a main source item (which makes a lot things easier). Maya and Houdini are even more complicate here, allowing the same, but really tricky to relink things.