Hi @C_Haines_ENG
Methods FindByRay and FindByPoint doesn't exist in API. I assume you mean FindUsingRay and FindUsingPoint methods. I'm afraid this methods require graphical representation. Also FindUsingRay has performance issues on large assemblies.
I don't know if you want to look for work point in part or assembly and in assembly if you want to look for work points defined at assembly level only or part work points in assembly context (WorkPointProxy).
When the collection of work points is stable, you can scan the document and all sub-documents and store the collection of work points in your own collection ordered by work point coordinates. Later on you can look into this collection and get appropriate work point or its proxy.
The collection and usage may looks like this
'Definition
Dim workPoints As Dictionary(Of Point, List(Of WorkPoint))
'Usage
Dim position As Point
Dim workPointsAtPosition = workPoints(position)
Dictionary is very fast collection for searching. In this case the Point is used as key for searching and List(Of WorkPoint) is used as value. It is because you can have more than one work point at the same position and you can't put multiple values with the same key to Dictionary. You need to decide which work point at the given position is relevant for you.