TOPページ   >   Blender

Blenderスクリプトに最低限必要な記述

Blenderスクリプトに最低限必要な記述

平面メッシュを登録するだけのシンプルなBlenderスクリプトです。
コピーしてオリジナルのスクリプトとするときは、赤字の箇所を確認、差し替えてください。

pyファイルのダウンロード->making-simple-script.zip

赤字:このスクリプト固有となる記述。
青字:メッシュ登録のための記述(詳細は別ページで説明します)。

bl_info = {
    "name": "Sample of add plane",
    "author": "TMO",
    "version": (0, 1, 0),
    "blender": (2, 6, 0),
    "location": "View3D > Add > Mesh > Sample of add plane",
    "description": "Sample of add plane.",
    "warning": "",
    "wiki_url": "http://www.sousakuba.com/blender/index.html",
    "tracker_url": "",
    "category": "Add Mesh"}

import bpy
from bpy_extras import object_utils

class main(bpy.types.Operator):
    bl_idname="mesh.sample_of_add_plane"
    bl_label="Sample of add plane"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):

        plane_size = 1.0

        verts = []
        faces = []

        verts.append( [ -plane_size, plane_size, 0 ] )
        verts.append( [  plane_size, plane_size, 0 ] )
        verts.append( [  plane_size, -plane_size, 0 ] )
        verts.append( [ -plane_size, -plane_size, 0 ] )

        faces.append( [0,1,2,3] )

        new_mesh = bpy.data.meshes.new("mesh")
        new_mesh.from_pydata(verts, [], faces)
        new_mesh.update(calc_edges=True)

        object_utils.object_data_add(context, new_mesh, operator=None)

        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(main.bl_idname, main.bl_label, icon="PLUGIN")

def register():
    bpy.utils.register_module(__name__)

    bpy.types.INFO_MT_mesh_add.append(menu_func)

def unregister():
    bpy.utils.unregister_module(__name__)

    bpy.types.INFO_MT_mesh_add.remove(menu_func)

if __name__ == "__main__":
    register()