Datablock Name and Active Object Name?

(elam) #1

Could someone please explain these to me and their differences?

I’m used to having to name a mesh in other 3d programs, so two names is a bit confusing?

I noticed in the OOPs window they are represented differently.
Object names are represented as what looks like vectors while the meshes are represented as vertices.


(theeth) #2

Objects holds the position, size and rotation (the matrix, in math terms), while the Datablock holds the inner structure of the object and define what it is. You can have more than one object linked to the same Datablock (instances), but not more than one Datablock for an Object.

Datablocks type are Mesh, Surface, Curve, Lamp, Camera, …

All Objects have a Datablock link to it (with the exception of Emptys, which are placeholders).

I hope that helps.


(elam) #3

damn, your fast.

So object name holds the data for the mesh in general while datablock describes it’s innards?

So if I alter a mesh by moving one vertex or delete a vertex, it’s now a different datablock?

Are both of these structures accessible through python?

Thanks for response.


(theeth) #4

no. the Object holds the positionnal data (general data such as rotation, translation, resizing, …) and the datablock holds all the mesh structure. If you modify the mesh, the datablock remains the same.

This is very useful when having many instance of the same mesh. That is, many objects all linked to the same datablock. When modifying the mesh structure, the modification will be applied to all the other objects, since they all share the same datablock.

I hope that’s more clear.