How to get the version of the add-on installed in Blender

A complete list of add-ons installed in Blender we can get using the addon_utils:

Having the add-ons list, we can get the version of the desired add-on by its name with the following code:

Where the ADD-ON_NAME is the name of the desired add-on.

If the add-on is missing a version indication, the default result will be returned.


How to programmatically switch between vertex, edge and face selection mode

Change the mesh_select_mode property to switch in mesh edit mode between vertex, edge and polygon selection mode in Blender.

For vertex selection mode:

Edge selection mode:

And face selection mode:

The multi-select mode is enabled too. For example for vertex and face selection mode:

In BMesh for vertex, edge and face selection mode:

For multi-select in BMesh:


How to snap to the center of the edge or polygon

In order to align an object to the middle of the edge:

  1. enable snapping: press “shift+tab”, or click the icon with the magnet,
  2. start moving by pressing “g”,
  3. move the cursor to the first vertex of the desired edge,
  4. make an anchor by pressing the “a” key,
  5. move the cursor to the second vertex of the desired edge,
  6. fix the position of the object between two points (anchor and current) by pressing “enter”.

Continue reading “How to snap to the center of the edge or polygon”

Tiling procedural textures in Blender

Creating separate elements of procedural textures in Blender is quite simply – find the desired formula, rebuilt it using mathematical nodes, and as a result, get the desired shape. However, textures created this way have one feature – no tiling. Tiling – a cyclic texture duplication, most time is considered harmful, and professional 3D artists try to avoid texture tiling. But sometimes tiling is necessary, for example, when creating patterns or ornaments.

The procedural texture element is always created in a single instance. This is because all the mathematics that forms the actual procedural image is based on the initial data – coordinates that start from 0, spread out to infinity and not repeat. However, the same mathematics helps us to solve this problem.

Continue reading “Tiling procedural textures in Blender”

Creating procedural textures in Blender

All procedural textures in Blender are based on math. Even such irregular structures as “Voronoi” and “Noise” are actually generated according to the mathematical formulas. An exact mathematical algorithm is sewed up into each base material node to obtain the desired image as a result.

We can not specify such algorithms in Blender in the usual mathematical format. However, among other nodes, Blender provides us the “Math” nodes – the wrap over simple mathematical operations. Using these nodes we can build complex mathematical algorithms yourself, generating interesting textures.

Continue reading “Creating procedural textures in Blender”

BIS: the Open storage

Materials which owners granted access to them for all other BIS users are placed in the “Open storage” section.

How to share material for all BIS users

Attention! The shared material becomes available to all BIS users. Sharing your materials you agree to their distribution under a Creative Commons license.

  1. Sign in your account on the BIS website.
  2. Switch to the “Node Groups (Object)” section.
  3. For the material you want to share, click the “Share” button.

Continue reading “BIS: the Open storage”

BIS: How to start

Welcome to “BIS” (Blender Interplanety Storage) – a service for downloading, storing, management and sharing materials for the Blender 3D suite.

Introducing to BIS:

  1. Create a personal account:

Open the BIS website in your favorite browser:

Press the “Sign up” button.

Fill in the “Login” and “Password” fields. Please specify an active email address. On the checkbox that confirms your acceptance of the User Agreement.

Continue reading “BIS: How to start”

Blender 2.8 pre-release dates

“Beyond the Code Quest” has published Blender 2.8 pre-release dates:

  • July 2nd: Alpha
    • End of the code quest.
    • Bug tracker opens exclusively for crashes.
    • New default theme.
    • New default keymap.
    • Disable all add-ons (based on bl_info Blender version).
    • Discourage add-on developers to port their work now since the Python API will still change.
    • Focus on completing existing features.
  • August 12: Beta Release
    • All features in Blender 2.8 to be completed.
    • Bug tracker grand re-opening.
    • Merge 2.8 branches into master.
  • Official beta release.
    • Full release notes.
    • Focus on bug fixing.
  • September 19: Final Python API
    • Call for add-on developers to update old add-ons.
    • Flexible date, at least 1 month before the release candidate.
  • October 20: Release Candidate
    • Manual to be updated with the new features.
    • features page.
    • Blender Conference 2018 official release candidate.

Learning loops

In general, the “loop” is usually a sequential selection of several points, edges or polygons of a mesh.

However, there is an element in the mesh structure, which is also called a “loop”. It is a combination of one vertex with one edge of the mesh. Let’s try to learn what these “loops” are for.

Continue reading “Learning loops”