找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1606|回复: 5

[编程申请] 救急,文字的相加并修改

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-9-4 11:32:16 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Lisphk 于 2013-9-4 11:39 编辑

今天要处理好多图纸,如图,把下面阳台那列的数值加到住宅列上面,修改住宅列内容到新值,并删除掉阳台那列的数值。图纸好多啊,请大大们给写个工具处理能快点。

QQ截图20130904112932.jpg

附件是图纸。
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:新块.rar 
下载次数:4  文件大小:14.56 KB 
下载权限: 不限 以上  [免费赚D豆]




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

随手写, 只能选该两列数字, xdapi + xd-lisp+lib 2011+
  1. (defun c:tt (/ ss lst)
  2.   (if (setq ss (ssget '((0 . "text"))))
  3.     (progn
  4.       (setq lst (xd::pickset:tablesort ss 1 3 '< '<))
  5.       (mapcar '(lambda (a b / n)
  6.    (setq n (+ (distof (getpropertyvalue a "TextString"))
  7.        (distof (getpropertyvalue b "TextString"))
  8.     )
  9.    )
  10.    (setpropertyvalue a "TextString" (rtos n 2 0))
  11.    (entdel b)
  12.         )
  13.        (car lst)
  14.        (cadr lst)
  15.       )
  16.     )
  17.   )
  18.   (princ)
  19. )

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

使用道具 举报

发表于 2013-9-4 12:15:31 | 显示全部楼层
本帖最后由 Free-Lancer 于 2013-9-4 16:13 编辑

Getpropertyvalue Setpropertyvalue 换成 XDAPI 就是这样
  1. (defun c:tt (/ ss lst)
  2.   (if (setq ss (ssget '((0 . "text"))))
  3.     (progn
  4.       (setq lst (xd::pickset:tablesort ss 1 3 '< '<))
  5.       (mapcar '(lambda (a b / n)
  6.    (setq n (+ (distof (xdrx_text_string a))
  7.        (distof (xdrx_text_string b))
  8.     )
  9.    )
  10.    (xdrx_text_setstring a  (rtos n 2 0))
  11.    (entdel b)
  12.         )
  13.        (car lst)
  14.        (cadr lst)
  15.       )
  16.     )
  17.   )
  18.   (princ)
  19. )

点评

(xdrx_text_string b "TextString")) 是不是应该为 (xdrx_text_string b) 或者 (xdrx_text_GetProperty b "TextString")) ?  详情 回复 发表于 2013-9-4 15:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-9-4 15:48:17 | 显示全部楼层
本帖最后由 newer 于 2013-9-4 15:50 编辑
Free-Lancer 发表于 2013-9-4 12:15
Getpropertyvalue Setpropertyvalue 换成 XDAPI 就是这样


(xdrx_text_string b "TextString")) 是不是应该为 (xdrx_text_string b) 或者 (cadr (assoc "String" (xdrx_text_GetProperty b)))?

点评

呵呵,拿上面的程序直接改的,忘了删掉,已修改  详情 回复 发表于 2013-9-4 16:16
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-9-4 16:10:00 | 显示全部楼层
本帖最后由 newer 于 2013-9-4 16:14 编辑

我也写一个,和上面的程序不同的是,我的是先按行排序。每行2个文字,然后处理。

xdtb_txtunion.gif


  1. ;|
  2. 将两列文字行内相加,结果修改第一列文字
  3. |;
  4. (defun c:tt()
  5.    (if (setq ss (ssget '((0 . "TEXT"))))
  6.       (progn
  7.           (XD::Begin)
  8.           (setq e1 (ssname ss 0)
  9.                 h (xdrx_text_height e1)
  10.           )
  11.           (xdrx_document_setPrec (/ h 5.0) 1.0);;字高1/5内,都算做一行(保证容差)
  12.           (setq entl (XD::Pickset:TableSort ss 0 1 '< '<))
  13.           (foreach n entl
  14.              (setq e1 (car n)
  15.                    e2 (cadr n)
  16.                    txt2 (xdrx_text_string e2)
  17.                    txt1 (itoa (+ (atoi (xdrx_text_string e1))(atoi txt2)))
  18.              )
  19.              (xdrx_text_setString e1 txt1)
  20.              (entdel e2)
  21.           )
  22.           (XD::End)
  23.       )
  24.    )
  25.    (princ)
  26. )


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

使用道具 举报

发表于 2013-9-4 16:16:19 | 显示全部楼层
newer 发表于 2013-9-4 15:48
(xdrx_text_string b "TextString")) 是不是应该为 (xdrx_text_string b) 或者 (cadr (assoc "String" ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-20 12:04 , Processed in 0.286873 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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