明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2309|回复: 4

请教大侠修改文本合并

[复制链接]
发表于 2012-6-19 08:50:21 | 显示全部楼层 |阅读模式
网上搜了很久就找到的。
但存两个问题,不能满足需要,希望哪位大侠帮忙修改下。
1、合并后,首行文字没有删掉;(如,管径  DN50,合并后成 管径
                                                                                    管径
                                                                                    DN50)
2、合并后的文字成多行排列,能否改成单行排列。

;; wbhb.LSP 文字连接程序  CYN 2000.1.28
;; 最近一次修改 2002.3.27
(defun c:wbhb(/ sset1 ename1 elist1 str1 sset2 ename2 elist2 str2 nstr)  
    (setq  sset1 (entsel (strcat "\n选择首文字段:"))
          ename1 (car sset1)
          elist1 (entget ename1)
            str1 (cdr (assoc 1 elist1))
    )
    (redraw ename1 3)
    (setq sset2 T)
    (while sset2
       (setq  sset2 (entsel (strcat "\n选择尾文字段:")))
         (if (null sset2)
           (progn
             (princ "程序结束")
             (exit)
           )
         )
       (setq ename2 (car sset2)
             elist2 (entget ename2)
               str2 (cdr (assoc 1 elist2))
               nstr (strcat str1 str2)
       )
       (redraw ename1 4)
       (entmod (append elist1 (list (cons 1 nstr))))
       (command "_erase" ename2 "")
       (setq ename1 (cdr (assoc -1 elist1))
             elist1 (entget ename1)
               str1 (cdr (assoc 1 elist1))
       )
    )
    (princ)
);End Defun

发表于 2012-6-19 13:23:33 | 显示全部楼层

;;; 文字连接程序  by:langjs
(defun c:aa ( / ent entbak name namebak str)
  (setq str "")
  (while (setq name (car (entsel "\n 选择文字:")))
    (setq str (strcat str (cdr (assoc 1 (setq ent (entget name))))))
    (if (null entbak)
      (setq entbak ent  namebak name)
      (progn (entmod (subst(cons 1 str)(assoc 1 entbak) entbak ))(entdel name))
    )
    (redraw namebak 3)
  )
  (if namebak (redraw namebak 4) )
  (princ)
)
发表于 2012-6-19 15:26:30 | 显示全部楼层
langjs 发表于 2012-6-19 13:23
;;; 文字连接程序  by:langjs
(defun c:aa ( / ent entbak name namebak str)
  (setq str "")

精简,高质量代码
 楼主| 发表于 2012-6-20 13:54:26 | 显示全部楼层
langjs 发表于 2012-6-19 13:23
;;; 文字连接程序  by:langjs
(defun c:aa ( / ent entbak name namebak str)
  (setq str "")

谢谢,大侠,很好用。
 楼主| 发表于 2012-6-20 13:55:08 | 显示全部楼层
本帖最后由 阳光动力 于 2012-6-20 13:55 编辑


谢谢了,很好用,不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-21 22:32 , Processed in 0.166746 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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