网络工作者 发表于 2021-11-16 01:26:35

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

本帖最后由 网络工作者 于 2021-11-16 01:40 编辑

求教,怎么样批量选择文字添加后缀,麻烦各位大师指点,感谢!
我自己做的一个选择文字添加后缀的小插件,只能单一选择,不能批量选择,不会用选择集或循环,麻烦会的大师帮帮忙修改下,做成可以批量选择添加后缀的,万分感谢:handshake:handshake:handshake。
(defun c:r2 ()
(setq hz1 (entsel "\n 请选择为后缀的文字:"))
(setq hz2 (entget (car hz1)))
(setq hz3 (cdr (assoc 1 hz2)))
    (setq hz4 (entsel "\n 请选择要添加后缀的文字:"))
    (setq hz5 (entget (car hz4)))
    (setq hz6(assoc 1 hz5))
    (setq hz7 (cdr hz6))
(setq hz8 (strcat hz7 hz3))
(setq hz9 (cons 1 hz8) )
(setq hz5 (subst hz9 hz6 hz5))
(entmod hz5)
(prin1)
)

sharetow 发表于 2021-11-16 09:53:46

(defun c:r2 (/ dx dxl i wz zx)
        (and
                (setq zx (entsel "\n 请选择为后缀的文字:"))
                (setq zx (cdr(assoc 1 (entget (car zx)))) i -1)
                (setq dx (ssget '((0 . "TEXT,MTEXT"))))
                (repeat (sslength dx)
                        (setq
                                i   (1+ i)
                                dxl (vlax-ename->vla-object (ssname dx i))
                                wz(vla-get-TextString dxl)
                        )
                        (vla-put-TextString dxl (strcat wz zx))
                )
                (princ)
        )
)

vitalgg 发表于 2021-11-18 05:01:06

http://atlisp.cn/package-info/at-text-stable.html

(@:add-menu "文本" "加前后缀" "(@text:menu-add-prefix-or-suffix)")
(defun @text:menu-add-prefix-or-suffix(/ res)
(setq res (ui:input "请输入前后缀文字" '(("前缀:" )("后缀:"))))
(@text:add-prefix-suffix (cdr (assoc "前缀:" res))
                           (cdr (assoc "后缀:" res))
                           (pickset:to-list (ssget '((0 . "TEXT")))))
(princ))

   
(defun @text:add-prefix-suffix (str-prefix str-suffix lst-ent)
(mapcar '(lambda (x)
             (entity:putdxf x 1
                          (strcat str-prefix (entity:getdxf x 1) str-suffix)))
          lst-ent))

f4800 发表于 2021-11-18 08:37:27

vitalgg 发表于 2021-11-18 05:01
http://atlisp.cn/package-info/at-text-stable.html

命令: AP APPLOAD 已成功加载 (@).fas。
已成功加载 (@).fas。
命令:
: Loading @lisp ...
: version: 1.4.55
INFO: Write to register. Please permit it.
INFO: Write to register. Please permit it.
INFO: Download @lisp.fas
INFO: Download @lisp.mnl
INFO: Download @lisp.dcl
INFO: Download locale/@lisp-chs.lang
Download and install base system.
INFO: create @lisp menus
加载自定义文件成功。自定义组: @LISP
@lisp was installed. Please input @H for help.; 错误: quit / exit abort
命令:
命令:
: Loading @lisp ...
: version: 1.4.55
...
@LISP 所有应用包加载完成。执行时间 0.011989 s
INFO: Download bin/curl-ca-bundle.crt
INFO: Download bin/libcurl-x64.dll
INFO: Download bin/curl.exe
INFO: downloading curl.exe, this need longer time,Please waitting...

大佬 出现这个      这是。。。

cghdy 发表于 2021-11-16 09:31:40

对选择集对象做一个循环

网络工作者 发表于 2021-11-16 09:43:02

cghdy 发表于 2021-11-16 09:31
对选择集对象做一个循环

您好老师,感谢您的指点,恕小弟愚钝,小弟不会用,选择集和循环语句,不知道该放到程序的哪个位置,麻烦老师帮我再指点指点,感谢感谢。:handshake:handshake:handshake

网络工作者 发表于 2021-11-16 09:59:50

sharetow 发表于 2021-11-16 09:53


感谢老师,可以了,感谢您,学会这个真牛,惭愧 我只会的简单的,工作方便很多的。

lxl217114 发表于 2021-11-16 13:55:34

查找替换,把“塑料”替换成“塑料61”,完事。

网络工作者 发表于 2021-11-16 14:03:08

lxl217114 发表于 2021-11-16 13:55
查找替换,把“塑料”替换成“塑料61”,完事。

聪明人,不是这么简单的,还有很多类似的数据需要换

vitalgg 发表于 2021-11-18 09:17:14

正常, 有菜单就是安装成功了。
@P
页: [1] 2
查看完整版本: 求教,怎么样批量选择文字添加后缀,麻烦各位大师指点,感谢!