ID(bpy_struct)

base class — bpy_struct

subclasses — Action, Armature, Brush, CacheFile, Camera, Curve, FreestyleLineStyle, GreasePencil, Group, Image, Key, Lamp, Lattice, Library, Mask, Material, Mesh, MetaBall, MovieClip, NodeTree, Object, PaintCurve, Palette, ParticleSettings, Scene, Screen, Sound, Speaker, Text, Texture, VectorFont, WindowManager, World

class bpy.types.ID(bpy_struct)

Base type for data-blocks, defining a unique name, linking from other libraries and garbage collection

is_library_indirect

Is this ID block linked indirectly

Type:boolean, default False, (readonly)
is_updated

Data-block is tagged for recalculation

Type:boolean, default False, (readonly)
is_updated_data

Data-block data is tagged for recalculation

Type:boolean, default False, (readonly)
library

Library file the data-block is linked from

Type:Library, (readonly)
name

Unique data-block ID name

Type:string, default “”, (never None)
preview

Preview image and icon of this data-block (None if not supported for this type of data)

Type:ImagePreview, (readonly)
tag

Tools can use this to tag data for their own purposes (initial state is undefined)

Type:boolean, default False
use_fake_user

Save this data-block even if it has no users

Type:boolean, default False
users

Number of times this data-block is referenced

Type:int in [0, inf], default 0, (readonly)
copy()

Create a copy of this data-block (not supported for all data-blocks)

Returns:New copy of the ID
Return type:ID
user_clear()

Clear the user count of a data-block so its not saved, on reload the data will be removed

This function is for advanced use only, misuse can crash blender since the user count is used to prevent data being removed when it is used.


# This example shows what _not_ to do, and will crash blender.
import bpy

# object which is in the scene.
obj = bpy.data.objects["Cube"]

# without this, removal would raise an error.
obj.user_clear()

# runs without an exception
# but will crash on redraw.
bpy.data.objects.remove(obj)
user_remap(new_id)

Replace all usage in the .blend file of this ID by new given one

Parameters:new_id (ID, (never None)) – New ID to use
make_local(clear_proxy=True)

Make this datablock local, return local one (may be a copy of the original, in case it is also indirectly used)

Parameters:clear_proxy (boolean, (optional)) – Whether to clear proxies (the default behavior, note that if object has to be duplicated to be made local, proxies are always cleared)
Returns:This ID, or the new ID if it was copied
Return type:ID
user_of_id(id)

Count the number of times that ID uses/references given one

Parameters:id (ID, (never None)) – ID to count usages
Returns:Number of usages/references of given id by current data-block
Return type:int in [0, inf]
animation_data_create()

Create animation data to this ID, note that not all ID types support this

Returns:New animation data or NULL
Return type:AnimData
animation_data_clear()

Clear animation on this this ID

update_tag(refresh={})

Tag the ID to update its display data, e.g. when calling bpy.types.Scene.update

Parameters:refresh (enum set in {'OBJECT', 'DATA', 'TIME'}, (optional)) – Type of updates to perform

Inherited Properties

Inherited Functions

References