原创文章,未经作者授权,不允许商业用途(包括微信公众号,UC大鱼号等等自媒体,企业实体)转载,非商业用途(例如各种专业论坛,个人blog等等)允许转载,但要求在转载中注明作者与原帖链接。
[AutoCAD GeekTips 12] 批量去除MTEXT(包括TABLE等)格式替代的程序
这种问题,能回答你的估计也只有我等少数人了。
mtext由于自身包含各种格式,所以不受style的限制。
如果仅仅是改一个或少数几个mtext,还是很简单的,在ribbon中选择“ 去除所有格式替代”就好了。
麻烦的是,如果有大量的这种mtext需要批量一次去除格式替代,autocad提供的内置命令和方法就难以满足实际需求了。
一个个改,几十个的话,不考虑时间,也就体力劳动,累得半死算了。
这要真有好几百,几千个mtext呢?显然,应该用程序来解决这种机械性的重复工作。
前几天我也遇到类似的问题,从excel中pastespec创建的table对象,其中的cell内容文字的颜色,文字样式全都不符合要求,近百个cells,没法一个个得改,所以只能写代码处理。(Update: 后来发现右键菜单中有个“删除所有特性替代”,这个功能入口没有在 Ribbon中提供,我开始也没注意到右键菜单。)
不过在写代码中搜索了一下,发现原来自己早就下载过一个专门的处理此问题的程序:stripmtext。这个程序国外很多lisp大神都在用。推荐给大家,高效解决你所遇到的这个问题。
作者的blog:StripMTextcadabyss.wordpress.com
考虑到源代码文件下载困难,我把他放到 http://kedora.ys168.com上,请自行前往下载。kedora’s cloud storagekedora.ys168.com
官方 Autodesk Knowledge Network 上的介绍文章:MText formatting overrides changes applied to a text style in AutoCADknowledge.autodesk.com
另外lee mac也写了一个,使用regexp来处理的函数。