找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1300|回复: 2

[求助] [求助]:求和的程序中加一内容

[复制链接]
发表于 2009-8-27 15:35:20 | 显示全部楼层 |阅读模式

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

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

×
(defun c:sum ()
  (command "_.undo" "begin")
  (princ "\n选择被加数字对象:")
  (setq        ss  (ssget '((0 . "TEXT")))
        i   0
        sum 0
  )
  (cond
    ((> (setq n (sslength ss)) 0)
     (repeat n
       (setq sum (+ sum (atof (cdr (assoc 1 (entget (ssname ss i))))))
             i         (1+ i)
       )
     ) ;_repeat
     (entmod
       (subst
         (cons 1 (rtos sum 2 0))
         (assoc        1
                (setq ent (entget (car (entsel "\n选择要更新的结果"))))
         )
         ent
       )
     )
    ) ;_cond 1
    (t (princ "\n没有选中单行文字对象!")) ;_cond 2
  ) ;_cond
  (command "_.undo" "end")
  (princ)
) ;_enddefun
这个求和计算当没有选择要更新的结果时,计算结果就是参数类型错误: lentityp nil,如何让它变成就算没有选择要更新的结果时,计算结果也会显示在命令行中。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2009-8-27 16:58:18 | 显示全部楼层
(defun        c:sum ()
   (command "_.undo" "begin")
   (princ "\n选择被加数字对象:")
   (setq ss  (ssget '((0 . "TEXT")))
         i   0
         sum 0
   )
   (cond
     ((> (setq n (sslength ss)) 0)
      (repeat n
        (setq sum (+ sum (atof (cdr (assoc 1 (entget (ssname ss i))))))
              i          (1+ i)
        )
      ) ;_repeat
      (setq e1(entsel "\n选择要更新的结果"))
      (if e1(progn
        (setq ent(entget (car e1)))      
        (entmod        (subst (cons 1 (rtos sum 2 0))(assoc 1 ent) ent))
        )
        (princ (strcat "\n合计为:" (rtos sum 2 0)))
        )
     ) ;_cond 1
     (t (princ "\n没有选中单行文字对象!")) ;_cond 2
   ) ;_cond
   (command "_.undo" "end")
   (princ)
) ;_enddefun


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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 20:34 , Processed in 0.405783 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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