找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2372|回复: 19

[编程申请]:单行文字转多行文字

[复制链接]
发表于 2005-8-27 10:23:41 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-27 10:43:28 | 显示全部楼层

  1. (defun c:tt (/ ss ssl n        oldh oldst e el        box boxl l blst        strl h py h st)
  2.   (if (setq ss (ssget '((0 . "text"))))
  3.     (progn
  4.       (command ".undo" "be")
  5.       (setq ssl          (sslength ss)
  6.             n          -1
  7.             oldh  (getvar "textsize")
  8.             oldst (getvar "textstyle")
  9.       )
  10.       (repeat ssl
  11.         (setq
  12.           e    (ssname ss (setq n (1+ n)))
  13.           el   (entget e)
  14.           box  (textbox (vl-remove (assoc 50 el) el))
  15.           boxl (cons box boxl)
  16.           l    (+ (abs (caadr box)) (abs (cadadr box)))
  17.           blst (cons l blst)
  18.           strl (cons (list (cdr (assoc 10 el)) (cdr (assoc 1 el))) strl)
  19.           h    (if (and h (> (cdr (assoc 40 el)) h))
  20.                  (setq h (cdr (assoc 40 el)))
  21.                  (setq h (cdr (assoc 40 el)))
  22.                )
  23.           st   (if (not st)
  24.                  (cdr (assoc 7 el))
  25.                  st
  26.                )
  27.         )
  28.       )
  29.       (setvar "textsize" h)
  30.       (if (/= (getvar "textstyle") st)
  31.         (setvar "textstyle" st)
  32.       )
  33.       (setq strl (vl-sort strl
  34.                           '(lambda (e1 e2)
  35.                              (if (equal (cadar e1) (cadar e2) 0.00001)
  36.                                (< (caar e1) (caar e2))
  37.                                (> (cadar e1) (cadar e2))
  38.                              )
  39.                            )
  40.                  )
  41.             py         (apply 'max (mapcar 'cadr (apply 'append boxl)))
  42.       )
  43.       (vla-addmtext
  44.         (vla-get-modelspace
  45.           (vla-get-activedocument (vlax-get-acad-object))
  46.         )
  47.         (vlax-3d-point (list (caaar strl) (+ py (cadaar strl))))
  48.         (apply 'max blst)
  49.         (apply 'strcat
  50.                (mapcar '(lambda (x) (strcat (last x) "\\P")) strl)
  51.         )
  52.       )
  53.       (command ".erase" ss "")
  54.       (setvar "textsize" oldh)
  55.       (setvar "textstyle" oldst)
  56.       (command ".undo" "end")
  57.     )
  58.   )
  59.   (princ)
  60. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-27 12:04:05 | 显示全部楼层
几行文字中如果有空行的时候,前后的顺序就乱了。能不能保留原来的相对位置?实际上,没有空行的时候也会出现混乱的现象。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-27 12:13:55 | 显示全部楼层
你的行距是严格的吗?合并的时候只是一行行的合并,不会有一行中是几个独立的 Text?
完全保持不太可能,因为Mtext的行距调整不一定和图上的效果一致
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-27 12:32:32 | 显示全部楼层
行距不是严格的。有的是几个独立的TEXT,但已经用小东的程序改成是按行合并了。如果不能完全保持原来的行距,但是不应该出现原来在上面的一行字,换到下面一行了的情况。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-27 12:47:45 | 显示全部楼层
最初由 zzg123good 发布
[B]行距不是严格的。有的是几个独立的TEXT,但已经用小东的程序改成是按行合并了。如果不能完全保持原来的行距,但是不应该出现原来在上面的一行字,换到下面一行了的情况。 [/B]

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

使用道具 举报

 楼主| 发表于 2005-8-27 13:10:01 | 显示全部楼层
“#1反应沉淀池排泥阀8开指令”
“#1反应沉淀池排泥阀8关指令”
“#1反应沉淀池排泥阀9开指令”
“#1反应沉淀池排泥阀9关指令”
上面这四行TEXT,你试试如果要合并成多行文字,行不行。我试的时候,下面两行跑到上面去了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-27 13:36:08 | 显示全部楼层
最初由 zzg123good 发布
[B]“#1反应沉淀池排泥阀8开指令”
“#1反应沉淀池排泥阀8关指令”
“#1反应沉淀池排泥阀9开指令”
“#1反应沉淀池排泥阀9关指令”
上面这四行TEXT,你试试如果要合并成多行文字,行不行。我试的时候,下面两行跑到... [/B]

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

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

发表于 2005-8-28 17:33:37 | 显示全部楼层
autocad本身已經可以把几行单行文字,转成一个多行文字。
在下拉菜單express-->text-->convert text to mtext
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 16:39 , Processed in 0.454108 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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