onlooker 发表于 2018-3-11 09:46:22

求助,请问论坛的各位大神,坐标点如何按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.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))

Andyhon 发表于 2018-3-11 11:36:52

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

xyp1964 发表于 2018-3-13 14:15:04

(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]
查看完整版本: 求助,请问论坛的各位大神,坐标点如何按y坐标分组!