明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1916|回复: 3

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

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

最好请您给我一段txt中写出来的.lsp程序:)
发表于 2003-8-9 17:06:00 | 显示全部楼层
注意,数字不可以太怪,不认识科学记数、工程记数等。。。

(defun Getext(sname / sinf str str2)
  (setq sinf (entget sname))
  (setq str (cdr (assoc 1 sinf)))
  (setq str (strcase str 0))
  (setq str (vl-string-trim "{}" str))
  (setq str (strcat "|" str))
  (if (= (type (read str)) 'SYM)
    (progn
      (setq str2 (vl-symbol-name (read str)))
      (if (/= (strlen str) (strlen str2))
        (progn
          (setq str2 (strcase str2 0))
          (setq str (vl-string-left-trim str2 str))
          (setq str (vl-string-left-trim ";" str))
        )
      )       
    )
  )
  (vl-string-left-trim "|" str)
)

(defun c:Ave( / ss n i sname data ave)
  (setq ss (ssget '((0 . "text,mtext"))))
  (setq n (sslength ss))
  (setq i 0)
  (while (< i n)
    (setq sname (ssname ss i))
    (setq data (append data (list (atof (getext sname)))))
    (setq i (1+ i))
  )
  (setq ave (apply '+ data))
  (setq ave (/ ave n))
  (princ ave)
  (princ)
)
 楼主| 发表于 2003-8-10 15:45:00 | 显示全部楼层
啊,谢谢,俺去试试~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 20:31 , Processed in 0.155787 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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