Python

Making collection active

We can’t set a collection active through the Blender Python API in one step. The “bpy.context.collection” property is read-only, and the “bpy.context.view_layer.active_layer_collection” has a “LayerCollection” type that cannot be set with the standard “Collection” type. To assign an active collection, we need to find the View Layer collection from the desired base collection and already set it as active.

Converting mouse cursor coordinates from area to texture coordinates in Blender Image Editor

In some tools, for example, “eyedropper” or “selection by color”, it is necessary to get the value of the texture pixel that is currently under the mouse cursor. To get pixels data we need to know its coordinates in the texture space.

Locking the mouse cursor within the area in Blender

Sometimes it may be necessary to prevent the mouse cursor from going beyond the boundaries of a particular Blender area. For example, when grabbing and dragging a mesh with the mouse, the captured mesh should not leave the 3D Viewport area, not to be above another type of area, for example, above the Node Editor or Text Editor areas.

Working with PostgreSQL databases from Blender

Remote data storage is becoming more and more useful. Various online libraries of models, materials, textures and assets are becoming more and more popular. Databases are most often used to store data in such libraries. PostgreSQL is one of the most advanced and functional open source databases that we can connect to and work with through the Blender Python API.