Macro(bpy_struct)
Example Macro
This example creates a simple macro operator that moves the active object and then rotates it. It demonstrates:
Defining a macro operator class.
Registering it and defining sub-operators.
Setting property values for each step.
import bpy
class OBJECT_OT_simple_macro(bpy.types.Macro):
bl_idname = "object.simple_macro"
bl_label = "Simple Transform Macro"
bl_options = {'REGISTER', 'UNDO'}
@classmethod
def poll(cls, context):
return context.active_object is not None
def register():
bpy.utils.register_class(OBJECT_OT_simple_macro)
# Define steps after registration and set operator values via .properties
step = OBJECT_OT_simple_macro.define("transform.translate")
props = step.properties
props.value = (1.0, 0.0, 0.0)
props.constraint_axis = (True, False, False)
step = OBJECT_OT_simple_macro.define("transform.rotate")
props = step.properties
props.value = 0.785398 # 45 degrees in radians
props.orient_axis = 'Z'
def unregister():
bpy.utils.unregister_class(OBJECT_OT_simple_macro)
if __name__ == "__main__":
register()
# To run the macro:
bpy.ops.object.simple_macro()
base class — bpy_struct
- class bpy.types.Macro(bpy_struct)
Storage of a macro operator being executed, or registered after execution
- bl_cursor_pending
Cursor to use when waiting for the user to select a location to activate the operator (when
bl_options
hasDEPENDS_ON_CURSOR
set)- Type:
enum in Window Cursor Items, default
"'DEFAULT'"
- bl_description
- Type:
string, default “”, (never None)
- bl_idname
- Type:
string, default “”, (never None)
- bl_label
- Type:
string, default “”, (never None)
- bl_options
Options for this operator type
- Type:
enum set in Operator Type Flag Items, default
'{}'
- bl_translation_context
- Type:
string, default “Operator”, (never None)
- bl_undo_group
- Type:
string, default “”, (never None)
- has_reports
Operator has a set of reports (warnings and errors) from last execution
- Type:
boolean, default False, (readonly)
- name
- Type:
string, default “”, (readonly, never None)
- properties
- Type:
OperatorProperties
, (readonly, never None)
- report(type, message)
report
- Parameters:
type (enum set in Wm Report Items) – Type
message (string, (never None)) – Report Message
- classmethod poll(context)
Test if the operator can be called or not
- Return type:
boolean
- draw(context)
Draw function for the operator
- classmethod define(operator)
Append an operator to a registered macro class.
- Parameters:
operator (str) – Identifier of the operator. This does not have to be defined when this function is called.
- Returns:
The operator macro for property access.
- Return type:
- 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