MFnMesh.getTriangles() issue.

Skip to first unread message


Jul 28, 2021, 6:04:57 PM7/28/21
to Python Programming for Autodesk Maya
Hello people !

I've been trying to store faces from combined objects using getTriangles method, but I think I'm using it wrong..

to reproduce the issue, duplicate a sphere, move it a little so you can see, and combine it into a single object, name it as "combined_mesh" then:

sel = OpenMayaApi.MSelectionList()

_dag = sel.getDagPath(0)
_mesh = OpenMayaApi.MFnMesh(_dag)

_, triangles_idx = _mesh.getTriangles()

_, mObject = sel.getComponent(0)
mfn_components = OpenMayaApi.MFnSingleIndexedComponent(mObject)
mfn_object = mfn_components.create(OpenMayaApi.MFn.kMeshPolygonComponent)

selection_list = OpenMayaApi.MSelectionList()
selection_list.add((_dag, mfn_object))


thanks guys.

Tim Fowler

Jul 29, 2021, 10:33:04 AM7/29/21
MFnMesh::getTriangles doesn't return actual components like faces, it
returns the triangles that Maya used to render the mesh. e.g. a
single quad face has 4 vertices, and Maya has to turn that into two
triangles to render. This function will tell you what vertices it
used to make up those triangles. If you go to Display -> Polygons ->
Face Triangles then you can see them displayed in the viewport. The
"fake" edges Maya used to make up the triangles will be rendered in a
dashed line.
> --
> You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
> To view this discussion on the web visit
Reply all
Reply to author
0 new messages