If you need some wiggle room try this: [ignoring the z]
(setq wiggle 0.05)
(setq mdn (ssget "x" (list '(0 . "circle")
'(-4 . ">,*,*") (list 10 (- (car stp) wiggle) 0 0)
'(-4 . "<,*,*") (list 10 (+ (car stp) wiggle) 0 0)
'(-4 . "*,>,*") (list 10 0 (- (cadr stp) wiggle) 0)
'(-4 . "*,<,*") (list 10 0 (+ (cadr stp) wiggle) 0)
) )
)
Reads like this:
(if (and (> (center x) (- (pt x) wiggle))
(< (center x) (+ (pt x) wiggle))
(> (center y) (- (pt y) wiggle))
(< (center y) (+ (pt y) wiggle))
)
;; We have a match
)