Как создать простую сетку в Blender 2.50 через Python API - PullRequest
6 голосов
/ 07 сентября 2010

Я хотел бы создать простую сетку в Blender (2.50) через API Python, но примеры из документации API пока не работают.

Я попробовал следующее, но это из API 2.49

   from Blender import *
   import bpy

   editmode = Window.EditMode()    # are we in edit mode?  If so ...
   if editmode: Window.EditMode(0) # leave edit mode before getting the mesh

   # define vertices and faces for a pyramid
   coords=[ [-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1] ]  
   faces= [ [3,2,1,0], [0,1,4], [1,2,4], [2,3,4], [3,0,4] ]

   me = bpy.data.meshes.new('myMesh')          # create a new mesh

   me.verts.extend(coords)          # add vertices to mesh
   me.faces.extend(faces)           # add faces to the mesh (also adds edges)

   me.vertexColors = 1              # enable vertex colors 
   me.faces[1].col[0].r = 255       # make each vertex a different color
   me.faces[1].col[1].g = 255
   me.faces[1].col[2].b = 255

   scn = bpy.data.scenes.active     # link object to current scene
   ob = scn.objects.new(me, 'myObj')

   if editmode: Window.EditMode(1)  # optional, just being nice

Это не работает, потому что объект сетки не имеет элементов faces или verts.

Есть ли варианты сделать это?

Ответы [ 2 ]

3 голосов
/ 07 сентября 2010

Попробуйте эту документацию для 2.5x API. Я понимаю, что, несмотря на большие предупреждения в верхней части, наиболее часто используемые разделы сейчас довольно стабильны. Я еще не пробовал.

EDIT:

Я думаю, что соответствующий бит этот раздел - кажется, вы создаете список граней вершин и т. Д. И передаете его этому. Это, кажется, изменилось от самых последних примеров, которые я могу найти. Попробуйте поискать в своей папке скриптов - там может быть пример, который вы можете посмотреть.

РЕДАКТИРОВАТЬ 2: Я обновил ссылку, чтобы указывать на текущие документы. В заметках говорится, что, возможно, есть лучшие способы сделать это сейчас, но прошло много времени с тех пор, как я создавал скрипты для блендера, поэтому больше ничего не могу поделать.

1 голос
/ 08 сентября 2010

Благодаря Нилу, я нашел следующий раздел из документации:

Скрипты для Blender 2.50 - Добавить сетчатые скрипты

Я попробую следующий скрипт и сообщу о своих результатах:

Добавление сетки твердого объекта

...