blender python
トーラスを作る
半径1 薄い青
マイナー半径 0.05
RGBA 4値で 色を付ける
import bpy
# トーラスを作成
bpy.ops.mesh.primitive_torus_add(
align='WORLD',
location=(0, 0, 0), # トーラスの中心の座標
rotation=(0, 0, 0), # トーラスの回転
major_radius=2, # 半径
minor_radius=0.03 # マイナー半径
)
# トーラスの名前を設定
torus_object = bpy.context.active_object
torus_object.name = "Torus_radius=2" # 名前を設定
# トーラスのマテリアルを作成
material = bpy.data.materials.new(name="Radius2Material")
material.use_nodes = False # ノードを使用しない
# 色を指定(RGBA) - もう少し濃い水色
material.diffuse_color = (0.2, 0.4, 1, 1)
# トーラスにマテリアルを割り当て
torus_object.data.materials.append(material)
import bpy
import math
# 半径
radius = 2
# 正六角形の頂点座標を計算
vertices = []
for i in range(6):
angle = i * math.pi / 3 # 60度ごとに頂点を配置
x = radius * math.cos(angle)
y = radius * math.sin(angle)
z = 0
vertices.append((x, y, z))
# 新しいメッシュを作成
mesh = bpy.data.meshes.new(name="正六角形_r=2_mesh")
obj = bpy.data.objects.new("正六角形_r=2", mesh)
# メッシュデータに頂点座標を設定
mesh.from_pydata(vertices, [], [(0, 1, 2, 3, 4, 5)])
# シーンに追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# オブジェクトをアクティブに設定
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
# マテリアルを作成
material = bpy.data.materials.new(name="水色Material")
material.use_nodes = False
material.diffuse_color = (0.5, 0.8, 1.0, 1.0) # RGBA
# オブジェクトにマテリアルを割り当て
obj.data.materials.append(material)
import bpy
import math
# 座標と半径を設定
start_point = (-10, 2, 0)
end_point = (10, 2, 0)
cylinder_radius = 0.02
# 高さを計算
cylinder_height = end_point[0] - start_point[0]
# 位置と回転を計算
location = ((start_point[0] + end_point[0]) / 2, (start_point[1] + end_point[1]) / 2, (start_point[2] + end_point[2]) / 2)
rotation = (0, math.pi / 2, 0) # y軸で90度回転
# 円柱を作成
bpy.ops.mesh.primitive_cylinder_add(
radius=cylinder_radius,
depth=cylinder_height,
location=location,
rotation=rotation
)
# オブジェクトを取得
cylinder_object = bpy.context.active_object
# オブジェクトの名前を設定
cylinder_object.name = f"Rail_y={start_point[1]}"
# マテリアルを作成
material = bpy.data.materials.new(name="SilverPurpleMaterial")
material.use_nodes = False
# 銀色と紫色を混ぜる色を指定(RGBA)
silver_color = (0.8, 0.8, 0.8, 1.0)
purple_color = (0.5, 0.2, 0.8, 1.0) # 例: 紫色
mixed_color = [(s + p) / 2 for s, p in zip(silver_color, purple_color)]
# 色を指定
material.diffuse_color = mixed_color
# オブジェクトにマテリアルを割り当て
cylinder_object.data.materials.append(material)
半径0.3の球体を作る
名前は 位置の数字で
x=a y=b z=c
作成位置は
(x,y,z)=
0,0,0
-2,2,0
0,2,0
2,2,0
-1,1,0
0,1,0
1,1,0
import bpy
# 球体を作成する位置のリスト
positions = [
(0, 0, 0),
(-2, 2, 0),
(0, 2, 0),
(2, 2, 0),
(-1, 1, 0),
(0, 1, 0),
(1, 1, 0)
]
# 球体の半径
sphere_radius = 0.05
# 球体を作成
for i, pos in enumerate(positions):
bpy.ops.mesh.primitive_uv_sphere_add(
radius=sphere_radius,
location=pos
)
# オブジェクトの名前を設定
bpy.context.active_object.name = f"Sphere_{i}_x={pos[0]}_y={pos[1]}_z={pos[2]}"
# マテリアルを作成
material = bpy.data.materials.new(name=f"BlueMaterial_{i}")
material.use_nodes = False
# 色を指定(RGBA) - 青色
material.diffuse_color = (0.0, 0.0, 1.0, 1.0)
# オブジェクトにマテリアルを割り当て
bpy.context.active_object.data.materials.append(material)
基本系 配布 001 単位円 torus と xyz軸 円柱
https://drive.google.com/file/d/1adh0pC0n5MUfaPnsQcab8CnTvHu_JqLg/view?usp=drive_link
基本系 配布 002 単位2長さ balls
https://drive.google.com/file/d/1vyg5oFWmw_TK8nwp5TmVSfLH94I6rTaY/view?usp=drive_link
基本系 配布 003 単位2長さ balls 光時計セット
https://drive.google.com/file/d/1u2Rn_nVBcewe39Vokua9C5n25cdivyyL/view?usp=drive_link
blender 基本系 配布 カタログ 2023 - zionad_mainのブログ https://mokuji000zionad.hatenablog.com/entry/2023/07/31/095208
以下 ChatGPT との対話 修正記録 と メモ・ノート
ああああああああああああああああああああああああああああああああああああああああああああ