本帖最后由 cable2004 于 2015-8-3 16:10 编辑
 - (defun c:tt ()
- (setq a '(0 0 0))
- (setq b '(10 2 0))
- (setq c '(220 20 0))
- (setq li (list a b c '(120 20 0) '(320 20 0) '(420 20 0) '(40 2 0) '(30 2 0) '(110 2 0) '(10 0 0) '(20 0 0) '(30 0 0) '(40 0 0)))
- (setq aaa (sort-same-y li))
- (princ)
- )
- ;;;(((220 20 0) (120 20 0) (320 20 0) (420 20 0))
- ;;; ((10 2 0) (40 2 0) (30 2 0) (110 2 0))
- ;;; ((0 0 0) (10 0 0) (20 0 0) (30 0 0) (40 0 0)))
- (defun sort-same-y (l / lst l1 a)
- (while l
- (setq a (car l)
- l (cdr l)
- l1 (vl-remove-if '(lambda (e) (/= (cadr e)(cadr a)) ) l)
- lst (cons (cons a l1) lst)
- l1 nil
- l (vl-remove-if '(lambda (e) (= (cadr e)(cadr a)) ) l)
- ))
- lst)
是不是这个意思
|