明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1847|回复: 8

有哪位高手有实现两列文字合并的程序啊,不胜感激啊

[复制链接]
发表于 2012-11-7 22:38:55 | 显示全部楼层 |阅读模式
有哪位高手有实现两列文字合并的程序啊,不胜感激啊
发表于 2012-11-8 07:09:56 | 显示全部楼层
来源于网上

本帖子中包含更多资源

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

x
发表于 2012-11-8 08:48:12 | 显示全部楼层
cad菜单expreee-text -convert text to mtext,打这个命令就可
 楼主| 发表于 2012-11-8 22:16:56 | 显示全部楼层
先感谢下,不过都不是我想要的,可能是我描述的不清楚吧:是两列文字合并,文字在表格内,每一列有多个文字,合并为新的一列,这一列的text数目和之前的一样,详见附件

本帖子中包含更多资源

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

x
发表于 2012-11-8 23:36:29 | 显示全部楼层
本帖最后由 langjs 于 2012-11-8 23:37 编辑

;;文字合并 by:langjs
(defun c:aa (/ e1 e2 ent i j lst1 lst2 p pt ss)
  (setq lst1 '()  lst2 '()
  )
  (setvar "nomutt" 1)
  (princ "\n选择第一列文本:")
  (if (setq ss (ssget '((0 . "*TEXT"))))
    (repeat (setq i (sslength ss))
      (setq ent (entget (ssname ss (setq i (1- i))))
     lst1 (cons (list (cdr (assoc 10 ent)) (cdr (assoc 1 ent))) lst1))
    ))
  (princ "\n选择第二列文本:")
  (if (setq ss (ssget '((0 . "*TEXT"))))
    (repeat (setq i (sslength ss))
      (setq ent (entget (ssname ss (setq i (1- i))))
     lst2 (cons (list (cdr (assoc 10 ent)) (cdr (assoc 1 ent))) lst2))
    ))
  (setvar "nomutt" 0)
  (setq ent (cdr ent)
lst1 (vl-sort lst1 (function (lambda (e1 e2)(> (cadr (car e1)) (cadr (car e2))))))
lst2 (vl-sort lst2 (function (lambda (e1 e2)(> (cadr (car e1)) (cadr (car e2))))))
pt (getpoint "\n指定合并文字插入点:")
  )
  (if (< (length lst1) (setq j (length lst2)))(setq j (length lst1)))
  (setq i -1)
  (repeat j
    (setq p (list (car pt) (cadr (car (nth (setq i (1+ i)) lst1 ))))
   ent (subst(cons 10 p)(assoc 10 ent)ent))
    (entmake (subst (cons 1 (strcat (cadr (nth i lst1)) (cadr (nth i lst2))))(assoc 1 ent) ent))
  )
  (princ)
)
 楼主| 发表于 2012-11-9 20:45:28 | 显示全部楼层
非常感谢楼主langjs,这正是我需要的
 楼主| 发表于 2012-11-9 21:40:32 | 显示全部楼层
langjs大师,还有个问题,程序运行后,不管选择点在那,合并的文字都在一个位置上,还请帮忙修改下啊

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-11-10 11:30:48 | 显示全部楼层
知道了,主要是我这文字是居中对齐的,改成左对齐就可以了,再次感谢langjs
发表于 2021-11-22 11:48:35 | 显示全部楼层

非常感谢楼主langjs,找了好久终于找到。如果要把结果替换到第三列如何修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 10:45 , Processed in 0.278726 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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