(setq plboundd (vl-remove-if-not (function (lambda ( x ) (equal (distance p x) d 2.5e-2))) (vl-remove-if (function (lambda ( x ) (vl-some (function (lambda ( y ) (equal x y 2.5e-2))) plround))) plbound)))
(setq plboundd (vl-sort plboundd (function (lambda ( a b ) (if (or (equal (angle p a) aa 2.5e-2) (and (equal (angle p a) (* 2 pi) 2.5e-2) (= aa 0.0))) t nil)))))
(if plboundd
(progn
(setq plbound (vl-remove (car plboundd) plbound))
(setq plbound (cons (car plboundd) plbound))
)
)
(setq plround (cons p plround))
)
(setq plround (cons (car plbound) plround))
(setq plbound (cdr plbound))
(setq plround (reverse plround))
(setq plr pl)
(foreach p plround
(setq plr (vl-remove p plr))
)
(while (setq p (car plround))
(setq a (if (cadr plround) (angle p (cadr plround))))
(if
(not
(or
(equal a 0.0 2.5e-2)
(equal a (* 0.5 pi) 2.5e-2)
(equal a pi 2.5e-2)
(equal a (* 1.5 pi) 2.5e-2)
(equal a (* 2 pi) 2.5e-2)
)
)
(progn
(setq plroundorth (cons p plroundorth))
(setq plround (cdr plround))
(if plround
(progn
(setq plroundd (vl-sort plr (function (lambda ( a b ) (< (distance a (car plround)) (distance b (car plround)))))))
(setq plroundd (vl-remove-if-not (function (lambda ( x ) (equal (distance x (car plround)) d 2.5e-2))) plroundd))