Creating the same UI panels in different Blender areas with no code duplication

To create several identical UI panels with the same set of fields and buttons in different areas in Blender, the easiest way is to copy the panel code and replace the parameters that determine in which area the panel will be shown.

The main disadvantage of this method is code duplication, which can make difficulties in the future – when editing panels, changes must be made to each copy of the code, instead of changing it at once for all panels.

Displaying icons with the unknown id in the UI

To display an icon next to a property, text label, or on the operator button in the UI, we need to specify its identifier in the “icon” or “icon_value” parameter. But not all types of icons have their identifiers known in advance. For example, we cannot predefine the icon’s identifiers for procedural textures and materials because they are generated at runtime.

To get the identifier of such a dynamic icon, we can use the “icon” method of the “UILayout” class.

Autocomplete for developing Blender add-ons in the Eclipse IDE

The Eclipse IDE, like PyCharm, and Visual Studio Code, is one of the most popular IDEs for development, including Blender add-ons development. To improve the convenience of developing Blender add-ons in the Eclipse IDE, we can add an autocomplete to it – the code completion for the Blender Python API.

By the Pavel Geraskin tips.

Switching between vertex-edges-faces selection by ctrl+tab

In Blender 2.79, in mesh edit mode to switch between the selection of vertices-edges-polygons a drop-down menu called by the ctrl+tab keycode was used. In 2.9 and later versions, the selection through this menu has been replaced with pressing the 1-2-3 keycodes. However, if necessary, the selection via the drop-down menu can be returned back.