ID(bpy_struct)
base class — bpy_struct
subclasses —
Action
, Armature
, Brush
, CacheFile
, Camera
, Collection
, Curve
, FreestyleLineStyle
, GreasePencil
, Image
, Key
, Lattice
, Library
, Light
, LightProbe
, Mask
, Material
, Mesh
, MetaBall
, MovieClip
, NodeTree
, Object
, PaintCurve
, Palette
, ParticleSettings
, PointCloud
, Scene
, Screen
, Sound
, Speaker
, Text
, Texture
, VectorFont
, Volume
, WindowManager
, WorkSpace
, World
- class bpy.types.ID(bpy_struct)
Base type for data-blocks, defining a unique name, linking from other libraries and garbage collection
- asset_data
Additional data for an asset data-block
- Type
AssetMetaData
, (readonly)
- is_embedded_data
This data-block is not an independent one, but is actually a sub-data of another ID (typical example: root node trees or master collections)
- Type
boolean, default False, (readonly)
- is_evaluated
Whether this ID is runtime-only, evaluated data-block, or actual data from .blend file
- Type
boolean, default False, (readonly)
- is_library_indirect
Is this ID block linked indirectly
- Type
boolean, default False, (readonly)
- library_weak_reference
Weak reference to a data-block in another library .blend file (used to re-use already appended data instead of appending new copies)
- Type
LibraryWeakReference
, (readonly)
- name
Unique data-block ID name
- Type
string, default “”, (never None)
- name_full
Unique data-block ID name, including library one is any
- Type
string, default “”, (readonly, never None)
- original
Actual data-block from .blend file (Main database) that generated that evaluated one
- Type
ID
, (readonly)
- override_library
Library override data
- Type
IDOverrideLibrary
, (readonly)
- preview
Preview image and icon of this data-block (always 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)
- evaluated_get(depsgraph)
Get corresponding evaluated ID from the given dependency graph
- copy()
Create a copy of this data-block (not supported for all data-blocks)
- Returns
New copy of the ID
- Return type
- asset_mark()
Enable easier reuse of the data-block through the Asset Browser, with the help of customizable metadata (like previews, descriptions and tags)
- asset_clear()
Delete all asset metadata and turn the asset data-block back into a normal data-block
- asset_generate_preview()
Generate preview image (might be scheduled in a background thread)
- override_create(remap_local_usages=False)
Create an overridden local copy of this linked data-block (not supported for all data-blocks)
- Parameters
remap_local_usages (boolean, (optional)) – Whether local usages of the linked ID should be remapped to the new library override of it
- Returns
New overridden local copy of the ID
- Return type
- override_hierarchy_create(scene, view_layer, reference=None)
Create an overridden local copy of this linked data-block, and most of its dependencies when it is a Collection or and Object
- Parameters
scene (
Scene
, (never None)) – In which scene the new overrides should be instantiatedview_layer (
ViewLayer
, (never None)) – In which view layer the new overrides should be instantiatedreference (
ID
, (optional)) – Another ID (usually an Object or Collection) used to decide where to instantiate the new overrides
- Returns
New overridden local copy of the root ID
- Return type
- override_template_create()
Create an override template for this 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
- 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
- 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
- preview_ensure()
Ensure that this ID has preview data (if ID type supports it)
- Returns
The existing or created preview
- Return type
- classmethod bl_rna_get_subclass(id, default=None)
- Parameters
id (string) – The RNA type identifier.
- Returns
The RNA type or default when not found.
- Return type
bpy.types.Struct
subclass
- classmethod bl_rna_get_subclass_py(id, default=None)
- Parameters
id (string) – The RNA type identifier.
- Returns
The class or default when not found.
- Return type
type
Inherited Properties
Inherited Functions
References