p = first point
q = second point
v = q - p = vector between them
z = perpendicular to x and y axes
w = v.CrossProduct(z) is perpendicular to v in X-Y plane
r = p + 500 * w.Normal is offset left or right 500 units away from p
if r is on the wrong side, use z.CrossProduct(v) instead of v.CrossProduct(z).
Cheers,
Jeremy