# bpy_struct

subclasses — `ActionFCurves`, `ActionGroup`, `ActionGroups`, `ActionPoseMarkers`, `Actuator`, `Addon`, `AddonPreferences`, `Addons`, `AnimData`, `AnimDataDrivers`, `AnimViz`, `AnimVizMotionPaths`, `AnimVizOnionSkinning`, `AnyType`, `Area`, `AreaSpaces`, `ArmatureBones`, `ArmatureEditBones`, `BackgroundImage`, `BackgroundImages`, `BakePixel`, `BakeSettings`, `BezierSplinePoint`, `BlendData`, `BlendDataActions`, `BlendDataArmatures`, `BlendDataBrushes`, `BlendDataCameras`, `BlendDataCurves`, `BlendDataFonts`, `BlendDataGreasePencils`, `BlendDataGroups`, `BlendDataImages`, `BlendDataLamps`, `BlendDataLattices`, `BlendDataLibraries`, `BlendDataLineStyles`, `BlendDataMasks`, `BlendDataMaterials`, `BlendDataMeshes`, `BlendDataMetaBalls`, `BlendDataMovieClips`, `BlendDataNodeTrees`, `BlendDataObjects`, `BlendDataPalettes`, `BlendDataParticles`, `BlendDataScenes`, `BlendDataScreens`, `BlendDataSounds`, `BlendDataSpeakers`, `BlendDataTexts`, `BlendDataTextures`, `BlendDataWindowManagers`, `BlendDataWorlds`, `BlenderRNA`, `BoidRule`, `BoidSettings`, `BoidState`, `Bone`, `BoneGroup`, `BoneGroups`, `BrushCapabilities`, `CameraStereoData`, `ChannelDriverVariables`, `ChildParticle`, `ClothCollisionSettings`, `ClothSettings`, `ClothSolverResult`, `CollisionSettings`, `ColorManagedDisplaySettings`, `ColorManagedInputColorspaceSettings`, `ColorManagedSequencerColorspaceSettings`, `ColorManagedViewSettings`, `ColorMapping`, `ColorRamp`, `ColorRampElement`, `ColorRampElements`, `CompositorNodeOutputFileFileSlots`, `CompositorNodeOutputFileLayerSlots`, `ConsoleLine`, `Constraint`, `ConstraintTarget`, `Context`, `Controller`, `CurveMap`, `CurveMapPoint`, `CurveMapPoints`, `CurveMapping`, `CurveSplines`, `Depsgraph`, `DisplaySafeAreas`, `DopeSheet`, `Driver`, `DriverTarget`, `DriverVariable`, `DupliObject`, `DynamicPaintBrushSettings`, `DynamicPaintCanvasSettings`, `DynamicPaintSurface`, `DynamicPaintSurfaces`, `EditBone`, `EffectorWeights`, `EnumPropertyItem`, `EnvironmentMap`, `Event`, `FCurve`, `FCurveKeyframePoints`, `FCurveModifiers`, `FCurveSample`, `FFmpegSettings`, `FModifier`, `FModifierEnvelopeControlPoint`, `FModifierEnvelopeControlPoints`, `FieldSettings`, `FileBrowserFSMenuEntry`, `FileSelectParams`, `FluidMeshVertex`, `FluidSettings`, `FreestyleLineSet`, `FreestyleModuleSettings`, `FreestyleModules`, `FreestyleSettings`, `Function`, `GPUDOFSettings`, `GPUFXSettings`, `GPUSSAOSettings`, `GPencilFrame`, `GPencilFrames`, `GPencilLayer`, `GPencilStroke`, `GPencilStrokePoint`, `GPencilStrokePoints`, `GPencilStrokes`, `GameObjectSettings`, `GameProperty`, `GameSoftBodySettings`, `GreasePencilLayers`, `GroupObjects`, `Header`, `Histogram`, `ID`, `IDMaterials`, `IKParam`, `ImageFormatSettings`, `ImagePackedFile`, `ImagePreview`, `ImageUser`, `ImapaintToolCapabilities`, `KeyConfig`, `KeyConfigurations`, `KeyMap`, `KeyMapItem`, `KeyMapItems`, `KeyMaps`, `Keyframe`, `KeyingSet`, `KeyingSetInfo`, `KeyingSetPath`, `KeyingSetPaths`, `KeyingSets`, `KeyingSetsAll`, `LampSkySettings`, `LampTextureSlots`, `LatticePoint`, `LineStyleAlphaModifiers`, `LineStyleColorModifiers`, `LineStyleGeometryModifiers`, `LineStyleModifier`, `LineStyleTextureSlots`, `LineStyleThicknessModifiers`, `Linesets`, `LodLevel`, `LoopColors`, `Macro`, `MaskLayer`, `MaskLayers`, `MaskParent`, `MaskSpline`, `MaskSplinePoint`, `MaskSplinePointUW`, `MaskSplinePoints`, `MaskSplines`, `MaterialGameSettings`, `MaterialHalo`, `MaterialPhysics`, `MaterialRaytraceMirror`, `MaterialRaytraceTransparency`, `MaterialSlot`, `MaterialStrand`, `MaterialSubsurfaceScattering`, `MaterialTextureSlots`, `MaterialVolume`, `Menu`, `MeshColor`, `MeshColorLayer`, `MeshEdge`, `MeshEdges`, `MeshLoop`, `MeshLoopColor`, `MeshLoopColorLayer`, `MeshLoops`, `MeshPaintMaskLayer`, `MeshPaintMaskProperty`, `MeshPolygon`, `MeshPolygonFloatProperty`, `MeshPolygonFloatPropertyLayer`, `MeshPolygonIntProperty`, `MeshPolygonIntPropertyLayer`, `MeshPolygonStringProperty`, `MeshPolygonStringPropertyLayer`, `MeshPolygons`, `MeshSkinVertex`, `MeshSkinVertexLayer`, `MeshStatVis`, `MeshTessFace`, `MeshTessFaces`, `MeshTextureFace`, `MeshTextureFaceLayer`, `MeshTexturePoly`, `MeshTexturePolyLayer`, `MeshUVLoop`, `MeshUVLoopLayer`, `MeshVertex`, `MeshVertexFloatProperty`, `MeshVertexFloatPropertyLayer`, `MeshVertexIntProperty`, `MeshVertexIntPropertyLayer`, `MeshVertexStringProperty`, `MeshVertexStringPropertyLayer`, `MeshVertices`, `MetaBallElements`, `MetaElement`, `Modifier`, `MotionPath`, `MotionPathVert`, `MovieClipProxy`, `MovieClipScopes`, `MovieClipUser`, `MovieReconstructedCamera`, `MovieTracking`, `MovieTrackingCamera`, `MovieTrackingDopesheet`, `MovieTrackingMarker`, `MovieTrackingMarkers`, `MovieTrackingObject`, `MovieTrackingObjectPlaneTracks`, `MovieTrackingObjectTracks`, `MovieTrackingObjects`, `MovieTrackingPlaneMarker`, `MovieTrackingPlaneMarkers`, `MovieTrackingPlaneTrack`, `MovieTrackingPlaneTracks`, `MovieTrackingReconstructedCameras`, `MovieTrackingReconstruction`, `MovieTrackingSettings`, `MovieTrackingStabilization`, `MovieTrackingTrack`, `MovieTrackingTracks`, `NlaStrip`, `NlaStripFCurves`, `NlaStrips`, `NlaTrack`, `NlaTracks`, `Node`, `NodeInputs`, `NodeInstanceHash`, `NodeInternalSocketTemplate`, `NodeLink`, `NodeLinks`, `NodeOutputFileSlotFile`, `NodeOutputFileSlotLayer`, `NodeOutputs`, `NodeSocket`, `NodeSocketInterface`, `NodeTreeInputs`, `NodeTreeOutputs`, `NodeTreePath`, `Nodes`, `ObjectBase`, `ObjectConstraints`, `ObjectModifiers`, `OceanTexData`, `Operator`, `OperatorMacro`, `OperatorOptions`, `OperatorProperties`, `PackedFile`, `Paint`, `PaletteColor`, `PaletteColors`, `Panel`, `Particle`, `ParticleBrush`, `ParticleDupliWeight`, `ParticleEdit`, `ParticleHairKey`, `ParticleKey`, `ParticleSettingsTextureSlots`, `ParticleSystem`, `ParticleSystems`, `ParticleTarget`, `PathCompare`, `PathCompareCollection`, `PointCache`, `PointCaches`, `PointDensity`, `PolygonFloatProperties`, `PolygonIntProperties`, `PolygonStringProperties`, `Pose`, `PoseBone`, `PoseBoneConstraints`, `Property`, `PropertyGroup`, `PropertyGroupItem`, `Region`, `RegionView3D`, `RenderEngine`, `RenderLayer`, `RenderLayers`, `RenderPass`, `RenderPasses`, `RenderResult`, `RenderSettings`, `RenderSlot`, `RenderSlots`, `RenderView`, `RenderViews`, `RigidBodyConstraint`, `RigidBodyObject`, `RigidBodyWorld`, `SPHFluidSettings`, `SceneBases`, `SceneGameData`, `SceneGameRecastData`, `SceneObjects`, `SceneRenderLayer`, `SceneRenderView`, `Scopes`, `SculptToolCapabilities`, `Sensor`, `Sequence`, `SequenceColorBalanceData`, `SequenceCrop`, `SequenceEditor`, `SequenceElement`, `SequenceElements`, `SequenceModifier`, `SequenceModifiers`, `SequenceProxy`, `SequenceTransform`, `Sequences`, `ShapeKey`, `ShapeKeyBezierPoint`, `ShapeKeyCurvePoint`, `ShapeKeyPoint`, `SmokeCollSettings`, `SmokeDomainSettings`, `SmokeFlowSettings`, `SoftBodySettings`, `Space`, `SpaceNodeEditorPath`, `SpaceUVEditor`, `Spline`, `SplineBezierPoints`, `SplinePoint`, `SplinePoints`, `Stereo3dDisplay`, `Stereo3dFormat`, `Struct`, `TessfaceUVTextures`, `TexMapping`, `TexPaintSlot`, `TextBox`, `TextCharacterFormat`, `TextLine`, `TextureSlot`, `Theme`, `ThemeBoneColorSet`, `ThemeClipEditor`, `ThemeConsole`, `ThemeDopeSheet`, `ThemeFileBrowser`, `ThemeFontStyle`, `ThemeGradientColors`, `ThemeGraphEditor`, `ThemeImageEditor`, `ThemeInfo`, `ThemeLogicEditor`, `ThemeNLAEditor`, `ThemeNodeEditor`, `ThemeOutliner`, `ThemePanelColors`, `ThemeProperties`, `ThemeSequenceEditor`, `ThemeSpaceGeneric`, `ThemeSpaceGradient`, `ThemeSpaceListGeneric`, `ThemeStyle`, `ThemeTextEditor`, `ThemeTimeline`, `ThemeUserInterface`, `ThemeUserPreferences`, `ThemeView3D`, `ThemeWidgetColors`, `ThemeWidgetStateColors`, `TimelineMarker`, `TimelineMarkers`, `Timer`, `ToolSettings`, `TransformOrientation`, `UILayout`, `UIList`, `UIPieMenu`, `UIPopupMenu`, `UVLoopLayers`, `UVProjector`, `UVTextures`, `UnifiedPaintSettings`, `UnitSettings`, `UnknownType`, `UserPreferences`, `UserPreferencesEdit`, `UserPreferencesFilePaths`, `UserPreferencesInput`, `UserPreferencesSystem`, `UserPreferencesView`, `UserSolidLight`, `VertexColors`, `VertexFloatProperties`, `VertexGroup`, `VertexGroupElement`, `VertexGroups`, `VertexIntProperties`, `VertexStringProperties`, `View2D`, `VoxelData`, `WalkNavigation`, `Window`, `WorldLighting`, `WorldMistSettings`, `WorldTextureSlots`

class `bpy.types.``bpy_struct`

  built-in base class for all classes in bpy.types.

  Note

  Note that bpy.types.bpy_struct is not actually available from within blender, it only exists for the purpose of documentation.

  `as_pointer`()

    Returns the memory address which holds a pointer to blenders internal data

    Returns: | int (memory address).
    Return type: | int

    Note

    This is intended only for advanced script writers who need to pass blender data to their own C/Python modules.

  `driver_add`(path, index=-1)

    Adds driver(s) to the given property

    Parameters: | path (string) – path to the property to drive, analogous to the fcurve’s data path. index (int) – array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.
    Returns: | The driver(s) added.
    Return type: | `bpy.types.FCurve` or list if index is -1 with an array property.

  `driver_remove`(path, index=-1)

    Remove driver(s) from the given property

    Parameters: | path (string) – path to the property to drive, analogous to the fcurve’s data path. index (int) – array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.
    Returns: | Success of driver removal.
    Return type: | boolean

  `get`(key, default=None)

    Returns the value of the custom property assigned to key or default when not found (matches pythons dictionary function of the same name).

    Parameters: | key (string) – The key associated with the custom property. default (Undefined) – Optional argument for the value to return if key is not found.

    Note

    Only `bpy.types.ID`, `bpy.types.Bone` and `bpy.types.PoseBone` classes support custom properties.

  `is_property_hidden`(property)

    Check if a property is hidden.

    Returns: | True when the property is hidden.
    Return type: | boolean

  `is_property_readonly`(property)

    Check if a property is readonly.

    Returns: | True when the property is readonly (not writable).
    Return type: | boolean

  `is_property_set`(property)

    Check if a property is set, use for testing operator properties.

    Returns: | True when the property has been set.
    Return type: | boolean

  `items`()

    Returns the items of this objects custom properties (matches pythons dictionary function of the same name).

    Returns: | custom property key, value pairs.
    Return type: | list of key, value tuples

    Note

    Only `bpy.types.ID`, `bpy.types.Bone` and `bpy.types.PoseBone` classes support custom properties.

  `keyframe_delete`(data_path, index=-1, frame=bpy.context.scene.frame_current, group="")

    Remove a keyframe from this properties fcurve.

    Parameters: | data_path (string) – path to the property to remove a key, analogous to the fcurve’s data path. index (int) – array index of the property to remove a key. Defaults to -1 removing all indices or a single channel if the property is not an array. frame (float) – The frame on which the keyframe is deleted, defaulting to the current frame. group (str) – The name of the group the F-Curve should be added to if it doesn’t exist yet.
    Returns: | Success of keyframe deleation.
    Return type: | boolean

  `keyframe_insert`(data_path, index=-1, frame=bpy.context.scene.frame_current, group="")

    Insert a keyframe on the property given, adding fcurves and animation data when necessary.

    Parameters: | data_path (string) – path to the property to key, analogous to the fcurve’s data path. index (int) – array index of the property to key. Defaults to -1 which will key all indices or a single channel if the property is not an array. frame (float) – The frame on which the keyframe is inserted, defaulting to the current frame. group (str) – The name of the group the F-Curve should be added to if it doesn’t exist yet. options – Some optional flags: ‘NEEDED’: Only insert keyframes where they’re needed in the relevant F-Curves. ‘VISUAL’: Insert keyframes based on ‘visual transforms’. ‘XYZ_TO_RGB’: Color for newly added transformation F-Curves (Location, Rotation, Scale) and also Color is based on the transform axis.
    Returns: | Success of keyframe insertion.
    Return type: | boolean

    This is the most simple example of inserting a keyframe from python.

        import bpy

        obj = bpy.context.object

        # set the keyframe at frame 1
        obj.location = 3.0, 4.0, 10.0
        obj.keyframe_insert(data_path="location", frame=1)

    Note that when keying data paths which contain nested properties this must be done from the `ID` subclass, in this case the `Armature` rather than the bone.

        import bpy
        from bpy.props import PointerProperty

        # define a nested property
        class MyPropGroup(bpy.types.PropertyGroup):
            nested = bpy.props.FloatProperty(name="Nested", default=0.0)

        # register it so its available for all bones
        bpy.utils.register_class(MyPropGroup)
        bpy.types.Bone.my_prop = PointerProperty(type=MyPropGroup,
                                                 name="MyProp")

        # get a bone
        obj = bpy.data.objects["Armature"]
        arm = obj.data

        # set the keyframe at frame 1
        arm.bones["Bone"].my_prop_group.nested = 10
        arm.keyframe_insert(data_path='bones["Bone"].my_prop.nested',
                            frame=1,
                            group="Nested Group")

  `keys`()

    Returns the keys of this objects custom properties (matches pythons dictionary function of the same name).

    Returns: | custom property keys.
    Return type: | list of strings

    Note

    Only `bpy.types.ID`, `bpy.types.Bone` and `bpy.types.PoseBone` classes support custom properties.

  `path_from_id`(property="")

    Returns the data path from the ID to this object (string).

    Parameters: | property (string) – Optional property name which can be used if the path is to a property of this object.
    Returns: | The path from `bpy.types.bpy_struct.id_data` to this struct and property (when given).
    Return type: | str

  `path_resolve`(path, coerce=True)

    Returns the property from the path, raise an exception when not found.

    Parameters: | path (string) – path which this property resolves. coerce (boolean) – optional argument, when True, the property will be converted into its python representation.

  `property_unset`(property)

    Unset a property, will use default value afterward.

  `type_recast`()

    Return a new instance, this is needed because types such as textures can be changed at runtime.

    Returns: | a new instance of this object with the type initialized again.
    Return type: | subclass of `bpy.types.bpy_struct`

  `values`()

    Returns the values of this objects custom properties (matches pythons dictionary function of the same name).

    Returns: | custom property values.
    Return type: | list

    Note

    Only `bpy.types.ID`, `bpy.types.Bone` and `bpy.types.PoseBone` classes support custom properties.

  `id_data`

    The `bpy.types.ID` object this datablock is from or None, (not available for all data types)