2023年7月31日月曜日

数字変更 20230801b 半径1の円 移動複製





名前は 小数2桁まで表示 


   center = (0, 0, 0)

   center = (1, 0, 0)

   center = ((3**0.5)/2, 0, 0)

   center = (2, 0, 0)

   center = (-1, 0, 0)






import bpy

import math


def create_circle_on_plane(plane, color):

    # Set the circle's radius and center

    radius = 1

    center = (0.5, 0, 0)


    # Create a new mesh circle with filled ngon

    bpy.ops.mesh.primitive_circle_add(radius=radius, location=center, fill_type='NGON')


    # Rename the circle object with the rounded position

    rounded_center = tuple(round(coord, 2) for coord in center)

    circle_obj = bpy.context.active_object

    circle_obj.name = "Circle_" + plane + "_({:.2f}, {:.2f}, {:.2f})".format(*rounded_center)


    # Check if the material already exists, otherwise create a new one

    material_name = "Circle_Material_" + plane

    if material_name not in bpy.data.materials:

        material = bpy.data.materials.new(name=material_name)

    else:

        material = bpy.data.materials[material_name]


    # Assign the color to the material

    material.use_nodes = False

    material.diffuse_color = color


    # Create a material slot and assign the material to the circle object

    if not circle_obj.data.materials:

        circle_obj.data.materials.append(material)

    else:

        circle_obj.data.materials[0] = material


    if plane == "YZ":

        # Swap Y and Z components of the vertices for YZ plane

        for vertex in circle_obj.data.vertices:

            temp_y = vertex.co.y

            vertex.co.y = vertex.co.z

            vertex.co.z = temp_y


        # Z-axis rotation (90 degrees) for YZ plane

        rotation_angle = math.radians(90)

        bpy.context.view_layer.objects.active = circle_obj

        bpy.ops.transform.rotate(value=rotation_angle, orient_axis='Z')

    elif plane == "ZX":

        # Swap Y and Z components of the vertices for ZX plane

        for vertex in circle_obj.data.vertices:

            temp_y = vertex.co.y

            vertex.co.y = vertex.co.z

            vertex.co.z = temp_y



# xy plane - 0, 191, 255 (Deep Sky Blue)

create_circle_on_plane("XY", (0/255, 191/255, 255/255, 1.0))


# yz plane - (255, 105, 180)

create_circle_on_plane("YZ", (255/255, 105/255, 180/255, 1.0))


# zx plane - 薄緑 (Light Green) - (144, 238, 144)

create_circle_on_plane("ZX", (144/255, 238/255, 144/255, 1.0))










# コレクションを作る 重複の場合 作らない

import bpy


# List of collection names

collection_names = [

 

   "円中心 (0, 0, 0)",

   "円中心 (3^(0.5), 0, 0)",

 "円中心 (0.5, 0, 0)",

 "円中心 (1, 0, 0)",

   "円中心 (2, 0, 0)",

    "xyz 軸 円柱"

]


# Function to create a new collection if it doesn't exist

def create_collection_if_not_exists(name):

    if name not in bpy.data.collections:

        collection = bpy.data.collections.new(name)

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


# Create collections

for name in collection_names:

    create_collection_if_not_exists(name)












 

基本系 配布 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 との対話 修正記録 と メモ・ノート


ああああああああああああああああああああああああああああああああああああああああああああ