Сегодня мы будем писать скрипт для Blender на Python.

Открываем Blender и создаем новый файл.

Теперь нужно перейти во вкладку "Scripting", где мы и будем писать скрипт. Переходим, создаем новый датаблок.

Приступаем к написанию кода. Первым делом импортируем используемые библиотеки.
import bpy
import random

Далее создаем цикл for, для очистки материалов и создания нового пустого объекта.
for material in bpy.data.materials:
bpy.data.materials.remove(material)
bpy.ops.object.empty_add(type='PLAIN_AXES', location=(0,0,0))

Задаем позицию по оси X.
my_variable=-25

Переходим к написанию ключевого цикла while. Создаем объект, добавляем на него модификаторы.
while my_variable<25:
bpy.ops.mesh.primitive_ico_sphere_add(enter_editmode=False, location=(my_variable, 0, 0))
bpy.ops.object.modifier_add(type='SUBSURF')
bpy.ops.object.modifier_add(type='SIMPLE_DEFORM')
bpy.context.object.modifiers["SimpleDeform"].origin = bpy.data.objects["Empty"]

Добавляем смещение по оси X на 2.
my_variable=my_variable+2

Снова создаем объект, модификаторы. Деформируем его по оси Z
bpy.ops.mesh.primitive_ico_sphere_add(enter_editmode=False, location=(my_variable, 0, 0))
bpy.ops.object.modifier_add(type='SUBSURF')
bpy.ops.object.modifier_add(type='SIMPLE_DEFORM')
bpy.context.object.modifiers["SimpleDeform"].origin=bpy.data.objects["Empty"]
bpy.context.object.modifiers["SimpleDeform"].deform_axis='Z'

Снова добавляем смещение на 2.

Снова создаем объект, модификаторы. Деформируем его по оси Z.

Снова добавляем смещение на 2. Осталось добавить объекту материал и цвет, пользуемся библиотекой random.
material = bpy.data.materials.new('material')
material.diffuse_color = (random.uniform(0,1), random.uniform(0,1), random.uniform(0,1), random.uniform(0,1))
bpy.context.object.data.materials.append(material)

На пользовательской перспективе появились наши объекты. Ура! Скрипт работает.