youtube 使用プログラム

import bpy
import bmesh
from mathutils import Vector

# アクティブなオブジェクトがエディットモードであることを確認
if bpy.context.object.mode == 'EDIT':
    # BMeshの取得
    obj = bpy.context.edit_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    edge_length_total = 0.0
    selected_edges_count = 0
    mat_world = obj.matrix_world  # オブジェクトの変換行列を取得

    # 選択されている辺のグローバル座標での長さを計算
    print("Selected edges details (Global coordinates):")
    for edge in bm.edges:
        if edge.select:
            # 頂点のローカル座標をグローバル座標に変換
            v1_global = mat_world @ edge.verts[0].co
            v2_global = mat_world @ edge.verts[1].co
            edge_length = (v1_global - v2_global).length
            edge_length_total += edge_length
            selected_edges_count += 1
            print(f"Edge between ({v1_global.x:.4f}, {v1_global.y:.4f}, {v1_global.z:.4f}) and ({v2_global.x:.4f}, {v2_global.y:.4f}, {v2_global.z:.4f}) - Length: {edge_length:.4f} m")

    # 合計の長さと選択された辺の数をメートル単位で表示
    print("\nTotal selected edge length in global coordinates: {:.4f} m".format(edge_length_total))
    print("Number of selected edges: {}".format(selected_edges_count))

else:
    print("Please switch to Edit Mode.")