找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 451|回复: 12

[求助] 求教,怎么样批量选择文字添加后缀,麻烦各位大师指点,感谢!

[复制链接]

已领礼包: 272个

财富等级: 日进斗金

发表于 2021-11-16 01:29:11 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 相信自己666 于 2021-11-16 01:37 编辑

我自己做的一个选择文字添加后缀的小插件,只能单一选择,不能批量选择,不会用选择集或循环,麻烦会的大师帮帮忙修改下,做成可以批量选择添加后缀的,万分感谢
  1. (defun c:r2 ()
  2.   (setq hz1 (entsel "\n 请选择为后缀的文字:"))
  3.   (setq hz2 (entget (car hz1)))
  4.   (setq hz3 (cdr (assoc 1 hz2)))
  5.     (setq hz4 (entsel "\n 请选择要添加后缀的文字:"))
  6.     (setq hz5 (entget (car hz4)))
  7.     (setq hz6  (assoc 1 hz5))
  8.     (setq hz7 (cdr hz6))
  9.   (setq hz8 (strcat hz7 hz3))
  10.   (setq hz9 (cons 1 hz8) )
  11.   (setq hz5 (subst hz9 hz6 hz5))
  12.   (entmod hz5)
  13.   (prin1)
  14. )


选择文字添加后缀.gif

样例.zip

24.9 KB, 下载次数: 1, 下载积分: D豆 -1 , 活跃度 1

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

已领礼包: 756个

财富等级: 财运亨通

发表于 2021-11-16 09:01:09 | 显示全部楼层
ssget选中多个文字,循环处理每个文字就可以了
-----------------
  (setq ss (ssget '((0 . "TEXT"))) ii -1)
  (repeat (sslength ss)
    (setq
        ii (1+ ii)
        en (ssname ss ii)
    )
  )
  (处理en加后缀的函数 en)
-------以上------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 272个

财富等级: 日进斗金

 楼主| 发表于 2021-11-16 09:22:57 | 显示全部楼层
hh_lj007 发表于 2021-11-16 09:01
ssget选中多个文字,循环处理每个文字就可以了
-----------------
  (setq ss (ssget '((0 . "TEXT"))) i ...

万分感谢老师您的指点,恕小弟愚钝,不知道该放到程序的哪个位置,麻烦老师帮我再指点指点,感谢感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-11-16 13:13:48 | 显示全部楼层
With no Unicode Character, no too long Mtext content, and endless loop, you can start from here :
  1. (defun c:Foo(/ e s e2v)
  2.         (vl-load-com)
  3.         (setq e2v vlax-ename->vla-object )
  4.         (while
  5.                 (and
  6.                         (setq e (entsel "\nSelect suffix :"))
  7.                         (setq e (car e))
  8.                         (wcmatch (cdr (assoc 0 (entget e))) "TEXT,MTEXT")
  9.                         (setq suf (vla-get-textstring (e2v e)))
  10.                 )
  11.                 (while
  12.                         (setq s (ssget (list (cons 0 "TEXT,MTEXT"))))
  13.                         (repeat (sslength s)
  14.                                 (vla-put-textstring  (e2v (setq e (ssname s 0))) (strcat (vla-get-textstring (e2v e)) suf))
  15.                                 (setq s (ssdel e s))
  16.                         )
  17.                 )
  18.         )
  19. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 756个

财富等级: 财运亨通

发表于 2021-11-16 16:53:51 | 显示全部楼层


  1. (defun c:r2 ()
  2.   (setq hz1 (entsel "\n 请选择为后缀的文字:"))
  3.   (setq hz2 (entget (car hz1)))
  4.   (setq hz3 (cdr (assoc 1 hz2)))
  5.   (princ "\n 请选择要添加后缀的文字(一个或者多个):")
  6.   (setq
  7.     ss
  8.     (ssget
  9.       '(
  10.         (0 . "TEXT")
  11.       )
  12.     )
  13.     ii -1
  14.   )
  15.   (repeat (sslength ss)
  16.     (setq
  17.       ii (1+ ii)
  18.       hz4 (ssname ss ii)
  19.       hz5 (entget hz4)
  20.       hz6 (assoc 1 hz5)
  21.       hz7 (cdr hz6)
  22.       hz8 (strcat hz7 hz3)
  23.       hz9 (cons 1 hz8)
  24.       hz5 (subst hz9 hz6 hz5)
  25.     )
  26.     (entmod hz5)
  27.   )
  28.   (prin1)
  29. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 272个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 756个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 272个

财富等级: 日进斗金

 楼主| 发表于 2021-11-17 13:20:23 | 显示全部楼层
hh_lj007 发表于 2021-11-17 11:46
功能实现了,就是一个程序结构的事儿了

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

使用道具 举报

已领礼包: 4365个

财富等级: 富可敌国

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 23:55 , Processed in 0.443524 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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