明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 373|回复: 7

【RmvMtext】移除多行文字格式

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
本帖最后由 kucha007 于 2025-3-29 14:47 编辑

移除多行文字格式,有时候蛮有用的
  1. (defun RmvMtext  (mtext)
  2.   (setpropertyvalue
  3.     mtext
  4.     "Contents"
  5.     (vl-string-translate "\r\n" "\\P" (getpropertyvalue mtext "Text"))
  6.   )
  7. )



例如只加宽度可以这样用:
  1. (setpropertyvalue
  2.     mtext
  3.     "Contents"
  4.     (strcat
  5.       "{\\W"
  6.       (rtos 0.75 2 2)
  7.       ";"
  8.       (RmvMtext mtext)
  9.       "}"
  10.     )
  11. )


回复

使用道具 举报

发表于 3 天前 | 显示全部楼层
感谢分享哦
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
支持大师分享
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
setpropertyvalue  哥 这是什么函数
回复 支持 反对

使用道具 举报

发表于 前天 09:47 | 显示全部楼层
getpropertyvalue对大部分控制符可以清理,但是对于堆叠的格式,会添加多余的/
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 23:43 | 显示全部楼层
kozmosovia 发表于 2025-3-30 09:47
getpropertyvalue对大部分控制符可以清理,但是对于堆叠的格式,会添加多余的/

原来如此,学习了
回复 支持 反对

使用道具 举报

发表于 昨天 15:13 | 显示全部楼层
;;;给新手使用,怕新手不会用

(defun c:tt (/ ss i mtext)
  (vl-load-com)
  (setq ss (ssget '((0 . "MTEXT")))) ; 选择多行文字
  (if ss
    (progn
      (setq i 0)
      (repeat (sslength ss)
        (setq mtext (ssname ss i))
        (setpropertyvalue
          mtext
          "Contents"
          (vl-string-translate "\r\n" "\\P" (getpropertyvalue mtext "Text"))
        )
        (setq i (1+ i))
      )
      (princ "\n处理完成!")
    )
    (princ "\n未选择任何多行文字!")
  )
  (princ)
)

点评

赞  发表于 昨天 16:46
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-1 08:25 , Processed in 0.164717 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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