I am trying to plot/visualize an off plot using python. Currently, I am trying to use the Plotly mesh plots for the same.
This is the mesh I am trying to plot:

First, I am trying to read the OFF file and extract all the vertices from it, and then giving the x y and z coordinates of these vertices to plotly mesh3d function as shown in the reference. However, that results in a plot that is nowhere similar to the orginal mesh. This is what the result looks like:

Here is my code for the same:
import plotly.graph_objects as go
import numpy as np
# loading the mesh and getting the vertices
def ExtractRawData(filepath):
# read the file path
with open(filepath) as file:
if 'OFF' != file.readline().strip():
raise('Not a valid OFF header')
n_verts, n_faces, n_dontknow = tuple([int(s) for s in file.readline().strip().split(' ')])
verts = [[float(s) for s in file.readline().strip().split(' ')] for i_vert in range(n_verts)]
faces = [[int(s) for s in file.readline().strip().split(' ')][1:] for i_face in range(n_faces)]
return np.array(verts), np.array(faces)
# extracting the vertices from the off file
verts, faces = ExtractRawData('Turbine blade.off')
# getting the x, y and z coordinates from the vertices
x = verts[:,0]
y = verts[:,1]
z = verts[:,2]
# plotting the mesh
fig = go.Figure(data=[go.Mesh3d(x=x, y=y, z=z)])
fig.show()
Is there anything wrong with my code? How do I get the right plot?