. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
wxh5
 
wxh5 的头像
终极会员
 
资 料:
注册日期: Jul 2004
帖子: 13,627 声望值: 1
精华: 0,解答: 30
#1 旧 2022-01-11, 12:30:43 默认 【求助】有懂cad二次开发的兄弟吗?
wxh5 当前离线  

想找一个在autocad中合并多个文字的插件,现在百度到一个t2t的小工具,使用简单,功能满足要求,但他合并的文字中间没有分隔,现在想在每个文字之间加一个"+",能不能有懂行的兄弟帮忙改一下代码?

代码:
(defun c:t2t ()
    (if (setq ss (ssget '((0 . "TEXT"))))
 (progn
    ;;
    (setq lst_str '()
  i 0
    )
    (repeat (sslength ss)
 (setq en      (ssname ss i)
      ent     (entget en)
      str     (cdr (assoc 1 ent))
      lst_str (cons str lst_str)
 )
 (if (= i 0) ()(entdel en))
 (setq i (1+ i))
    )
    ;;
     (setq en      (ssname ss 0)
      ent     (entget en)
      str (apply 'strcat (reverse lst_str))
      ent (subst   (cons 1 str )(assoc 1 ent)  ent)
      )
    (entmod ent)
 )
    )
    (princ)
)
;;;================================================================
(princ)

2022-01-18
查了相关函数,这句lst_str (cons str lst_str)
改成lst_str (cons str(cons "+" lst_str))
就可以了。

本来还想再改深入一点,但实在力不从心,放弃了

此帖于 2022-01-18 20:50:31 被 wxh5 编辑. .


感谢ccf
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 12:49:56.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2021 ClassiClub Forum All Rights Reserved.
CCF@WORLD