找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 834|回复: 3

自动求和LISP

[复制链接]
发表于 2018-11-14 11:27:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(defun c:CAA (/ all endno aa bb cc wz tha tsum i)


                           
    (progn
      (if (null xzz)
        (setq xzz 0)
      )
      (setq ALL (ssget (list (cons 0 "text"))))
      (if all
        (SETQ nn (SSLENGTH ALL))
      )
      (setq endno 0)
      (setq tsum 0
            i 0
      )
      (WHILE (and (< endno nn) all)
        (setq aa (ssname all endno))
        (setq bb (entget aa))
        (setq cc (cdr (assoc 1 bb)))
        (setq wz (rdata cc))
        (setq tha (substr cc (+ wz 1) (- (strlen cc) wz -1)))
        (if (= tha "")
          (setq tha "0")
        )
        (setq tsum (+ tsum (atof tha)))
        (setq i (1+ i))
        (print (strcat (itoa i) ":文本 <" cc ">---数字 <" tha ">"))
        (setq endno (+ endno 1))
      )
      (print (strcat "共" (itoa i) "个文本,和=" (rtos tsum)))
      (print)

      (COMMAND "LAYER" "M" "text" "C" "6" "" "")
      (COMMAND "clayer" "text")
      (setq pt (getpoint "\n请选择放置文字的位置点:"))
      (setq old_hh (getvar "textsize"))
      (setq str_hh (strcat "\n当前文字高度<"
                           (rtos old_hh)
                           ">"
                           "或点第二点自定义方字高度"
                   )
      )
      (setq hh (getdist pt str_hh))
      (if (null hh)
        (setq hh old_hh)
      )
                                        ;         
      (command "text"
               pt
               hh
               "0"
               (strcat "合计:"
                       (rtos tsum 2 2)


               )

      )
    )



  


)
;;;
(defun rdata (str / len i aa)
  (if (> (strlen str) 0)
    (progn
      (setq i (strlen str))
      (setq aa (substr str (strlen str) 1))
      (while (and (or (and (>= aa "0") (<= aa "9"))
                      (= aa ".")
                  )
                  (>= i 1)
             )
        (setq i (1- i))
        (if (>= i 1)
          (setq aa (substr str i 1))
        )
      )
    )
  )
  (setq i i)
)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 4365个

财富等级: 富可敌国

发表于 2018-11-14 13:02:46 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1667个

财富等级: 堆金积玉

发表于 2018-11-15 09:14:37 | 显示全部楼层
谢谢分享,下载来看看怎么个自动法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2020-9-8 10:16:53 | 显示全部楼层
不错不错,挺精简的,稍微删了两行代码可以统计在当前图层了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 19:43 , Processed in 0.366488 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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