求助,请问论坛的各位大神,坐标点如何按y坐标分组!
((0.0 0.0 0.0) (15.0 0.0 0.0) (0.0 0.0 0.0) (15.0 15.0 0.0) (15.0218 15.00.0) (0.0 20.8341 0.0) (30.0 30.0 0.0) (40.0 30.0 0.0) (60.0 55.0 0.0) (90.0
80.0 0.0) (80.0 80.0 0.0) (90.0 90.0 0.0) (100.0 90.0 0.0) (100.0 100.0 0.0)
(79.5591 100.0 0.0))
Ref:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=18825
http://www.mjtd.com/home.php?mod=space&uid=376881&do=wall&page=2 (defun c:tt ()
(setq ptn'((0.0 0.0 0.0)
(15.0 0.0 0.0)
(0.0 0.0 0.0)
(15.0 15.0 0.0)
(15.0218 15.0 0.0)
(0.0 20.8341 0.0)
(30.0 30.0 0.0)
(40.0 30.0 0.0)
(60.0 55.0 0.0)
(90.0 80.0 0.0)
(80.0 80.0 0.0)
(90.0 90.0 0.0)
(100.0 90.0 0.0)
(100.0 100.0 0.0)
(79.5591 100.0 0.0)
)
ptn(vl-sort ptn '(lambda (x y) (< (cadr x) (cadr y))))
tmp '()
)
(while ptn
(setq z (cadar ptn)
ptn1 (vl-remove-if '(lambda (x) (/= (cadr x) z)) ptn)
tmp (cons ptn1 tmp)
ptn(vl-remove-if '(lambda (x) (= (cadr x) z)) ptn)
)
)
(reverse tmp)
)
页:
[1]