明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1806|回复: 1

(defun c:addatts

[复制链接]
发表于 2003-8-18 09:38:00 | 显示全部楼层 |阅读模式
(defun c:addatts (/ oecho blkName tagName ss totVal index en val txtPt)
   ;;
   ;;subroutine to extract attribute value from a block
   ;;
     (defun attval (ins att / attnam val)
        (while (and
                 (/= attnam att)
                 (/= (cdr (assoc 0 (entget ins))) "SEQEND")
               )
               (setq attnam (cdr (assoc 2 (entget ins))))
               (if (= attnam att)
                   (setq val (cdr (assoc 1 (entget ins))))
               )
               (setq ins (entnext ins))
        )
        (eval val)
     );end attval
   ;;
   ;;start of main 'addatts' function
   ;;
     (setq
       oecho (getvar "cmdecho")
       blkName (strcase (getstring "\nBlock name: "))
       tagName (strcase (getstring "\nTag name to total: "))
       ss (ssget "x" (list '(0 . "insert")(cons 2 blkName)))
       totVal 0
       index 0
     )
     (setvar "cmdecho" 0)
     (cond
       ((not ss)
        (princ "\nInvalid block name.")
       )
       ((not (attval (ssname ss index) tagName))
        (princ "\nInvalid attribute tag.")
       )
       (T
        (repeat (sslength ss)
          (setq
            en (ssname ss index)
            val (distof (attval en tagName))
            index (1+ index)
          )
          (if val (setq totVal (+ totVal val)))
        );end repeat
        (setq
          totVal (rtos totVal)
          txtPt (getpoint "\nInsertion point for total value: ")
        )
        (command
          "._text"
          "middle"
           txtpt
        )
        (if (= 0.0 (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))))
           (command "" "" totVal)
           (command "" totVal)
        )
       )
     );end cond
     (setvar "cmdecho" oecho)
     (princ)
   );end addatts
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-8-18 13:33:00 | 显示全部楼层
此程序有何功能,能解释一下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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