1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Создание грани скриптом.

Тема в разделе "Blender3D", создана пользователем dmtr, 30 дек 2008.

Модераторы: logosman
  1. dmtr

    dmtr Пользователь сайта

    С нами с:
    06.10.2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    Используя модуль NMesh:
    Код:
    import Blender
    from Blender import *
    
    me = NMesh.New()
    
    v1 = NMesh.Vert(0,1,0)
    v2 = NMesh.Vert(0,0,0)
    
    ed = me.addEdge(v1,v2)
    
    Blender.Redraw()
    
    Нажимаю Alt+P... и ничего не происходит. Ошибок в консоли тоже никаких не выдаёт. В чём проблема может быть?

    Используя модуль Mesh:
    Код:
    import Blender
    from Blender import *
    
    me = Mesh.New()
    
    v1 = [1,0,0]
    v2 = [0,1,0]
    
    me.verts.extend(v1,v2)
    me.edges.extend(v1,v2)
    
    Blender.Redraw()
    
    Нажимаю Alt+P... в консоли пишет: в 10 строчке TypeError: expected a sequence of sequence triplets. Как это победить?

    Так и не нашёл в инете внятного примера как создать edge из двух точек.
     
  2. logosman vip

    logosman Moderator Команда форума

    С нами с:
    24.09.2005
    Сообщения:
    196
    Симпатии:
    15
    Баллы:
    366
    Ошибки есть и не только в 10 строчке.

    О чём говорит ошибка:
    "TypeError: expected a sequence of sequence triplets."
    "Ошибка типа: требуется последовательность триплетов."

    Во первых: метод 'extend' является встроенным в Python, вывод - читаем офф. документацию.

    Во вторых объект будет создан вне сцены и по завершении скрипта будет удалён. Для этого нужно взять сцену и добавить свой объект в неё. После чего сделать обновление всех окон Blender.

    Результат:

    Код:
    import bpy, Blender;
    
    me = Blender.Mesh.New();
    
    v1 = [[1,0,0], [-1, 0, 0]]
    v2 = [[0,1]]
    
    me.verts.extend(v1)
    me.edges.extend(v2)
    
    scn = bpy.data.scenes.active;
    ob = scn.objects.new(me, 'myObj');
    
    Blender.Redraw();
    
    Отличные примеры приведены в самой документации Blender Python API
    Также можно посмотреть встроенные скрипты Blender.
     
  3. dmtr

    dmtr Пользователь сайта

    С нами с:
    06.10.2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    Спасибо.
     
Модераторы: logosman

Поделиться этой страницей