Object(ID)

Basic Object Operations Example

This script demonstrates basic operations on object like creating new object, placing it into a view layer, selecting it and making it active.

import bpy

view_layer = bpy.context.view_layer

# Create new light datablock.
light_data = bpy.data.lights.new(name="New Light", type='POINT')

# Create new object with our light datablock.
light_object = bpy.data.objects.new(name="New Light", object_data=light_data)

# Link light object to the active collection of current view layer,
# so that it'll appear in the current scene.
view_layer.active_layer_collection.collection.objects.link(light_object)

# Place light to a specified location.
light_object.location = (5.0, 5.0, 5.0)

# And finally select it and make it active.
light_object.select_set(True)
view_layer.objects.active = light_object

base classes — bpy_struct, ID

class bpy.types.Object(ID)

Object data-block defining an object in a scene

active_material

Active material being displayed

Type:

Material

active_material_index

Index of active material slot

Type:

int in [0, inf], default 0

active_selection_set

Index of the currently active selection set

Type:

int in [-inf, inf], default 0

active_shape_key

Current shape key

Type:

ShapeKey, (readonly)

active_shape_key_index

Current shape key index

Type:

int in [-32768, 32767], default 0

add_rest_position_attribute

Add a “rest_position” attribute that is a copy of the position attribute before shape keys and modifiers are evaluated

Type:

boolean, default False

animation_data

Animation data for this data-block

Type:

AnimData, (readonly)

animation_visualization

Animation data for this data-block

Type:

AnimViz, (readonly, never None)

bound_box

Object’s bounding box in object-space coordinates, all values are -1.0 when not available

Type:

float multi-dimensional array of 8 * 3 items in [-inf, inf], default ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), (readonly)

collision

Settings for using the object as a collider in physics simulation

Type:

CollisionSettings, (readonly)

color

Object color and alpha, used when the Object Color mode is enabled

Type:

float array of 4 items in [0, inf], default (1.0, 1.0, 1.0, 1.0)

constraints

Constraints affecting the transformation of the object

Type:

ObjectConstraints bpy_prop_collection of Constraint, (readonly)

data

Object data

Type:

ID

delta_location

Extra translation added to the location of the object

Type:

mathutils.Vector of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

delta_rotation_euler

Extra rotation added to the rotation of the object (when using Euler rotations)

Type:

mathutils.Euler rotation of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

delta_rotation_quaternion

Extra rotation added to the rotation of the object (when using Quaternion rotations)

Type:

mathutils.Quaternion rotation of 4 items in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)

delta_scale

Extra scaling added to the scale of the object

Type:

mathutils.Vector of 3 items in [-inf, inf], default (1.0, 1.0, 1.0)

dimensions

Absolute bounding box dimensions of the object. Warning: Assigning to it or its members multiple consecutive times will not work correctly, as this needs up-to-date evaluated data

Type:

mathutils.Vector of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

display

Object display settings for 3D viewport

Type:

ObjectDisplay, (readonly, never None)

display_bounds_type

Object boundary display type

  • BOX Box – Display bounds as box.

  • SPHERE Sphere – Display bounds as sphere.

  • CYLINDER Cylinder – Display bounds as cylinder.

  • CONE Cone – Display bounds as cone.

  • CAPSULE Capsule – Display bounds as capsule.

Type:

enum in [‘BOX’, ‘SPHERE’, ‘CYLINDER’, ‘CONE’, ‘CAPSULE’], default ‘BOX’

display_type

How to display object in viewport

  • BOUNDS Bounds – Display the bounds of the object.

  • WIRE Wire – Display the object as a wireframe.

  • SOLID Solid – Display the object as a solid (if solid drawing is enabled in the viewport).

  • TEXTURED Textured – Display the object with textures (if textures are enabled in the viewport).

Type:

enum in [‘BOUNDS’, ‘WIRE’, ‘SOLID’, ‘TEXTURED’], default ‘TEXTURED’

empty_display_size

Size of display for empties in the viewport

Type:

float in [0.0001, 1000], default 1.0

empty_display_type

Viewport display style for empties

Type:

enum in Object Empty Drawtype Items, default ‘PLAIN_AXES’

empty_image_depth

Determine which other objects will occlude the image

Type:

enum in [‘DEFAULT’, ‘FRONT’, ‘BACK’], default ‘DEFAULT’

empty_image_offset

Origin offset distance

Type:

float array of 2 items in [-inf, inf], default (-0.5, -0.5)

empty_image_side

Show front/back side

Type:

enum in [‘DOUBLE_SIDED’, ‘FRONT’, ‘BACK’], default ‘DOUBLE_SIDED’

field

Settings for using the object as a field in physics simulation

Type:

FieldSettings, (readonly)

game

Game engine related settings for the object

Type:

GameObjectSettings, (readonly, never None)

hide_probe_plane

Globally disable in planar light probes

Type:

boolean, default False

hide_probe_sphere

Globally disable in spherical light probes

Type:

boolean, default False

hide_probe_volume

Globally disable in volume probes

Type:

boolean, default False

hide_render

Globally disable in renders

Type:

boolean, default False

hide_select

Disable selection in viewport

Type:

boolean, default False

hide_viewport

Globally disable in viewports

Type:

boolean, default False

image_user

Parameters defining which layer, pass and frame of the image is displayed

Type:

ImageUser, (readonly, never None)

instance_collection

Instance an existing collection

Type:

Collection

instance_faces_scale

Scale the face instance objects

Type:

float in [0.001, 10000], default 1.0

instance_type

If not None, object instancing method to use

  • NONE None.

  • VERTS Vertices – Instantiate child objects on all vertices.

  • FACES Faces – Instantiate child objects on all faces.

  • COLLECTION Collection – Enable collection instancing.

Type:

enum in [‘NONE’, ‘VERTS’, ‘FACES’, ‘COLLECTION’], default ‘NONE’

is_from_instancer

Object comes from a instancer

Type:

boolean, default False, (readonly)

is_from_set

Object comes from a background set

Type:

boolean, default False, (readonly)

is_holdout

Render objects as a holdout or matte, creating a hole in the image with zero alpha, to fill out in compositing with real footage or another render

Type:

boolean, default False

is_instancer
Type:

boolean, default False, (readonly)

is_shadow_catcher

Only render shadows and reflections on this object, for compositing renders into real footage. Objects with this setting are considered to already exist in the footage, objects without it are synthetic objects being composited into it.

Type:

boolean, default False

light_linking

Light linking settings

Type:

ObjectLightLinking, (readonly, never None)

lightgroup

Lightgroup that the object belongs to

Type:

string, default “”, (never None)

lineart

Line Art settings for the object

Type:

ObjectLineArt, (readonly)

location

Location of the object

Type:

mathutils.Vector of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

lock_location

Lock editing of location when transforming

Type:

boolean array of 3 items, default (False, False, False)

lock_rotation

Lock editing of rotation when transforming

Type:

boolean array of 3 items, default (False, False, False)

lock_rotation_w

Lock editing of ‘angle’ component of four-component rotations when transforming

Type:

boolean, default False

lock_rotations_4d

Lock editing of four component rotations by components (instead of as Eulers)

Type:

boolean, default True

lock_scale

Lock editing of scale when transforming

Type:

boolean array of 3 items, default (False, False, False)

lod_factor

The factor applied to distance computed in Lod

Type:

float in [0, inf], default 1.0

lod_levels

A collection of detail levels to automatically switch between

Type:

bpy_prop_collection of LodLevel, (readonly)

material_slots

Material slots in the object

Type:

bpy_prop_collection of MaterialSlot, (readonly)

matrix_basis

Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied

Type:

mathutils.Matrix of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))

matrix_local

Parent relative transformation matrix. Warning: Only takes into account object parenting, so e.g. in case of bone parenting you get a matrix relative to the Armature object, not to the actual parent bone

Type:

mathutils.Matrix of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))

matrix_parent_inverse

Inverse of object’s parent matrix at time of parenting

Type:

mathutils.Matrix of 4 * 4 items in [-inf, inf], default ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0))

matrix_world

Worldspace transformation matrix

Type:

mathutils.Matrix of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))

mode

Object interaction mode

Type:

enum in Object Mode Items, default ‘OBJECT’, (readonly)

modifiers

Modifiers affecting the geometric data of the object

Type:

ObjectModifiers bpy_prop_collection of Modifier, (readonly)

motion_path

Motion Path for this element

Type:

MotionPath, (readonly)

override_game_transform_priority

Override logic transform with depsgraph autotransform

Type:

boolean, default False

parent

Parent object

Type:

Object

parent_bone

Name of parent bone in case of a bone parenting relation

Type:

string, default “”, (never None)

parent_type

Type of parent relation

  • OBJECT Object – The object is parented to an object.

  • ARMATURE Armature.

  • LATTICE Lattice – The object is parented to a lattice.

  • VERTEX Vertex – The object is parented to a vertex.

  • VERTEX_3 3 Vertices.

  • BONE Bone – The object is parented to a bone.

Type:

enum in [‘OBJECT’, ‘ARMATURE’, ‘LATTICE’, ‘VERTEX’, ‘VERTEX_3’, ‘BONE’], default ‘OBJECT’

parent_vertices

Indices of vertices in case of a vertex parenting relation

Type:

int array of 3 items in [0, inf], default (0, 0, 0)

particle_systems

Particle systems emitted from the object

Type:

ParticleSystems bpy_prop_collection of ParticleSystem, (readonly)

pass_index

Index number for the “Object Index” render pass

Type:

int in [0, 32767], default 0

pose

Current pose for armatures

Type:

Pose, (readonly)

rigid_body

Settings for rigid body simulation

Type:

RigidBodyObject, (readonly)

rigid_body_constraint

Constraint constraining rigid bodies

Type:

RigidBodyConstraint, (readonly)

rotation_axis_angle

Angle of Rotation for Axis-Angle rotation representation

Type:

float array of 4 items in [-inf, inf], default (0.0, 0.0, 1.0, 0.0)

rotation_euler

Rotation in Eulers

Type:

mathutils.Euler rotation of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

rotation_mode
Type:

enum in Object Rotation Mode Items, default ‘XYZ’

rotation_quaternion

Rotation in Quaternions

Type:

mathutils.Quaternion rotation of 4 items in [-inf, inf], default (1.0, 0.0, 0.0, 0.0)

scale

Scaling of the object

Type:

mathutils.Vector of 3 items in [-inf, inf], default (1.0, 1.0, 1.0)

selection_sets

List of groups of bones for easy selection

Type:

bpy_prop_collection of SelectionSet, (readonly)

shader_effects

Effects affecting display of object

Type:

ObjectShaderFx bpy_prop_collection of ShaderFx, (readonly)

show_all_edges

Display all edges for mesh objects

Type:

boolean, default False

show_axis

Display the object’s origin and axes

Type:

boolean, default False

show_bounds

Display the object’s bounds

Type:

boolean, default False

show_empty_image_only_axis_aligned

Only display the image when it is aligned with the view axis

Type:

boolean, default False

show_empty_image_orthographic

Display image in orthographic mode

Type:

boolean, default False

show_empty_image_perspective

Display image in perspective mode

Type:

boolean, default False

show_in_front

Make the object display in front of others

Type:

boolean, default False

show_instancer_for_render

Make instancer visible when rendering

Type:

boolean, default True

show_instancer_for_viewport

Make instancer visible in the viewport

Type:

boolean, default True

show_name

Display the object’s name

Type:

boolean, default False

show_only_shape_key

Only show the active shape key at full value

Type:

boolean, default False

show_texture_space

Display the object’s texture space

Type:

boolean, default False

show_transparent

Display material transparency in the object

Type:

boolean, default False

show_wire

Display the object’s wireframe over solid shading

Type:

boolean, default False

slow_parent_offset

Delay in the parent relationship

Type:

float in [-1.04857e+06, 1.04857e+06], default 0.0

soft_body

Settings for soft body simulation

Type:

SoftBodySettings, (readonly)

track_axis

Axis that points in the ‘forward’ direction (applies to Instance Vertices when Align to Vertex Normal is enabled)

Type:

enum in Object Axis Items, default ‘POS_X’

type

Type of object

Type:

enum in Object Type Items, default ‘EMPTY’, (readonly)

up_axis

Axis that points in the upward direction (applies to Instance Vertices when Align to Vertex Normal is enabled)

Type:

enum in [‘X’, ‘Y’, ‘Z’], default ‘X’

use_camera_lock_parent

View Lock 3D viewport camera transformation affects the object’s parent instead

Type:

boolean, default False

use_dynamic_topology_sculpting
Type:

boolean, default False, (readonly)

use_empty_image_alpha

Use alpha blending instead of alpha test (can produce sorting artifacts)

Type:

boolean, default False

use_grease_pencil_lights

Lights affect Grease Pencil object

Type:

boolean, default True

use_instance_faces_scale

Scale instance based on face size

Type:

boolean, default False

use_instance_vertices_rotation

Rotate instance according to vertex normal

Type:

boolean, default False

use_lod_physics

Update LOD physics shape in the same time than render shape

Type:

boolean, default False

use_mesh_mirror_x

Enable mesh symmetry in the X axis

Type:

boolean, default False

use_mesh_mirror_y

Enable mesh symmetry in the Y axis

Type:

boolean, default False

use_mesh_mirror_z

Enable mesh symmetry in the Z axis

Type:

boolean, default False

use_shape_key_edit_mode

Display shape keys in edit mode (for meshes only)

Type:

boolean, default False

use_simulation_cache

Cache frames during simulation nodes playback

Type:

boolean, default True

use_slow_parent

Create a delay in the parent relationship (beware: this isn’t renderfarm safe and may be invalid after jumping around the timeline)

Type:

boolean, default False

vertex_groups

Vertex groups of the object

Type:

VertexGroups bpy_prop_collection of VertexGroup, (readonly)

visible_camera

Object visibility to camera rays

Type:

boolean, default False

visible_diffuse

Object visibility to diffuse rays

Type:

boolean, default False

visible_glossy

Object visibility to glossy rays

Type:

boolean, default False

visible_shadow

Object visibility to shadow rays

Type:

boolean, default False

visible_transmission

Object visibility to transmission rays

Type:

boolean, default False

visible_volume_scatter

Object visibility to volume scattering rays

Type:

boolean, default False

children

All the children of this object.

Type:

tuple of Object

Note

Takes O(len(bpy.data.objects)) time.

(readonly)

children_recursive

A list of all children from this object.

Type:

tuple of Object

Note

Takes O(len(bpy.data.objects)) time.

(readonly)

users_collection

The collections this object is in.

Type:

tuple of Collection

Note

Takes O(len(bpy.data.collections) + len(bpy.data.scenes)) time.

(readonly)

users_scene

The scenes this object is in.

Type:

tuple of Scene

Note

Takes O(len(bpy.data.scenes) * len(bpy.data.objects)) time.

(readonly)

select_get(*, view_layer=None)

Test if the object is selected. The selection state is per view layer.

Parameters:

view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

Returns:

Object selected

Return type:

boolean

select_set(state, *, view_layer=None)

Select or deselect the object. The selection state is per view layer.

Parameters:
  • state (boolean) – Selection state to define

  • view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

hide_get(*, view_layer=None)

Test if the object is hidden for viewport editing. This hiding state is per view layer.

Parameters:

view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

Returns:

Object hidden

Return type:

boolean

hide_set(state, *, view_layer=None)

Hide the object for viewport editing. This hiding state is per view layer.

Parameters:
  • state (boolean) – Hide state to define

  • view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

visible_get(*, view_layer=None, viewport=None)

Test if the object is visible in the 3D viewport, taking into account all visibility settings

Parameters:
  • view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

  • viewport (SpaceView3D, (optional)) – Use this instead of the active 3D viewport

Returns:

Object visible

Return type:

boolean

holdout_get(*, view_layer=None)

Test if object is masked in the view layer

Parameters:

view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

Returns:

Object holdout

Return type:

boolean

indirect_only_get(*, view_layer=None)

Test if object is set to contribute only indirectly (through shadows and reflections) in the view layer

Parameters:

view_layer (ViewLayer, (optional)) – Use this instead of the active view layer

Returns:

Object indirect only

Return type:

boolean

local_view_get(viewport)

Get the local view state for this object

Parameters:

viewport (SpaceView3D) – Viewport in local view

Returns:

Object local view state

Return type:

boolean

local_view_set(viewport, state)

Set the local view state for this object

Parameters:
  • viewport (SpaceView3D) – Viewport in local view

  • state (boolean) – Local view state to define

visible_in_viewport_get(viewport)

Check for local view and local collections for this viewport and object

Parameters:

viewport (SpaceView3D) – Viewport in local collections

Returns:

Object viewport visibility

Return type:

boolean

convert_space(*, pose_bone=None, matrix=((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), from_space='WORLD', to_space='WORLD')

Convert (transform) the given matrix from one space to another

Parameters:
  • pose_bone (PoseBone, (optional)) – Bone to use to define spaces (may be None, in which case only the two ‘WORLD’ and ‘LOCAL’ spaces are usable)

  • matrix (mathutils.Matrix of 4 * 4 items in [-inf, inf], (optional)) – The matrix to transform

  • from_space (enum in ['WORLD', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'], (optional)) –

    The space in which ‘matrix’ is currently

    • WORLD World Space – The most global space in Blender.

    • POSE Pose Space – The pose space of a bone (its armature’s object space).

    • LOCAL_WITH_PARENT Local With Parent – The rest pose local space of a bone (this matrix includes parent transforms).

    • LOCAL Local Space – The local space of an object/bone.

  • to_space (enum in ['WORLD', 'POSE', 'LOCAL_WITH_PARENT', 'LOCAL'], (optional)) –

    The space to which you want to transform ‘matrix’

    • WORLD World Space – The most global space in Blender.

    • POSE Pose Space – The pose space of a bone (its armature’s object space).

    • LOCAL_WITH_PARENT Local With Parent – The rest pose local space of a bone (this matrix includes parent transforms).

    • LOCAL Local Space – The local space of an object/bone.

Returns:

The transformed matrix

Return type:

mathutils.Matrix of 4 * 4 items in [-inf, inf]

calc_matrix_camera(depsgraph, *, x=1, y=1, scale_x=1.0, scale_y=1.0)

Generate the camera projection matrix of this object (mostly useful for Camera and Light types)

Parameters:
  • depsgraph (Depsgraph) – Depsgraph to get evaluated data from

  • x (int in [0, inf], (optional)) – Width of the render area

  • y (int in [0, inf], (optional)) – Height of the render area

  • scale_x (float in [1e-06, inf], (optional)) – Width scaling factor

  • scale_y (float in [1e-06, inf], (optional)) – Height scaling factor

Returns:

The camera projection matrix

Return type:

mathutils.Matrix of 4 * 4 items in [-inf, inf]

camera_fit_coords(depsgraph, coordinates)

Compute the coordinate (and scale for ortho cameras) given object should be to ‘see’ all given coordinates

Parameters:
  • depsgraph (Depsgraph) – Depsgraph to get evaluated data from

  • coordinates (float array of 1 items in [-inf, inf], (never None)) – Coordinates to fit in

Return (co_return, scale_return):

co_return, The location to aim to be able to see all given points, mathutils.Vector of 3 items in [-inf, inf]

scale_return, The ortho scale to aim to be able to see all given points (if relevant), float in [-inf, inf]

crazyspace_eval(depsgraph, scene)

Compute orientation mapping between vertices of an original object and object with shape keys and deforming modifiers applied.The evaluation is to be freed with the crazyspace_eval_free function

Parameters:
  • depsgraph (Depsgraph) – Dependency Graph, Evaluated dependency graph

  • scene (Scene) – Scene, Scene of the object

crazyspace_displacement_to_deformed(*, vertex_index=0, displacement=(0.0, 0.0, 0.0))

Convert displacement vector from non-deformed object space to deformed object space

Parameters:
  • vertex_index (int in [-inf, inf], (optional)) – vertex_index

  • displacement (mathutils.Vector of 3 items in [-inf, inf], (optional)) – displacement

Returns:

displacement_deformed

Return type:

mathutils.Vector of 3 items in [-inf, inf]

crazyspace_displacement_to_original(*, vertex_index=0, displacement=(0.0, 0.0, 0.0))

Free evaluated state of crazyspace

Parameters:
  • vertex_index (int in [-inf, inf], (optional)) – vertex_index

  • displacement (mathutils.Vector of 3 items in [-inf, inf], (optional)) – displacement

Returns:

displacement_original

Return type:

mathutils.Vector of 3 items in [-inf, inf]

crazyspace_eval_clear()

crazyspace_eval_clear

to_mesh(*, preserve_all_data_layers=False, depsgraph=None)

Create a Mesh data-block from the current state of the object. The object owns the data-block. To force free it use to_mesh_clear(). The result is temporary and cannot be used by objects from the main database.

Parameters:
  • preserve_all_data_layers (boolean, (optional)) – Preserve all data layers in the mesh, like UV maps and vertex groups. By default Blender only computes the subset of data layers needed for viewport display and rendering, for better performance.

  • depsgraph (Depsgraph, (optional)) – Dependency Graph, Evaluated dependency graph which is required when preserve_all_data_layers is true

Returns:

Mesh created from object

Return type:

Mesh

to_mesh_clear()

Clears mesh data-block created by to_mesh()

to_curve(depsgraph, *, apply_modifiers=False)

Create a Curve data-block from the current state of the object. This only works for curve and text objects. The object owns the data-block. To force free it, use to_curve_clear(). The result is temporary and cannot be used by objects from the main database.

Parameters:
  • depsgraph (Depsgraph) – Dependency Graph, Evaluated dependency graph

  • apply_modifiers (boolean, (optional)) – Apply the deform modifiers on the control points of the curve. This is only supported for curve objects.

Returns:

Curve created from object

Return type:

Curve

to_curve_clear()

Clears curve data-block created by to_curve()

find_armature()

Find armature influencing this object as a parent or via a modifier

Returns:

Armature object influencing this object or nullptr

Return type:

Object

shape_key_add(*, name='Key', from_mix=True)

Add shape key to this object

Parameters:
  • name (string, (optional, never None)) – Unique name for the new keyblock

  • from_mix (boolean, (optional)) – Create new shape from existing mix of shapes

Returns:

New shape keyblock

Return type:

ShapeKey

shape_key_remove(key)

Remove a Shape Key from this object

Parameters:

key (ShapeKey, (never None)) – Keyblock to be removed

shape_key_clear()

Remove all Shape Keys from this object

ray_cast(origin, direction, *, distance=1.70141e+38, depsgraph=None)

Cast a ray onto evaluated geometry, in object space (using context’s or provided depsgraph to get evaluated mesh if needed)

Parameters:
  • origin (mathutils.Vector of 3 items in [-inf, inf]) – Origin of the ray, in object space

  • direction (mathutils.Vector of 3 items in [-inf, inf]) – Direction of the ray, in object space

  • distance (float in [0, inf], (optional)) – Maximum distance

  • depsgraph (Depsgraph, (optional)) – Depsgraph to use to get evaluated data, when called from original object (only needed if current Context’s depsgraph is not suitable)

Return (result, location, normal, index):

result, Whether the ray successfully hit the geometry, boolean

location, The hit location of this ray cast, mathutils.Vector of 3 items in [-inf, inf]

normal, The face normal at the ray cast hit location, mathutils.Vector of 3 items in [-inf, inf]

index, The face index, -1 when original data isn’t available, int in [-inf, inf]

closest_point_on_mesh(origin, *, distance=1.84467e+19, depsgraph=None)

Find the nearest point on evaluated geometry, in object space (using context’s or provided depsgraph to get evaluated mesh if needed)

Parameters:
  • origin (mathutils.Vector of 3 items in [-inf, inf]) – Point to find closest geometry from (in object space)

  • distance (float in [0, inf], (optional)) – Maximum distance

  • depsgraph (Depsgraph, (optional)) – Depsgraph to use to get evaluated data, when called from original object (only needed if current Context’s depsgraph is not suitable)

Return (result, location, normal, index):

result, Whether closest point on geometry was found, boolean

location, The location on the object closest to the point, mathutils.Vector of 3 items in [-inf, inf]

normal, The face normal at the closest point, mathutils.Vector of 3 items in [-inf, inf]

index, The face index, -1 when original data isn’t available, int in [-inf, inf]

is_modified(scene, settings)

Determine if this object is modified from the base mesh data

Parameters:
  • scene (Scene, (never None)) – Scene in which to check the object

  • settings (enum in ['PREVIEW', 'RENDER']) –

    Modifier settings to apply

    • PREVIEW Preview – Apply modifier preview settings.

    • RENDER Render – Apply modifier render settings.

Returns:

Whether the object is modified

Return type:

boolean

is_deform_modified(scene, settings)

Determine if this object is modified by a deformation from the base mesh data

Parameters:
  • scene (Scene, (never None)) – Scene in which to check the object

  • settings (enum in ['PREVIEW', 'RENDER']) –

    Modifier settings to apply

    • PREVIEW Preview – Apply modifier preview settings.

    • RENDER Render – Apply modifier render settings.

Returns:

Whether the object is deform-modified

Return type:

boolean

update_from_editmode()

Load the objects edit-mode data into the object data

Returns:

Success

Return type:

boolean

cache_release()

Release memory used by caches associated with this object. Intended to be used by render engines only.

classmethod bl_rna_get_subclass(id, default=None)
Parameters:

id (str) – 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 (str) – The RNA type identifier.

Returns:

The class or default when not found.

Return type:

type

Inherited Properties

Inherited Functions

References