日々適当

hibitekitou

選択したエッジの長さを計算する

cg |2023-09-02

Blenderのビューのオーバーレイの設定でEdge Lengthにチェックすると選択したエッジの長さが表示されるけど、その合計値を出そうとするとき、普通に考えて、ありえん、となります。

ということで、選択したエッジの長さの合計を計算するスクリプトです。

import bpy

# blender.stackexchange.comの書き込みを参考にしたよ。ていうかそのままだよ。
mode = bpy.context.active_object.mode
# we need to switch from Edit mode to Object mode so the selection gets updated
bpy.ops.object.mode_set(mode='OBJECT')
selectedEdges = [e for e in bpy.context.active_object.data.edges if e.select]

totalLength = 0.
meshVerts = bpy.context.active_object.data.vertices

for e in selectedEdges:
    vIndexes = e.vertices
    totalLength += ( meshVerts[ vIndexes[0] ].co - meshVerts[ vIndexes[1] ].co ).length

print ( totalLength )

# back to whatever mode we were in
bpy.ops.object.mode_set(mode=mode)
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。