Читаем Введение в написание скриптов на Питоне для Блендера 2.5x. Примеры кода полностью

    cu = bpy.data.curves.new('BevelCurve', 'CURVE')

    ob = bpy.data.objects.new('BevelObject', cu)

    bpy.context.scene.objects.link(ob)

    # Настройка некоторых атрибутов cu.dimensions = '2D'

    cu.resolution_u = 6

    cu.twist_mode = 'MINIMUM'

    ob.show_name = True

    # Координаты управляющих точек

    coords = [

        (0.00,0.08,0.00,1.00),

        (-0.20,0.08,0.00,0.35),

        (-0.20,0.19,0.00,1.00),

        (-0.20,0.39,0.00,0.35),

        (0.00,0.26,0.00,1.00),

        (0.20,0.39,0.00,0.35),

        (0.20,0.19,0.00,1.00),

        (0.20,0.08,0.00,0.35)

    ]

    # Создание сплайна и установка управляющих точек

    spline = cu.splines.new('NURBS')

    nPointsU = len(coords)

    spline.points.add(nPointsU)

    for n in range(nPointsU):

        spline.points[n].co = coords[n]

    # Настройка атрибутов сплайна. Точки, вероятно, должны существовать к этому моменту.

    spline.use_cyclic_u = True

    spline.resolution_u = 6

    spline.order_u = 3

    return ob  

def createCurveObject(bevob):

    # Создание кривой и объекта

    cu = bpy.data.curves.new('MyCurve', 'CURVE')

    ob = bpy.data.objects.new('MyCurveObject', cu)

    bpy.context.scene.objects.link(ob)

    # Настройка некоторых атрибутов

    cu.bevel_object = bevob

    cu.dimensions = '3D'

    cu.use_fill_back = True

    cu.use_fill_front = True

    ob.show_name = True

    # Координаты Безье

    beziers = [

        ((-1.44,0.20,0.00), (-1.86,-0.51,-0.36), (-1.10,0.75,0.28)),

        ((0.42,0.13,-0.03), (-0.21,-0.04,-0.27), (1.05,0.29,0.21)),

        ((1.20,0.75,0.78), (0.52,1.36,1.19), (2.76,-0.63,-0.14)) ]

    # Создание сплайна и установка управляющих точек Безье

    spline = cu.splines.new('BEZIER')

    nPointsU = len(beziers)

    spline.bezier_points.add(nPointsU)

    for n in range(nPointsU):

        bpt = spline.bezier_points[n]

        (bpt.co, bpt.handle_left, bpt.handle_right) = beziers[n]

    return ob 

def run(origin):

    bevob = createBevelObject()

    bevob.location = origin

    curveob = createCurveObject(bevob)

    curveob.location = origin

    bevob.select = False

    curveob.select = True

    bpy.ops.transform.translate(value=(2,0,0))

    return

if __name__ == "__main__":

   run((0,0,0))

Типы кривых

Эта программа иллюстрирует различие между типами кривых: POLY, NURBS и BEZIER.

#----------------------------------------------------------

# File curve_types.py

#----------------------------------------------------------

import bpy

from math import sin, pi

# Poly (многоугольник) и nurbs

def makePolySpline(cu):

    spline = cu.splines.new('POLY')

    cu.dimensions = '3D'

    addPoints(spline, 8)  

def makeNurbsSpline(cu):

    spline = cu.splines.new('NURBS')

    cu.dimensions = '3D'

    addPoints(spline, 4)

    spline.order_u = 3

    return spline 

def addPoints(spline, nPoints):

    spline.points.add(nPoints-1)

    delta = 1/(nPoints-1)

    for n in range(nPoints):

        spline.points[n].co = (0, n*delta, sin(n*pi*delta), 1)

  # Безье

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных