 - (defun c:tt ()
- (if (and (setq s1 (car (entsel "\n请选择封闭的多段线")))
- (setq ent (entget s1))
- (= (cdr (assoc 0 ent)) "LWPOLYLINE") ;分析是多段线
- (or (member (cdr (assoc 70 ent)) '(1 129))
- (equal (vlax-curve-getStartPoint s1)
- (vlax-curve-getEndPoint s1)
- 1e-3
- )
- )
- (setq ptn (mapcar 'cdr
- (vl-remove-if '(lambda (X) (/= (car x) 10)) ent)
- )
- )
- (setq ss (ssget "wp" ptn '((0 . "TEXT") (1 . "~*[~`--9]*"))))
- )
- (setq lst (mapcar '(lambda (x) (distof (cdr (assoc 1 (entget x)))))
- (mapcar 'cadr (cdr (reverse (ssnamex ss))))
- )
- nn (length lst)
- pjz (/ (apply '+ lst) nn 1.) ;平均值
- lst (vl-sort lst '<)
- Nmin (car lst) ;最小值
- Nmax (last lst) ;最大值
- )
- )
- (princ)
- )
|