Glossary

Key Blender and PME terms for new users and anyone looking to understand the concepts in more depth.

Basic Blender concepts

Data (bpy.data)

Access to the data stored in a Blender file (.blend), organized into collections such as bpy.data.objects and bpy.data.materials. This is a database-like view: access an item directly by name or index.

bpy.data.objects['Cube']        # A particular object
bpy.data.materials.new("Gold")  # Create a material
bpy.data.meshes[0]              # Access by index

obj = bpy.data.objects.get('Cube')
if obj: obj.location.x += 1.0
bpy.data example in Blender's Python Console

Using bpy.data in Blender’s Python Console.

Reference: Data Access (bpy.data), bpy.types.BlendData.

Context (bpy.context)

Dynamic references that reflect the user’s current working state: selected objects, active tools, current mode, the area under the mouse, and other information that changes during interaction.

The same shortcut can do different things in the 3D Viewport and Shader Editor because each area supplies a different context.

bpy.context.object            # Current active object
bpy.context.selected_objects  # All selected objects
bpy.context.mode              # Current mode (OBJECT, EDIT_MESH, etc.)
bpy.context.area.type         # Current area type

# Advanced: override the context to run an operator in a particular area
area = next(a for a in bpy.context.window.screen.areas if a.type == 'VIEW_3D')
with bpy.context.temp_override(area=area):
    bpy.ops.view3d.view_selected('INVOKE_DEFAULT')
bpy.context example in Blender's Python Console

Using bpy.context in Blender’s Python Console.

Reference: Context.

Data and Context

  • Use bpy.data to list all materials or operate on an object with a particular name.

  • Use bpy.context to act on selected objects or change the UI according to the current mode.

bpy.data describes what exists. bpy.context describes what is happening now. The former provides database-like access; the latter is closely tied to interaction with the user interface.

Operator (bpy.ops)

A unit of action in Blender. Operators cover major operations such as adding objects and beveling, as well as small UI actions such as rearranging list items.

  • Assignable to hotkeys.

  • Available as menu items or buttons.

  • Callable from Python scripts.

  • Usable in macros.

PME’s Macro Operator and Modal Operator editors let you combine operators into custom tools.

Example: bpy.ops.mesh.subdivide().

Poll Method

An operator or panel’s Poll function reads the context to decide whether the feature can be used now.

Keymap

A collection of hotkey assignments for an editor type or editing mode. For example, G moves objects in Object Mode and selects Grab in Sculpt Mode. PME lets you customize these assignments for your workflow.

Reference: Keymap.

Property

A data value such as object location or a material setting. Properties typically appear as sliders, checkboxes, and fields in the UI.

With PME, you can:

  • Display and edit properties in menus or panels.

  • Read them in scripts and Poll functions.

  • Add custom properties with the Property Editor.

Example: bpy.context.object.location.

Mode

Blender’s operational state, such as Object Mode or Edit Mode. Each mode has its own tools and actions. PME’s Poll can limit the availability of tools or menus according to the active mode.

Example: bpy.context.mode == 'EDIT_MESH'.

Interface structure

Blender's full interface

Blender’s default screen layout.

Area

A large region of the Blender interface occupied by an editor, such as the 3D Viewport or Outliner.

  • PME’s Toggle Side Area splits the area where it runs and opens or closes a temporary editor area beside it. Toggle Sidebar instead shows or hides a region inside the same area.

  • Areas contain subregions called Regions, such as toolbars and sidebars.

Related: Region, Window, Workspace. Reference: Area.

Region

A subdivision of an Area containing particular UI elements, such as tools or properties.

  • PME’s Panel Group adds custom content to a region.

  • A Sidebar is a region within an area, not a separate editor area.

Regions of the 3D Viewport

3D Viewport regions, including the header, toolbar, and sidebar.

Related: Area, Panel. Reference: Region.

Panel

A collapsible group of UI controls, commonly found in a sidebar or the Properties editor.

Blender panels

Panels in a sidebar.

PME can create panels, extend existing panels, group them, and hide unused panels.

Related: Property, Region. Reference: Panel.

PME concepts

PME overview

Pie Menu Editor overview.

Slot

An individual item inside a menu. A slot can execute a command, display or edit a property, invoke another menu, or draw a custom layout.

Related: Command, Property, Menu, and Custom tabs.

Command Tab

The Slot Editor tab for Python code and direct operator calls. Use it for single-line scripts, custom function calls, variables, and operators.

Example: C.active_object.location.x += 1.0.

Custom Tab

The Slot Editor tab for defining a custom UI layout using drawing code.

L.box().label(text="Custom Layout")

Interactive Panels Mode

A PME mode that adds PME tool controls to Blender UI elements. These controls help identify menu IDs, configure panel extensions, and customize the UI. They are also useful for discovering how Blender’s menus and panels are organized.

Macro Operator

Runs multiple operators in sequence. PME’s Macro Operator Editor records operator sequences, adjusts their parameters, and manages execution flow, letting you combine a workflow into one invocation.

Slot Editor

The interface that defines the behavior of PME menu items and buttons. Its tabs include:

  • Command: execute code.

  • Property: display a property.

  • Menu: invoke another PME menu.

  • Hotkey: invoke a shortcut.

  • Custom: draw a custom layout.

Slot Editor

The Slot Editor interface.

The graphical controls let you configure many operations without writing scripts.

Advanced concepts

Event System

Blender’s input handling mechanism tracks keyboard and mouse events. Modal operators, custom hotkeys, and interactive tools use this information.

E.ctrl and E.shift and message_box("Ctrl+Shift Pressed")

Layout System

Blender’s system for arranging UI elements. PME uses it to place labels, buttons, property fields, operators, and custom controls in a layout hierarchy.

L.box().label(text=text, icon=icon, icon_value=icon_value)

Operator Execution Context

Determines how an operator is executed. Two common forms are:

  • INVOKE_DEFAULT: calls the operator’s initialization path, which may begin mouse interaction or open a confirmation popup.

  • EXEC_DEFAULT: executes immediately with preset parameters; commonly used in scripts and macros.

# Move interactively using mouse input
bpy.ops.transform.translate('INVOKE_DEFAULT')

# Move 5.0 along X without user input
bpy.ops.transform.translate('EXEC_DEFAULT', value=(5.0, 0.0, 0.0))

Related: Operator, Command Tab, Modal Operator, Macro Operator. Reference: Execution Context.