CAD线段统计命令

;统计cad图中线的总长度
;************** Write By zhenglin****************
(defun c:ff (/ p n e e1 e2 l s x1 x2 y1 y2 xx yy ll lll)
(setq ln 0 lll 0)
(setq p (ssget)) Select objects
(if p
(progn If any objects selected
(setq l 0 n (sslength p))
(while (< l n) For each selected object...
(if (= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
(progn
(setq e1 (assoc 10 e) e2 (assoc 11 e))
(setq x1 (cadr e1) y1 (caddr e1))
(setq x2 (cadr e2) y2 (caddr e2))
(setq xx (abs (- x2 x1)) yy (abs (- y2 y1)))
(setq ll (sqrt (+ (* xx xx) (* yy yy))))
(setq lll (+ lll ll))
(setq ln (+ ln 1))
)
)
(setq l (1+ l))
)
)
)
(print "所选线段数量= ")
(princ ln)
(print "所选线段总长度= ")
(princ lll)
(terpri)
)

相关文档
最新文档