"""Extract points on the boundary of a mesh. Add an ID label to all vertices.""" from vedo import Mesh, dataurl, Points, show # Load a mesh from a URL, compute normals, and clean duplicate points b = Mesh(dataurl+'290.vtk') b.compute_normals().clean().linewidth(0.1) # Get the point IDs on the boundary of the mesh pids = b.boundaries(return_point_ids=True) # Create a Points object to represent the boundary points pts = Points(b.vertices[pids]).c('red5').ps(10) # Create a Label object for all the vertices in the mesh labels = b.labels('id', scale=10).c('green2') # Show the mesh, boundary points, vertex labels, and docstring show(b, pts, labels, __doc__, zoom=2).close()