邹锋 发表于 2014-4-16 18:59:43

MTEXT转TEXT

不调用命令EXPLODE 将MTEXT转成TEXT有什么好招吗,除了重写文字还有其他方法吗?重写我会写,

newbuser 发表于 2014-4-16 20:36:46

占个沙发先,期待大侠支招。

ll_j 发表于 2014-4-16 20:53:33

Mtext和Text是两种不同的实体,不让炸开也不让重写,路都堵死了,还能有办法?

lsjj 发表于 2014-4-16 21:01:42

無法理解高手的思維

邹锋 发表于 2014-4-16 21:04:21

ll_j 发表于 2014-4-16 20:53 static/image/common/back.gif
Mtext和Text是两种不同的实体,不让炸开也不让重写,路都堵死了,还能有办法?

办法总会有的吧,要是真没有,我再用重写方法试试

邹锋 发表于 2014-4-16 21:06:31

本帖最后由 邹锋 于 2014-4-16 21:11 编辑

以下是我写的重写TXT的,就差分割文字
(defun maketext(ene1 / dat pt str natype txth)
(setq dat (entget ene1))
(setq pt (cdr (assoc 10 dat)))
(setq str (cdr (assoc 1 dat)))
(setq natype (cdr(assoc 7 dat)))
(setq txth (cdr(assoc 40 dat)))
(entmake (list '(0 . "TEXT") (cons 1 str) (cons 10 pt) (cons 8 "hatch") (cons 62 37) (cons 40 txth) (cons 7 natype)))
(entdel ene1)
);;;;重写TXT,接下来就是分割文字了

lucas_3333 发表于 2014-4-16 21:10:24

邹锋 发表于 2014-4-16 21:06 static/image/common/back.gif
(defun maketext(ene1 / dat pt str natype txth)
(setq dat (entget ene1))
(setq pt (cdr (assoc 1 ...

期待大侠完成它

lucas_3333 发表于 2014-4-16 21:19:47

没有吧,一般都是EXPLODE

ll_j 发表于 2014-4-16 22:17:53

邹锋 发表于 2014-4-16 21:04 static/image/common/back.gif
办法总会有的吧,要是真没有,我再用重写方法试试

entmod是不可以更换实体类型的,所以两种实体之间变换都只是重写。
简单的多行文本文字内容是比较好判别的,如果带格式就很麻烦了,以前好像这两个论坛有过多行文字去格式的帖子,不过我没有在意。
简单的方法还是炸开,炸开后实体句柄会变化,复杂格式还会炸成多个文本,最好用entlast收集一下。

邹锋 发表于 2014-4-16 22:51:53

ll_j 发表于 2014-4-16 22:17 static/image/common/back.gif
entmod是不可以更换实体类型的,所以两种实体之间变换都只是重写。
简单的多行文本文字内容是比较好判别 ...

不复杂的,就这样的文本,变化的就是A-A B-B C-C这些,一百多个的话,程序要炸100多次,有点慢呀,炸开后句柄变了就变了吧,没关系 ,那就用炸的方法吧,
页: [1] 2
查看完整版本: MTEXT转TEXT