« Python覚え書き | メイン | Shade10キター&発売日パッチ(笑 »

●Shade-頂点 稜線に接する面を取得

2008年3月 6日    

Shadeで頂点や稜線に接する面を取得するコマンドがなかったので


shape_ = xshade.scene().active_shape()

#辞書として 初期化
vertex_shered_face={} #頂点と接する面のリスト
edge_shered_face = {} #稜線と接する面のリスト

#頂点番号をキーとする辞書を作る
for i in range(shape_.total_number_of_control_points):vertex_shered_face[i] = []

#頂点に接する面を探す
for i in range(shape_.number_of_faces):
for j in shape_.face(i).vertex_indices: vertex_shered_face[j].append(i)

#稜線番号をキーとする辞書を作る
for i in range(shape_.number_of_edges):
#対象となる頂点に接している面のリストを取得
face_list_v0 = vertex_shered_face[shape_.edge(i).v0]
face_list_v1 = vertex_shered_face[shape_.edge(i).v1]
edge_shered_face[i] = []
for j in face_list_v0:
if j in face_list_v1:edge_shered_face[i].append(j)

print edge_shered_face

投稿者 Yukimi` : 2008年3月 6日 13:01