code: def faces_to_path(mesh, face_ids=None, **kwargs):
      
      if face_ids is None:
          edges = mesh.edges_sorted
      else:
          # take advantage of edge ordering to index as single row
          edges = mesh.edges_sorted.reshape(
              (-1, 6))[face_ids].reshape((-1, 2))
      # an edge which occurs onely once is on the boundary
      unique_edges = grouping.group_rows(
          edges, require_count=1)
      # add edges and vertices to kwargs
      kwargs.update(edges_to_path(edges=edges[unique_edges],
                                  vertices=mesh.vertices))
  
      return kwargs
docs: Given a mesh and face indices find the outline edges and
      turn them into a Path3D.
  
      Parameters
      ---------
      mesh : trimesh.Trimesh
        Triangulated surface in 3D
      face_ids : (n,) int
        Indexes referencing mesh.faces
  
      Returns
      ---------
      kwargs : dict
        Kwargs for Path3D constructor