我正在编写一个脚本来从平面生成建筑物。虽然具有法线平面是矩形,但它很容易 - 你正在寻找最顶点 - / + X, - / + Y, - / + Z,但是如果平面不是规则形状怎么办?在Blender的python api中有一个很好的简单解决方案吗? 实际上有没有聪明的方法来检测边界上的面/边/顶点?
答案 0 :(得分:1)
寻找边缘边缘:这些边缘边缘仅附着在一个面上。查看Mesh课程,特别是edges,faces和vertices属性。不幸的是,边缘不包含它们所属的面部列表,因此您必须构造这样的映射,例如。
EdgeFaces = {} # mapping from edge to adjacent faces
for ThisFace in TheMesh.faces :
for ThisEdge in ThisFace.edge_keys :
if not ThisEdge in EdgeFaces :
EdgeFaces[ThisEdge] = []
#end if
EdgeFaces[ThisEdge].append(ThisFace.edge_keys)
#end for
#end for
然后,您只需通过EdgeFaces查看映射到单元素列表的所有键。