0

我正在编写一个脚本来从平面生成建筑物。虽然普通平面是矩形,但它很容易 - 您正在寻找大多数顶点 -/+X、-/+Y、-/+Z,但是如果平面不是规则形状怎么办?Blender中的python api中有一个很好的简单解决方案吗?事实上,有没有什么聪明的方法来检测边界上的面/边/顶点?

4

1 回答 1

1

寻找边界边缘:这些将仅连接到一个面上。查看Mesh类,特别是edgesfacesvertices属性。不幸的是,边缘不包含它们所属的面的列表,因此您必须构建这样的映射,例如

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 查看映射到单元素列表的所有键。

于 2012-02-02T00:56:59.687 回答