AutoLISP取得多段线顶点坐标
2011-04-09 22:15 精诚所至 金石为开 阅读(1987) 评论(0) 编辑 收藏 举报AutoLISP利用repeat循环取得多段线顶点坐标,代码如下。
(defun c:plpoint ()
(setq i 0)
(setq pline (car (entsel)))
(setq ent (entget pline))
(setq pts nil)
(repeat (length ent)
(if (= (car (nth i ent)) 10)
(setq pts (append pts (list (cdr (nth i ent)))))
)
(setq i (1+ i))
)
(print pts)
(princ)
)
代码完。
利用foreach函数取得多段线定点,代码如下。
(defun c:plpoint ()
(setq pline (car (entsel)))
(setq ent (entget pline))
(setq pts nil)
(foreach lst ent
(if (= (car lst) 10)
(setq pts (append pts (list (cdr lst))))
)
)
(print pts)
(princ)
)
代码完。