原型 立方体を 基準に 3つの平行な正方形

 


Blender Pythonスクリプトで、y=-1, 0, 1の3つの位置にあるx=0、z=0を中心とした正方形を作成














# コレクションを作成

import bpy


collection_name = "正方形 3つ"

if collection_name not in bpy.data.collections:

    zionad_collection = bpy.data.collections.new(collection_name)

    bpy.context.scene.collection.children.link(zionad_collection)

else:

    zionad_collection = bpy.data.collections[collection_name]










import bpy


# 正方形の中心

center = (0, 0, 0)


# 正方形の大きさ

size = 2.0


# 正方形の座標

square_vertices = [

    (center[0] - size/2, center[1], center[2] - size/2),

    (center[0] + size/2, center[1], center[2] - size/2),

    (center[0] + size/2, center[1], center[2] + size/2),

    (center[0] - size/2, center[1], center[2] + size/2)

]


square_edges = [(0,1), (1,2), (2,3), (3,0)]

square_faces = [(0,1,2,3)]


# 正方形を作成する関数

def create_square(x, y, z):

    # Meshデータの作成

    mesh = bpy.data.meshes.new("Square")

    # 座標を変換して、正方形をx,y,zの位置に移動

    vertices = [(vx+x,vy+y,vz+z) for vx,vy,vz in square_vertices]

    # Meshデータに頂点、エッジ、面情報を追加

    mesh.from_pydata(vertices, square_edges, square_faces)

    # オブジェクトの作成

    obj = bpy.data.objects.new("SquareObject", mesh)

    # オブジェクトをシーンに追加

    scene = bpy.context.scene

    scene.collection.objects.link(obj)


# 3つの正方形を作成

create_square(0, -1, 0)  # y = -1

create_square(0, 0, 0)   # y = 0

create_square(0, 1, 0)   # y = 1










#原型 正方形 3枚 平行

import bpy # 正方形の中心 center = (0, 0, 0) # 正方形の大きさ size = 1.0 # 正方形の座標 square_vertices = [ (center[0] - size/2, center[1], center[2] - size/2), (center[0] + size/2, center[1], center[2] - size/2), (center[0] + size/2, center[1], center[2] + size/2), (center[0] - size/2, center[1], center[2] + size/2) ] square_edges = [(0,1), (1,2), (2,3), (3,0)] square_faces = [(0,1,2,3)] # 正方形を作成する関数 def create_square(x, y, z): # Meshデータの作成 mesh = bpy.data.meshes.new("Square") # 座標を変換して、正方形をx,y,zの位置に移動 vertices = [(vx+x,vy+y,vz+z) for vx,vy,vz in square_vertices] # Meshデータに頂点、エッジ、面情報を追加 mesh.from_pydata(vertices, square_edges, square_faces) # オブジェクトの作成 obj = bpy.data.objects.new("SquareObject", mesh) # オブジェクトをシーンに追加 scene = bpy.context.scene scene.collection.objects.link(obj) # オブジェクトのマテリアルを設定 mat = bpy.data.materials.new(name="SquareMaterial") obj.data.materials.append(mat) # 3つの正方形を作成 create_square(0, -1, 0) create_square(0, 0, 0) create_square(0, 1, 0)









import bpy


# 正方形1の座標

vertices1 = [(0,0,0), (1,0,0), (1,0,1), (0,0,1)]

edges1 = [(0,1), (1,2), (2,3), (3,0)]

faces1 = [(0,1,2,3)]


# 正方形2の座標

vertices2 = [(2,0,0), (3,0,0), (3,0,1), (2,0,1)]

edges2 = [(0,1), (1,2), (2,3), (3,0)]

faces2 = [(0,1,2,3)]


# 正方形3の座標

vertices3 = [(4,0,0), (5,0,0), (5,0,1), (4,0,1)]

edges3 = [(0,1), (1,2), (2,3), (3,0)]

faces3 = [(0,1,2,3)]


# Meshデータの作成

mesh1 = bpy.data.meshes.new("Square1")

mesh2 = bpy.data.meshes.new("Square2")

mesh3 = bpy.data.meshes.new("Square3")


# Meshデータに頂点、エッジ、面情報を追加

mesh1.from_pydata(vertices1, edges1, faces1)

mesh2.from_pydata(vertices2, edges2, faces2)

mesh3.from_pydata(vertices3, edges3, faces3)


# オブジェクトの作成

obj1 = bpy.data.objects.new("SquareObject1", mesh1)

obj2 = bpy.data.objects.new("SquareObject2", mesh2)

obj3 = bpy.data.objects.new("SquareObject3", mesh3)


# オブジェクトをシーンに追加

scene = bpy.context.scene

scene.collection.objects.link(obj1)

scene.collection.objects.link(obj2)

scene.collection.objects.link(obj3)


# オブジェクトのマテリアルを設定

mat1 = bpy.data.materials.new(name="RedMaterial")

mat1.diffuse_color = (1, 0, 0, 1)

obj1.data.materials.append(mat1)


mat2 = bpy.data.materials.new(name="GreenMaterial")

mat2.diffuse_color = (0, 1, 0, 1)

obj2.data.materials.append(mat2)


mat3 = bpy.data.materials.new(name="BlueMaterial")

mat3.diffuse_color = (0, 0, 1, 1)

obj3.data.materials.append(mat3)





このブログの人気の投稿

基本の   線路レール

原型 球体36 xy 横 正方形 60x60 平面分布

原型 球体36 xz 縦 正方形 60x60 平面分布