繁体   English   中英

在 python 中将网格转换为多边形

[英]Convert mesh to polygon in python

我有一个网格,想将其转换为多边形。 我做了一些谷歌搜索,找到了关于将多边形转换为网格的大部分答案。 我想做相反的事情。是否有任何图书馆或关于如何实现它的任何想法

那么您可以使用Python FME 库将输入作为网格对象并返回多边形

import fmeobjects

class MeshToPolygons(object):
    def input(self, feature):
        mesh = feature.getGeometry()
        if isinstance(mesh, fmeobjects.FMEMesh):
            vertices = mesh.getVertices()
            for part in mesh:
                indices = part.getVertexIndices()
                if indices:
                    boundary = fmeobjects.FMELine([vertices[i] for i in indices])
                    feature.setGeometry(fmeobjects.FMEPolygon(boundary))
                    self.pyoutput(feature)

如果上述方法没有帮助,您还可以查看python TriMesh库。 您可以使用将对象加载为网格

trimesh.load(file_obj, file_type=None, resolver=None, force=None, **kwargs) 
   Return type: Trimesh, Path2D, Path3D, Scene
   Returns: geometry – Loaded geometry as trimesh classes

现在将网格对象转换为一系列连接点。 之后你可以使用

trimesh.path.polygons.paths_to_polygons(paths, scale=None)
   Return type: (p,) list
   Returns: polys – Filled with Polygon or None

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM