Read Spline in MaxPlus?

I’m trying to read a spline with subsplines in 3dsmax with out much success, for example in Maxscript i could do this.

fn getVertex splines =
(
thePoints = #() -- array of vertex positions	
	
theShapes = for o in splines where superclassof o == Shape collect o
	
for o = 1 to theShapes.count do
	(
		local subLineCount = numSplines theShapes[o] -- number of splines in the current spline

		for s = 1 to subLineCount do 
			(
				local numOfPoints = (numknots theShapes[o] s)
				
				for i = 1 to numOfPoints do 
				( 
					tmpNod = [0,0,0]
					
					tmp = (getknotpoint theShapes[o] s i)
					tmpNod.x = tmp.x 
					tmpNod.y = tmp.y 
					tmpNod.z = tmp.z
					
					append thePoints tmpNod					
				)
			)

	)
	
	return thePoints
)

getVertex selection

but with Max Python? with the following code for reading a single spline i tough it worked but the points are all wrong, does anyone knows how i could do it?

def readShapes(node):
    points = []

     # check if its a spline
    if node.Object.GetClassName() == "SplineShape":

        Shp = MaxPlus.SplineShape__CastFrom(node.GetObject())

        numVerts = Shp.GetNumberOfVertices()

        for v in range(numVerts):
             p = Shp.GetPoint(v)
             print p
             points.append(p)

    return points

n = MaxPlus.SelectionManager.GetNode(0)
eadShapes(n)

any help appreciated.
Guillermo Leal.