明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 891|回复: 4

[提问] 各位大神,求一个cad的lisp:求封闭线框内多个数值的平均值

[复制链接]
发表于 2019-3-22 10:22:21 | 显示全部楼层 |阅读模式

各位大神,求一个cad的lisp:求封闭线框内多个数值的平均值

点评

我建议你看一下AutoLISP的帮助文档,自己写出来。 因为这个需求非常简单,相信你的能力。哪怕是从0开始,2天应该可以做到的。加油,当你完成以后,你会发现你看见了一个更加广阔的AutoCAD世界...  发表于 2019-3-22 13:19
发表于 2019-3-22 12:40:26 | 显示全部楼层
论坛搜一下数字求和的代码一大把
发表于 2019-3-23 22:50:40 | 显示全部楼层
本帖最后由 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))
发表于 2019-3-24 17:38:44 | 显示全部楼层
  1. (defun c:tt ()
  2.   (if (and (setq s1 (car (entsel "\n选择多段线: ")))
  3.            (xyp-Etype s1 "*polyline")
  4.       )
  5.     (progn
  6.       (Setq ptn        (xyp-Vertexs s1 0)
  7.             ss        (ssget "WP" ptn '((0 . "TEXT") (1 . "~*[~`--9]*")))
  8.             lst        (mapcar        '(lambda (x) (distof (xyp-DXF 1 x)))
  9.                         (xyp-Ss2List ss)
  10.                 )
  11.             vv        (/ (apply '+ lst) (length lst) 1.)
  12.       )
  13.       (princ "\n平均值 = ")
  14.       (princ vv)
  15.       (sssetfirst nil ss)
  16.     )
  17.   )
  18.   (princ)
  19. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 00:54 , Processed in 0.158302 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表