To the outside it appears at least superficially as if an object was not much more than it's location, rotation and scale values and the datablock handled the rest.

That's obviously not the case and you can only swap datablocks of the same type. Why is that? Why do objects even have a type? How do objects differ from each other when you ignore their datablocks?

  • $\begingroup$ Imho, at least to drive the properties in the panels... a camera, lamp or curve has not a mesh...? A linked camera can be set as active... etc. $\endgroup$ – m.ardito Mar 22 '18 at 6:48
  • $\begingroup$ @m.ardito That info could be taken from the datablock $\endgroup$ – Haunt_House Mar 22 '18 at 6:49
  • 1
    $\begingroup$ bpy.types.Object has props common to all types. I'd imagine that setting the readonly type once an object is instanced, based on its data, is an arbitrary but logical choice. Swapping an object from an empty to a lamp to a mesh to a lattice ??? the mind boggles. $\endgroup$ – batFINGER Mar 22 '18 at 6:55
  • 3
    $\begingroup$ Moot point.: doesn't turn the object into a camera, rather it uses the objects -Z axis as if it were the camera. The Z axis is an object property. $\endgroup$ – batFINGER Mar 22 '18 at 7:03
  • 1
    $\begingroup$ since this is gone back to all objects, not just linked, it seems it's a question for blender developers, perhaps: "why blender was not thought to use generic objects which can use any kind of datablock?". $\endgroup$ – m.ardito Mar 22 '18 at 7:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.