step file reading and processing

Hi, guys!

After a step file is read, I need to obtain the location information of a surface. I need to generate the points array on the surface. However, some points are outside the original surface. Could somebody help me? Faces[2] is the airfoil surface.

surface=BRep_Tool_Surface(Faces[2])
global umax, umin, vmax, vmin
umin, umax, vmin, vmax = shapeanalysis_GetFaceUVBounds(Faces[2])
print(umin, umax, vmin, vmax)
pnts = []
sas = ShapeAnalysis_Surface(surface)

u = umin
while u v = vmin
while v p = sas.Value(u, v)
print("u=", u, " v=", v, "->X=", p.X(), " Y=", p.Y(), " Z=", p.Z())
pnts.append(p)
v += 0.2
u += 0.2
display.DisplayShape(Faces[2], update=True)
display.DisplayShape(surface, update=True)

for pt in pnts:
display.DisplayShape(pt, update=False)
display.Repaint()
start_display()