明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 20746|回复: 194

[源码] 统一字高度和文字样式

    [复制链接]
发表于 2014-10-10 10:05 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2014-11-13 15:11 编辑

;;***改一下,希望更实用*********统一字高 2014.11.11
(defun C:SameHeight (/ E EN N NAME OBJ SS STY TEXTH)
  (cond
    ((and (princ "\n 选择源:")
          (setq e (ssget "_+.:E:S" '((0 . "*TEXT,*DIMENSION"))))
     )
     (setq e (ssname e 0))
     (setq en (entget e))
     (setq Name (cdr (assoc 0 en)))
     (cond ((equal Name "DIMENSION")
            (setq obj (vlax-ename->vla-object e))
            (setq TextH (* (vlax-get obj 'TextHeight) (vlax-get obj 'ScaleFactor)))
           )
           ((wcmatch Name "*TEXT")
            (setq TextH (cdr (assoc 40 en)))
            (setq sty (assoc 7 en))
           )
     )
     (while
       (and (princ "\n 选择目标:") (setq ss (ssget ":S" '((0 . "*TEXT,*DIMENSION")))))
        (repeat        (setq n (sslength ss))
          (setq e (ssname ss (setq n (1- n))))
          (setq en (entget e))
          (setq Name (cdr (assoc 0 en)))
          (cond        ((equal Name "DIMENSION")
                 (setq obj (vlax-ename->vla-object e))
                 (vlax-put obj 'ScaleFactor (/ TextH (vlax-get obj 'TextHeight)))
                )
                ((wcmatch Name "*TEXT")
                 (setq en (entget e))
                 (cond (sty (setq en (subst sty (assoc 7 en) en)))
                       (T (setq sty (assoc 7 en)))
                 )
                 (entmod (subst (cons 40 TextH) (assoc 40 en) en))
                )
          )
        )
     )
    )
  )
  (princ)
)
  1. ;;统一字高度和文字样式
  2. ;;统一字高
  3. (defun C:w2 (/ E EN N NAME OBJ SCL SS STY TEXTH)
  4.   (cond   
  5.     ((and (princ "\n 选择源:")
  6.           (setq e (ssget "_+.:E:S" '((0 . "*TEXT,*DIMENSION"))))
  7.      )
  8.      (setq e (ssname e 0))
  9.      (setq en (entget e))
  10.      (setq Name (cdr (assoc 0 en)))
  11.      (cond ((equal Name "DIMENSION")
  12.             (setq obj (vlax-ename->vla-object e))
  13.             (setq sty (vlax-get obj 'TextStyle))
  14.             (setq scl (vlax-get obj 'ScaleFactor))
  15.             (setq TextH (vlax-get obj 'TextHeight))
  16.            )
  17.            ((wcmatch Name "*TEXT")
  18.             (setq TextH (cdr (assoc 40 en)))
  19.             (setq sty (cdr (assoc 7 en)))
  20.             (setq scl 1)
  21.            )
  22.      )     
  23.      (while (and(princ "\n 选择目标:")(setq ss (ssget ":S" '((0 . "*TEXT,*DIMENSION")))))
  24.        (repeat (setq n (sslength ss))
  25.          (setq e (ssname ss (setq n (1- n))))
  26.          (setq en(entget e))
  27.          (setq Name (cdr (assoc 0 en)))
  28.          (cond ((equal Name "DIMENSION")
  29.                 (setq obj (vlax-ename->vla-object e))
  30.                 (vlax-put obj 'TextStyle sty)
  31.                 (vlax-put obj 'TextHeight TextH)
  32.                 (vlax-put obj 'ScaleFactor scl)
  33.                )
  34.                ((wcmatch Name "*TEXT")
  35.                 (setq en(entget e))
  36.                 (setq en (subst (cons 7 sty) (assoc 7 en) en))
  37.                 (entmod (subst (cons 40 (* TextH scl)) (assoc 40 en) en))
  38.                )
  39.          )
  40.        )
  41.      )
  42.     )
  43.   )
  44.   (princ)
  45. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

可否一起调整箭头大小和标注文字大小,这样方便打印清晰,望黄总研究一下!!!!  发表于 2017-3-21 21:23
能统一字高度和文字样式 但不能统一文字的宽高比  发表于 2014-10-11 18:21

评分

参与人数 1明经币 +1 收起 理由
wayne_myles + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2017-7-30 16:27 | 显示全部楼层
如果能指定或框选的话就效果会更好。
发表于 2022-3-26 21:42 | 显示全部楼层
赞一个,,以后学习学习
发表于 2020-8-25 10:38 | 显示全部楼层
赞一个,,以后学习学习
发表于 2014-10-10 10:23 | 显示全部楼层
速度坐个沙发慢慢看
发表于 2014-10-10 10:27 | 显示全部楼层
赞一个,学习一下
发表于 2014-10-10 10:29 | 显示全部楼层
前排!!!!!!!!!
发表于 2014-10-10 10:44 | 显示全部楼层
回复看看!!
发表于 2014-10-10 10:52 | 显示全部楼层
好功能,能批量动态修改文字高度不
发表于 2014-10-10 10:57 | 显示全部楼层
呵呵,一直支持源码
发表于 2014-10-10 11:03 | 显示全部楼层
赞一个,学习一下!
发表于 2014-10-10 11:32 | 显示全部楼层
必须看看,学习
发表于 2014-10-10 11:33 | 显示全部楼层
kkkkkkkkkkkkkk
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 06:34 , Processed in 0.333678 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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