Python

Creating inputs and outputs for node groups in Blender 4.0 using the Python API

In Blender 3.6 and earlier, inputs and outputs for node groups could be created by calling the new() command for the list of inputs or outputs of the node tree. In Blender 4.0, the developers made changes, and the creation of input and output sockets for node trees was moved to the “interface” object.

Optimizing the speed of data access using foreach_()

The Python language used in the Blender API is very loyal and undemanding when it comes to data typing. However, when working with large amounts of data, the universalization of type conversion can negatively affect the speed of the code. For example, the simplest foreach_get() cycle, which takes data from a set of elements and puts it into an array, can be significantly speeded up simply by choosing the right type of the destination array data.

Showing custom UI panel in Blender by pressing keycodes

When creating add-ons for Blender, developers almost always create the user UI panel with tools that provide the main functionality of the add-on. Typically, such custom panels are placed in the N-panel block, called by pressing the N key. However, if it is assumed that the user will often call the panel with add-on tools, its call can be bound to a keyboard shortcut and the panel can be called from the keyboard.

Setting an icon from the tools panel to a button in the custom UI panel in Blender

To set an icon to a button when creating the custom user UI panel in Blender, we look for the text identifier of the desired icon (usually using the built-in Icon Viewer add-on) and set its value to the “icon” parameter when binding the desired operator to the button. However, the icons used in the tools panel are not existed in the common Blender icons list.