半听可乐 发表于 2019-4-15 17:39:44

多行文字故障求助

本帖最后由 半听可乐 于 2019-4-18 09:34 编辑

个人建立的多行文字,有分栏,字体也采用的CAD自带字体,文字样式为了避免被同化也没有采用默认命名或常见命名,但是搞不懂偶尔会出现一些故障,怎么调都调不好,临近出图了非常影响工作,如截图所示,望各位大师帮忙诊断一下,希望能从根本上解决问题,谢谢!
PS:感谢1291500406和wszxf两位大神做了耐心回复,其中wszxf大神的回复及相应程序已经很接近完美了,但是还是存在一点小问题:原来设置的堆叠不见了(设计说明中有大量的m3、㎡这样的数据),颜色也被统一了,还有,没搞懂好好的一段多行文字是怎么变成这种“混乱”格式的?感觉没做什么特殊的操作,本次提高悬赏暂未结贴,只是想打破砂锅问到底,再次各位大神的耐心解答

wszxf 发表于 2019-4-15 17:39:45

本帖最后由 wszxf 于 2019-4-18 10:23 编辑

简单的说你可能是通过比如word或其它有格式文本复制到了mtext里。造成了你的一些格式混乱。
所以如果你从记事本里复制文字一般比较少出现或者说你直接在mtext打字也不会出现。
如果你是各文件之间选择复制文字有时就会出现。因为复制过来的文字是带格式的。
对于像m3,m2这种替换一下就可以了。因为前面的程序已经把上标,下标这种格式全清理了。
其中 "ABCFHOQPSTUW~"只是对除了回车,换行没有清理,其它全清的效果。
或者你可以查出是那个格式代码出的问题清理就可以了,总体来说就是格式控制代码出的问题。
如果只是解决你现在图的问题用下面格式就可以了。这样会保留你的文字颜色,上下标这种格式。相对能完美处理你的这个问题。

你这个图实际就是段落格式引起的。下面的代码就是只清理段落标记。

(defun c:gsql ()
(StripMtext (ssget '((0 . "mtext"))) "P")
)

1291500406 发表于 2019-4-15 20:14:39

本帖最后由 1291500406 于 2019-4-15 21:06 编辑

我帮你调整了一下,试试看

wszxf 发表于 2019-4-15 22:42:22

清理多余的格式就可以了。

1291500406 发表于 2019-4-15 23:38:55

本帖最后由 1291500406 于 2019-4-16 00:00 编辑

\A1;\pi-2.2e+005,l2.2e+005; 多行文字前缀有这个东西,把它删掉
\A1;\pi-2.2e+005,l2.2e+005;
\A1;\pl4e+005;

;;;用这个看你的多行文字实际的内容
(defun c:bb()(alert(cdr (assoc 1 (entget(car(entsel "\n必强提示请选择文字:")))))))

半听可乐 发表于 2019-4-16 08:33:52

1291500406 发表于 2019-4-15 23:38
\A1;\pi-2.2e+005,l2.2e+005; 多行文字前缀有这个东西,把它删掉
\A1;\pi-2.2e+005,l2.2e+005 ...

感谢指点,你调整好的是好多了,但不是原先的样子,中间多了大段空白

半听可乐 发表于 2019-4-16 09:26:25

wszxf 发表于 2019-4-15 22:42
清理多余的格式就可以了。

这多余格式怎么出现的呢?编辑完的时候还好好的,重新打开就那样了

依然小小鸟 发表于 2019-4-16 12:59:13

终于出现了 之前你的提问帖 都有很多经典的插件 让我收获不少

wszxf 发表于 2019-4-16 14:05:42

本帖最后由 wszxf 于 2019-4-16 14:20 编辑

实际多行文字与单行文字有一个区别就是里面有很多格式控制代码。也就是你这个格式代码造成了你的问题。
论坛里有清理多行文字格式的函数。
看这个函数:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=82857&highlight=%B6%E0%D0%D0%CE%C4%D7%D6%2B%B8%F1%CA%BD

半听可乐 发表于 2019-4-16 19:09:58

感谢大神,出差中,等下就回去试试!
页: [1] 2
查看完整版本: 多行文字故障求助