ywx2020 发表于 2020-12-17 22:56:26

如何才能提取到所有坐标pts

(setq ss (ssget '((0 . "LWPOLYLINE,LINE"))))
   (setq i 0)

   (setq pts nil)
      (repeat (sslength ss)
      (setq pt (cdr (assoc 10(entget(ssname ss i)))))
      (setq pts(append pts (list pt)))
      (setq i (1+ i))
      )pts提取坐标点,为什么矩形只提取到左下角的坐标,直线也有部分提取不到

caddog 发表于 2020-12-18 00:12:43

直线的起点组码是10,终点组码是11
可以这样写

(setq ss (ssget '((0 . "LWPOLYLINE,LINE"))))
(setq i 0)
(setq pts nil)
(repeat (sslength ss)
(setq pt (vl-remove-if-not '(lambda(x) (or (= (car x) 11) (= (car x) 10))) (entget (ssname ss i))))
(setq pt (mapcar 'cdr pt))
(setq pts(append pts pt))
(setq i (1+ i))
)
页: [1]
查看完整版本: 如何才能提取到所有坐标pts