'TinSurface' object has no attribute 'GetVerticesInsideBorder'

Hi

I am trying to get all surfave “points/vertices” within a border polyline.
When checking the civil docs it i found the following method: GetVerticesInsideBorder Method (autodesk.com)

sadly when using it i get the error mentioned in the title.

# Load the Python Standard and DesignScript Libraries
import sys
import clr

# Add Assemblies for AutoCAD and Civil3D
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')

# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

# Import references from Civil3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

# The inputs to this node will be stored as a list in the IN variables.
surfaceIN = IN[0]
border = IN[1]

#vertices = surfaceIN.GetVerticesInsideBorder(border)
vertices = surfaceIN.GetVerticesInsideBorder(border)

# Assign your output to the OUT variable.
OUT = vertices

Hi
Attached DYN FILE

here is the dyn file
DeleteTinSurfacePoints.dyn (19.2 KB)

TRY

import sys
import clr

clr.AddReference('AcMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('ProtoGeometry')

from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

from System.Collections.Generic import Dictionary

adoc = Application.DocumentManager.MdiActiveDocument
cdoc = CivilApplication.ActiveDocument

from Autodesk.DesignScript.Geometry import *

surfaceIN = IN[0]
border = IN[1]

def GetVertices(surfaceIND , borderD):
	
	global adoc
	global cdoc
	
	output = []
	

	if not surfaceIND:
		return

	with adoc.LockDocument():
	    with adoc.Database as db:
	        with db.TransactionManager.StartTransaction() as t:
				for _surfID in cdoc.GetSurfaceIds():
					#vals = []
					obj = t.GetObject(_surfID, OpenMode.ForRead)
					
					if obj.Name == surfaceIND:
					   _surf = obj
			   
				#output.append(_surf)
				#vertices = _surf.GetVerticesInsideBorder(border)
				pline_ = Point3dCollection()
				for j in borderD:
				    pline_.Add(Point3d(j.X,j.Y,j.Z))
				vertices = _surf.GetVerticesInsideBorder(pline_)
				
				
					
						
				t.Commit()
	return vertices 		

OUT = GetVertices( surfaceIN , border )

Thank you so much for your help. This works.