再次请求支援,表Y值相同合并
(defun c:tt ()(setq a '(0 00))
(setq b '(10 0 0))
(setq c '(220 200))
;(setq li (list a b c))
)
;希望结果(((0 00)(10 0 0))(220 200))y值相同表连接,没办法,只能求教了。
大师,结果没有变化,就是按总表的顺序。把Y值相同的合并为一个表.只管Y值。 本帖最后由 cable2004 于 2015-8-3 16:10 编辑
(defun c:tt ()
(setq a '(0 00))
(setq b '(10 2 0))
(setq c '(220 200))
(setq li (list a b c '(120 200) '(320 200) '(420 200) '(40 2 0) '(30 2 0) '(110 2 0) '(10 00) '(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)是不是这个意思
cable2004 发表于 2015-8-3 12:36 static/image/common/back.gif
是不是这个意思
这个还请您看一下,能运行出结果,提示:应用程序错误: 参数类型错误,高级的我玩不转 测试((-144.259 -1.22465e-015 0.0) (-105.59 0.0 0.0) (-125.031 3.15913e-015 0.0) (-144.259 10.0 0.0) (-125.031 10.0 0.0) (-105.59 10.0 0.0) (-105.59 20.0 0.0) (-144.259 20.0 0.0) (-125.031 20.0 0.0)) 返回:(((-105.59 20.0 0.0) (-144.259 20.0 0.0) (-125.031 20.0 0.0)) ((-105.59 10.0 0.0)) ((-144.259 10.0 0.0) (-125.031 10.0 0.0)) ((-125.031 3.15913e-015 0.0)) ((-105.59 0.0 0.0)) ((-144.259 -1.22465e-015 0.0)))有点点问题。 多谢版主指点!
页:
[1]