明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2315|回复: 7

帮忙写个批量修改文本属性的lisp

[复制链接]
发表于 2016-1-22 16:59:50 | 显示全部楼层 |阅读模式
10明经币
请哪位大侠写个小程序,功能如下:

框选图中文字,将文字属性修改:对齐方式改为左对齐;字高改为300;字宽改为0.6;字体颜色改为1号色;字体样式改为“TSSD_Rein”,如果没有定义,新创建该字体样式,英中字体分别为tssdeng.shx和tssdchn.shx。

以上功能单独的程序一个个用效率低,麻烦大侠给集合至一个命令,使用起来快捷些,先谢了。


发表于 2016-1-22 16:59:51 | 显示全部楼层
本帖最后由 437271963 于 2016-2-29 14:34 编辑
  1. ;建立TSSD_Rein字体
  2. (defun TSSD_Rein ( / newt)
  3. (if (null (tblsearch "style" "TSSD_Rein"))
  4.   (progn
  5.    (if (null vlax-dump-object) (vl-load-com) )
  6.    (setq newT (vla-add (vla-get-TextStyles (vla-get-activedocument (vlax-get-acad-object))) "TSSD_Rein"))
  7.    (vla-put-fontfile newT "tssdeng.shx")
  8.    (vla-put-bigfontfile newT "tssdchn.shx");大字体为hztxt
  9.    (vla-put-height newT 0);高度0
  10.    (vla-put-width newT 0.6);宽度因子0.6
  11.    (vla-put-obliqueAngle newT (/ (* pi 3) 180));倾斜角度3
  12.   )
  13. )
  14. )

  15. ;;修改文字为左对齐位置不变;;
  16. (defun C:tes ( / #g1 &k1 &kw1 &ob1 pt1 ss1 ss2 ss3 ss4 ss5 x)
  17. (setvar "cmdecho" 0)
  18. (setvar "blipmode" 0)
  19. (if (null vlax-dump-object) (vl-load-com) )  ;;加载vlax扩展函数
  20. (setq ss5 '((62 . 1) (40 . 300) (41 . 0.6) (7 . "TSSD_Rein")))
  21. (TSSD_Rein)
  22. (princ "\n请选择文字")
  23. (if (setq &kw1 (ssget '((0 . "TEXT"))));1
  24.   (progn;;1
  25.    (setq ss1 '(0 8) ss2 '(1 50 51))
  26.    (while (setq &k1 (ssname &kw1 0));1
  27.     (setq &kw1 (ssdel &k1 &kw1))
  28.     (setq #g1 (entget &k1) &ob1 (vlax-ename->vla-object &k1))
  29.     (setq ss3 (vl-remove-if-not '(lambda (X) (member (car x) ss1)) #g1))
  30.     (setq ss4 (vl-remove-if-not '(lambda (X) (member (car x) ss2)) #g1))
  31.     (setq pt1 (Vlax-SafeArray->List (Vlax-Variant-Value (vla-get-InsertionPoint &ob1))))
  32.     (setq pt1 (list (car pt1) (cadr pt1)));坐标Z为0
  33.     (vla-delete &ob1);删除原来的文字
  34.     (setq ss4 (append ss5 ss4))
  35.     (setq ss4 (cons (cons 10 pt1) ss4))
  36.     (setq ss3 (append ss3 ss4))
  37.     (entmake ss3);绘制文字
  38.    );while;1
  39.   );progn;1
  40. );if;1
  41. (prin1)
  42. )
回复

使用道具 举报

 楼主| 发表于 2016-1-27 09:25:39 | 显示全部楼层
已经解决,感谢明经
回复

使用道具 举报

发表于 2016-2-25 17:20:29 | 显示全部楼层
高,这个真的还有
回复

使用道具 举报

 楼主| 发表于 2016-2-29 13:57:36 | 显示全部楼层
437271963 发表于 2016-2-28 19:15

非常感谢437271963帮忙,辛苦编写了这段很好的程序,适用了一下,发现其他都很实现了,但是字体样式没有改过来,新字体样式是生成了,就是没有所选文字没有变,不知能否再完善一下,再次感谢!
回复

使用道具 举报

发表于 2016-3-1 08:29:05 | 显示全部楼层
已经重新修正。
回复

使用道具 举报

 楼主| 发表于 2016-3-2 09:12:13 | 显示全部楼层
OK,完美,谢谢437271963的热心帮助,感谢明经这个平台!
回复

使用道具 举报

发表于 2016-5-30 09:57:45 | 显示全部楼层
看看。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-27 13:07 , Processed in 0.153417 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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