Posts tagged ‘blender’

gennaio 18, 2014

Colors/Groups Exchanger (add-on)

Working in parametric design with a particular focus on blender’s parametric features, and the possibilities to exchanging information from/to other softwares I started to develop this new add-on.

During last workshop adaptABILITY in Bratilsava, Andrea Graziano and me introduced participants to some strategies for connecting blender to grasshopper through informations stored in vertex colors that can be exported as .ply file without need of scripting.

In blender there are quite interesting tools for working with vertex colors and vertex groups (vertex weight) but there is no an easy way for create a connection between these two layers of information stored inside the vertices of the mesh.

The add-on that I prepared is called Colors/Groups Exchanger and it allows to use two different commands: Vertex Colors to Vertex Groups and Vertex Group to Vertex Colors.

Vertex Colors to Vertex Groups

Sometimes can be useful to use informations of vertex colors in order to control some modifiers, physics or the behaviour of shape-keys.



Using this command it is possible to store one or more colors channels inside vertex groups (gray, red, blue, green, inverted).


For instance vertex colors are pretty useful for creating a grayscale map containing informations about mesh curvature. This tool is called Dirty Vertex Colors:


Or maybe you prefer to use light shading for parametrically control some particular effect on the surface of your geometry:


Or simply use some colors information incoming from external softwares for interact with your geometry.


Vertex Group to Vertex Colors

The second command that I’m going to explain is Vertex Group to Vertex Colors. It allows to move information from vertex-weight groups to colors, maybe because you want to export these informations to external softwares or simply because you want to render vertex groups.



One of the coolest way to work with vertex weight is to use some dedicated modifiers, like for instance Vertex Weight Proximity:


We are waiting to do a new workshop about Blender and Grasshopper in order to going deeper in this interesting topic. Check Co-de-iT website for updates, or tell us if you would like that we organize one in your city.



luglio 23, 2012

Blender: Random Material Assigner (to BMesh N-gons)

This is a simple script for assignement of random materials to different faces (n-gons) of a single object. It works differently to the existing Random Material Assigner and the mine is a version very rough. I wrote this script because for the particular job that I had to do it was more comfortable handling a single object to be fixed as a random mosaic, rather than a very large number of different objects. Here is the code:

import bpy
import bmesh
import random

obj = bpy.context.active_object
mesh =

bm =

for f in bm.faces:
    f.material_index = int(random.random()*len(obj.material_slots))