;;; 子程序:计算型心
(defun find-centerpoint (en / pc)
(setq entda (entget en))
(setq ename (cdr (assoc 0 entda)))
(if (= ename "CIRCLE")
(setq pc (cdr (assoc 10 entda)))
(progn
(setq po-li (vl-remove-if 'not (mapcar '(lambda (x) (if (= (car x) 10) (cdr x))) entda)))
(setq n (length po-li))
(setq y (apply 'mapcar (cons '+ po-li)))
(setq pc (mapcar '/ y (list n n n)))
)
)
pc
)
;;; 子程序:获取多段线顶点的间隔点
(defun get-new-point-list (li n / s-li i k)
(setq s-li '() i 0 k (1+ n))
(while (< i (length li))
(setq s-li (cons (nth i li) s-li))
(setq i (+ i k))
)
(reverse s-li)
)