2023年7月23日日曜日

20230724 railcar

 




コレクションだけを作って


”railcars"

"red points"

"pink points"

"railcar Z=-12"

"railcar Z=0"

"railcar Z=+12"


import bpy # List of collection names collection_names = [ "railcars", "red points", "pink points", "railcar Z=-12", "railcar Z=0", "railcar Z=+12" ] # Function to create a new collection def create_collection(name): collection = bpy.data.collections.new(name) bpy.context.scene.collection.children.link(collection) return collection # Create collections for name in collection_names: create_collection(name)



import bpy
import math

# 正方形の1辺の長さ
side_length = 12.0

# 3つの正方形の位置(指定地に配置する座標)を修正
positions = [
    (-12, 0, 0),
    (0, 0, 0),
    (12, 0, 0)
]

# 3つの色を用意(より薄い青)
colors = [ (0.4, 0.8, 1.0, 1.0),    # 
          (0.3, 0.6, 1.0, 1.0),    # 
         (0.2, 0.4, 1.0, 1.0)]    # 

# 3つの正方形を作成し、位置と色を設定
for i, (position, color) in enumerate(zip(positions, colors)):
    # 新しいメッシュを作成
    mesh = bpy.data.meshes.new(f"SquareMesh_{i}")
    obj = bpy.data.objects.new(f"Square_{i}", mesh)

    # シーンに追加
    scene = bpy.context.scene
    scene.collection.objects.link(obj)

    # メッシュの頂点を設定
    vertices = [
        (side_length / 2, side_length / 2, 0),
        (-side_length / 2, side_length / 2, 0),
        (-side_length / 2, -side_length / 2, 0),
        (side_length / 2, -side_length / 2, 0)
    ]
    mesh.from_pydata(vertices, [], [[0, 1, 2, 3]])

    # オブジェクトの位置を設定
    obj.location = position

    # マテリアルを作成しオブジェクトに割り当てる
    mat = bpy.data.materials.new(name=f"Material_{i}")
    mat.use_nodes = False  # ノードを使用しない

    mat.diffuse_color = color
    obj.data.materials.append(mat)










import bpy
import math

aaa =12
bbb =12

# 正方形の1辺の長さ
side_length = 12.0

# 3つの正方形の位置(指定地に配置する座標)を修正
positions = [
    (-12+aaa, 0, 0+bbb),
    (0+aaa, 0, +bbb),
    (12+aaa, 0, 0+bbb)
]

# 3つの色を用意(より薄い青)
colors = [ (0.4, 0.8, 1.0, 1.0),    # 
          (0.3, 0.6, 1.0, 1.0),    # 
         (0.2, 0.4, 1.0, 1.0)]    # 

# 3つの正方形を作成し、位置と色を設定
for i, (position, color) in enumerate(zip(positions, colors)):
    # 新しいメッシュを作成
    mesh = bpy.data.meshes.new(f"SquareMesh_{i}")
    obj = bpy.data.objects.new(f"Square_{i}", mesh)

    # シーンに追加
    scene = bpy.context.scene
    scene.collection.objects.link(obj)

    # メッシュの頂点を設定
    vertices = [
        (side_length / 2, side_length / 2, 0),
        (-side_length / 2, side_length / 2, 0),
        (-side_length / 2, -side_length / 2, 0),
        (side_length / 2, -side_length / 2, 0)
    ]
    mesh.from_pydata(vertices, [], [[0, 1, 2, 3]])

    # オブジェクトの位置を設定
    obj.location = position

    # マテリアルを作成しオブジェクトに割り当てる
    mat = bpy.data.materials.new(name=f"Material_{i}")
    mat.use_nodes = False  # ノードを使用しない

    mat.diffuse_color = color
    obj.data.materials.append(mat)








import bpy
import math

aaa =-12
bbb =-12

# 正方形の1辺の長さ
side_length = 12.0

# 3つの正方形の位置(指定地に配置する座標)を修正
positions = [
    (-12+aaa, 0, 0+bbb),
    (0+aaa, 0, +bbb),
    (12+aaa, 0, 0+bbb)
]

# 3つの色を用意(より薄い青)
colors = [ (0.4, 0.8, 1.0, 1.0),    # 
          (0.3, 0.6, 1.0, 1.0),    # 
         (0.2, 0.4, 1.0, 1.0)]    # 

# 3つの正方形を作成し、位置と色を設定
for i, (position, color) in enumerate(zip(positions, colors)):
    # 新しいメッシュを作成
    mesh = bpy.data.meshes.new(f"SquareMesh_{i}")
    obj = bpy.data.objects.new(f"Square_{i}", mesh)

    # シーンに追加
    scene = bpy.context.scene
    scene.collection.objects.link(obj)

    # メッシュの頂点を設定
    vertices = [
        (side_length / 2, side_length / 2, 0),
        (-side_length / 2, side_length / 2, 0),
        (-side_length / 2, -side_length / 2, 0),
        (side_length / 2, -side_length / 2, 0)
    ]
    mesh.from_pydata(vertices, [], [[0, 1, 2, 3]])

    # オブジェクトの位置を設定
    obj.location = position

    # マテリアルを作成しオブジェクトに割り当てる
    mat = bpy.data.materials.new(name=f"Material_{i}")
    mat.use_nodes = False  # ノードを使用しない

    mat.diffuse_color = color
    obj.data.materials.append(mat)







球体を作る
半径0.2

球体中心は
y=0
Z=0
x軸の -20から+20まで 1間隔で作る




import bpy

# 球体の半径
radius = 0.2

# x軸の範囲
x_min = -20
x_max = 20
step = 1

# 球体を作成
for x in range(x_min, x_max + step, step):
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, 0, 0))





球体を作る
半径0.4

球体中心は
x=0
Z=0
y軸の -20から+20まで 1間隔で作る





aaaaa