Тема: Сортировка списка точечных пар (Х возрастает, Y убывает)
Програмка сортирует все точечные пары текстовых элементов чертежа по возрастанию координаты Х.
Как переписать vl-sort так, чтобы в условии была проверка на убывание Y.
На входе: XY (10.0 32.0 0.0)(12.0 14.0 0.0) (10.0 60.0 0.0)
Должно быть на выходе: XY_Sorted (10.0 60.0 0.0) (10.0 32.0 0.0)(12.0 14.0 0.0)
(defun C:test () (vl-load-com) ;*** создает набор из всех текстовых элементов чертежа (setq All (ssget "_x" '((0 . "TEXT")))) (setq L (sslength all)) (setq XY nil) (setq i 0) ;*** создает список из точечных пар элементов (while (< i l) (progn (setq XY (cons (cdr (assoc 10 (entget (ssname all i)))) XY)) (setq i (1+ i)) );end of progn );end of while ;*** сортирует список из точечных пар по возрастанию координаты Х (setq XY_Sorted (vl-sort XY (function (lambda (e1 e2) (< (car e1) (car e2)))))) )