明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3520|回复: 7

[紧急求助]请帮忙编一段小程序

[复制链接]
发表于 2003-8-9 16:54 | 显示全部楼层 |阅读模式
由于本人对AutoCAD及AutoLISP均只懂皮毛,但有同学求助,所以想让各位大侠帮忙编一段AutoLISP程序。在此先谢过!!
求平均值:在图中选取数字(实数),求它们的平均值,选中几个就求几个的平均值(一般不超过5个数字)
 楼主| 发表于 2003-8-9 17:01 | 显示全部楼层
还有,VLX格式的用什么打开,怎么在CAD中使用呢?

最好请您给我一段txt中写出来的.lsp程序:)
发表于 2003-8-10 00:17 | 显示全部楼层
试试下面这段程序!

(defun c:aver()

  (setq s (ssget))
  (setq n (sslength s))
  (setq wbs n)
  (setq n (- n 1))
  (setq az 0)
  (while (>= n 0)
    (setq n1 (ssname s n))
    (setq z (cdr (assoc 1 (entget n1))))
    (setq z (distof z 1))
    (setq az (+ az z))
    (setq n (- n 1))
    )
  (setq pjz ( rtos (/ az wbs)))
  
  (print (strcat "平均值为:" pjz ))
  (princ)
  )
 楼主| 发表于 2003-8-10 15:46 | 显示全部楼层
谢谢,俺去试试~~~
发表于 2003-12-3 17:16 | 显示全部楼层
这挺简单的啊
发表于 2003-12-3 17:47 | 显示全部楼层
janice发表于2003-12-3 17:16:00这挺简单的啊



那你也来一个啊,或许有更简便的方法。。。
发表于 2005-11-3 16:45 | 显示全部楼层

谢谢meflying!小弟受用了.

发表于 2005-11-16 22:37 | 显示全部楼层
  1. (defun c:aver ()
  2.   (setq ss (ssget '((0 . "TEXT")))
  3. i  -1 j  0 m  0
  4.   )
  5.   (while (setq s1 (ssname ss (setq i (1+ i))))
  6.     (setq z (cdr (assoc 1 (entget s1))))
  7.     (if (setq z (distof z))
  8.       (progn
  9. (setq j (1+ j)
  10.        m (+ m z)
  11. ))))
  12.   (princ "\n平均值 = ")
  13.   (princ (/ m j 1.0))
  14.   (princ)
  15. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 13:25 , Processed in 2.011130 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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