设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1137|回复: 7

[文字] 数字文字求和(第二版)

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-5-12 12:55:09 | 显示全部楼层 |阅读模式
  • 插件名称 : 数字求和
  • 作  者 : Newer
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2017-05-12
  • 命令名称 :XDTB_ADDNUM
  • 插件介绍 :数字文字求和(第二版),支持UCS
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

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

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

x
支持UCS,支持对齐点,文字高度,宽度比例系数,通用属性的匹配(层,颜色....)

  1. (defun c:XDTB_addnum (/ #HorizontalMode #rotation #textsize #textstring
  2.                         #verticalmode #WidthFactor e eold nu num  ss styl
  3.                         tf tol txt
  4.                      )
  5.   (xdrx_begin)
  6.   (setq tf t
  7.         num 0.0
  8.   )
  9.   (if (not #XDTB_addnum_tol)
  10.     (setq #XDTB_addnum_tol 2)
  11.   )
  12.   (if (setq tol (getint (xdrx_prompt "\n保留小数位数<" #XDTB_addnum_tol ">:"
  13.                                      t
  14.                         )
  15.                 )
  16.       )
  17.     (setq #XDTB_addnum_tol tol)
  18.   )
  19.   (while (and
  20.            tf
  21.            (xdrx_initssget "\n选取求和的文字<退出>:")
  22.            (setq ss (xdrx_ssget '((0 . "*TEXT"))))
  23.          )
  24.     (if ss
  25.       (progn
  26.         (xdrx_setsstodb ss 0)
  27.         (while (setq e (xdrx_getentdata 0))
  28.           (xdrx_getpropertyvalue e "textstring"  "rotation"
  29.                                  "HorizontalMode" "verticalmode"
  30.                                  "WidthFactor" "textsize"
  31.           )
  32.           (setq styl (xdrx_getpropertyvalue e "textstyle"))
  33.           (setq eold e
  34.                 txt (car (xdrx_string_split #textstring "\r\n"))
  35.           )
  36.           (if (setq nu (XD::String:ToNum (xdrx_string_trimright
  37.                                                                 (xdrx_string_trimleft txt)
  38.                                          )
  39.                        )
  40.               )
  41.             (progn
  42.               (setq num (+ num nu))
  43.             )
  44.           )
  45.         )
  46.         (prompt (strcat "\n累加和:" (rtos num 2 #XDTB_addnum_tol)))
  47.         (if (and
  48.               (setq p0 (getpoint "\n插入点<退出>:"))
  49.               (setq p0 (trans p0 1 0))
  50.               txt
  51.             )
  52.           (progn
  53.             (xdrx_text_make p0 (rtos num 2 #XDTB_addnum_tol)
  54.                             (car styl) #textsize (+ 0
  55.                                                     #rotation
  56.                                                  )
  57.             )
  58.             (xdrx_setpropertyvalue (setq e (entlast))
  59.                                    "WidthFactor" #WidthFactor
  60.             )
  61.             (xdrx_entity_setpropertiesfrom e eold)
  62.             (XD::Text:AdjustAlignMent e #HorizontalMode #verticalmode)
  63.             (xdrx_entity_move e (xdrx_getpropertyvalue e "alignmentpoint")
  64.                               p0
  65.             )
  66.           )
  67.         )
  68.       )
  69.       (setq tf nil)
  70.     )
  71.   )
  72.   (xdrx_end)
  73.   (princ)
  74. )


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

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2017-6-14 17:32:33 | 显示全部楼层
命令: XDTB_addnum
no function definition: XDRX_BEGIN; 错误: *error* 函数中出错AutoCAD
变量设置被拒绝: "TEXTEVAL" nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5个

财富等级: 恭喜发财

发表于 2017-6-14 20:33:18 | 显示全部楼层
(defun c:XDTB_addnum (/ #HorizontalMode #rotation #textsize #textstring
                        #verticalmode #WidthFactor e eold nu num  ss styl
                        tf tol txt
                     )
  (xdrx_begin)
  (setq tf t
        num 0.0
  )
  (if (not #XDTB_addnum_tol)
    (setq #XDTB_addnum_tol 2)
  )
  (if (setq tol (getint (xdrx_prompt "\n保留小数位数<" #XDTB_addnum_tol ">:"
                                     t
                        )
                )
      )
    (setq #XDTB_addnum_tol tol)
  )
  (while (and
           tf
           (xdrx_initssget "\n选取求和的文字<退出>:")
           (setq ss (xdrx_ssget '((0 . "*TEXT"))))
         )
    (if ss
      (progn
        (xdrx_setsstodb ss 0)
        (while (setq e (xdrx_getentdata 0))
          (xdrx_getpropertyvalue e "textstring"  "rotation"
                                 "HorizontalMode" "verticalmode"
                                 "WidthFactor" "textsize"
          )
          (setq styl (xdrx_getpropertyvalue e "textstyle"))
          (setq eold e
                txt (car (xdrx_string_split #textstring "\r\n"))
          )
          (if (setq nu (XD::String:ToNum (xdrx_string_trimright
                                                                (xdrx_string_trimleft txt)
                                         )
                       )
              )
            (progn
              (setq num (+ num nu))
            )
          )
        )
        (prompt (strcat "\n累加和:" (rtos num 2 #XDTB_addnum_tol)))
        (if (and
              (setq p0 (getpoint "\n插入点<退出>:"))
              (setq p0 (trans p0 1 0))
              txt
            )
          (progn
            (xdrx_text_make p0 (rtos num 2 #XDTB_addnum_tol)
                            (car styl) #textsize (+ 0
                                                    #rotation
                                                 )
            )
            (xdrx_setpropertyvalue (setq e (entlast))
                                   "WidthFactor" #WidthFactor
            )
            (xdrx_entity_setpropertiesfrom e eold)
            (XD::Text:AdjustAlignMent e #HorizontalMode #verticalmode)
            (xdrx_entity_move e (xdrx_getpropertyvalue e "alignmentpoint")
                              p0
            )
          )
        )
      )
      (setq tf nil)
    )
  )
  (xdrx_end)
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2017-6-14 20:34:59 | 显示全部楼层

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2021-3-9 12:16 , Processed in 0.077079 second(s), 30 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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