各位大神,求一个cad的lisp:求封闭线框内多个数值的平均值
https://gss0.baidu.com/-4o3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/b8389b504fc2d562a1a3b303eb1190ef77c66cb0.jpg各位大神,求一个cad的lisp:求封闭线框内多个数值的平均值
论坛搜一下数字求和的代码一大把 本帖最后由 1291500406 于 2019-3-23 22:53 编辑
(defun C:bb (/ lss en enlist)(setvar "cmdecho" 0)(setq en (car (entsel"\n必强提示:选择多段线\n")))
(if en(command "pedit" "M" en "" "C" ""))(setq enlist (entget en))(setq lss (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x))) enlist)))
(Setq bbsssetfirst (ssget "WP" lss '((0 . "TEXT")(1 . "~*[~`--9]*"))) )(sssetfirst nil bbsssetfirst)(bbaverage))
(defun bbaverage ()(setq ss (ssget '((0 . "TEXT")))i -1 j 0 m 0)
(while (setq s1 (ssname ss (setq i (1+ i))))(setq z (cdr (assoc 1 (entget s1))))
(if (setq z (distof z))(progn(setq j (1+ j)m (+ m z)))))(princ "\n平均值 = ")(princ (/ m j 1.0))(princ)) (defun c:tt ()
(if (and (setq s1 (car (entsel "\n选择多段线: ")))
(xyp-Etype s1 "*polyline")
)
(progn
(Setq ptn (xyp-Vertexs s1 0)
ss (ssget "WP" ptn '((0 . "TEXT") (1 . "~*[~`--9]*")))
lst (mapcar '(lambda (x) (distof (xyp-DXF 1 x)))
(xyp-Ss2List ss)
)
vv (/ (apply '+ lst) (length lst) 1.)
)
(princ "\n平均值 = ")
(princ vv)
(sssetfirst nil ss)
)
)
(princ)
)
页:
[1]