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

        data = uvtex.data

        for n in range(len(texfaces)):

            tf = texfaces[n]

            data[n].uv1 = texverts[tf[0]]

            data[n].uv2 = texverts[tf[1]]

            data[n].uv3 = texverts[tf[2]]

            if len(tf) == 4:

                data[n].uv4 = texverts[tf[3]]

    scn = bpy.context.scene

    ob = bpy.data.objects.new(name, me)

    scn.objects.link(ob)

    scn.objects.active = ob

    return 

def parseFace(words):

    face = []

    texface = []

    for n in range(1, len(words)):

        li = words[n].split('/')

        face.append( int(li[0])-1 )

        try:

            texface.append( int(li[1])-1 )

        except:

            pass

    return (face, texface)

__init__.py

Этот файл содержит пользовательский интерфейс, то есть два класса, которые создают пункты меню для экспортёра и импортёра. Простой экспортёр вызывается из меню File » Export. Есть две опции: логический выбор, чтобы повернуть меш на 90 градусов (для преобразования между осями Y и Z для направления вверх), и масштаб. Простой импортёр вызывается из меню File » Import. Есть две опции: логический выбор, чтобы повернуть меш на 90 градусов (чтобы ось Z указывала вверх), и масштаб.

__init__.py также содержит словарь bl_info , который преобразует пакет в аддон Блендера, код регистрации, и код для импорта/перезагрузки двух других файлов.

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

# File __init__.py

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

# Информация аддона

bl_info = {

    "name": "Simple OBJ format",

    "author": "Thomas Larsson",

    "location": "File > Import-Export",

    "description": "Simple Wavefront obj import/export. Does meshes and UV coordinates",

    "category": "Import-Export"}  

# Для поддержки правильной перезагрузки, пробуем обратиться

# к переменной пакета, если она есть, перезагрузить всё

if "bpy" in locals():

    import imp

    if 'simple_obj_import' in locals():

        imp.reload(simple_obj_import)

    if 'simple_obj_export' in locals():

        imp.reload(simple_obj_export)  

import bpy

from bpy.props import *

from io_utils import ExportHelper, ImportHelper  

#

# Меню Import

class IMPORT_OT_simple_obj(bpy.types.Operator, ImportHelper):

    bl_idname = "io_import_scene.simple_obj"

    bl_description = 'Import from simple OBJ file format (.obj)'

    bl_label = "Import simple OBJ" bl_space_type = "PROPERTIES"

    bl_region_type = "WINDOW"

    filename_ext = ".obj"

    filter_glob = StringProperty(default="*.obj;*.mtl", options={'HIDDEN'})

    filepath = bpy.props.StringProperty(

        name="File Path",

        description="File path used for importing the simple OBJ file",

        maxlen= 1024, default= "")

    rot90 = bpy.props.BoolProperty(

        name = "Rotate 90 degrees",

        description="Rotate mesh to Z up",

        default = True)

    scale = bpy.props.FloatProperty(

        name = "Scale",

        description="Scale mesh",

        default = 0.1, min = 0.001, max = 1000.0)  

    def execute(self, context):

        from . import simple_obj_import

        print("Load", self.properties.filepath)

        simple_obj_import.import_simple_obj(

            self.properties.filepath,

            self.rot90,

            self.scale)

        return {'FINISHED'}  

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

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

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

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

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

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

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

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

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