天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 55|回复: 0

(CTW)批量修改CAD文字宽度因子

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 49 天

    [LV.5]常住居民I

    185

    主题

    150

    回帖

    1695

    积分

    管理员

    积分
    1695
    发表于 2024-4-8 21:25:54 | 显示全部楼层 |阅读模式
    1. ;;说明:批量修改CAD文字宽度因子  by <a href="mailto:702099480@qq.com">702099480@qq.com</a>  2023.3.29
    2. (defun C:CTW(/ edata ei ent n newwid newwidstr si ss str tpy widstr)
    3.   (if (setq ss (ssget '((0 . "*TEXT"))))
    4.     (progn
    5.       (if (= nil (setq newwid (getreal "\n 请输入新的文字宽度因子,默认<0.7>:"))) (setq newwid 0.7))
    6.       (if (> newwid 10) (setq newwid 10.0))
    7.       (setq n -1)
    8.       (while (setq ent (ssname ss (setq n (1+ n))))
    9.         (setq edata (entget ent) tpy (cdr (assoc 0 edata)))
    10.         (if (equal tpy "TEXT")
    11.           (entmod (subst (cons 41 newwid) (assoc 41 edata) edata))
    12.           (progn
    13.             (setq str (cdr (assoc 1 edata)))
    14.             (if (or (wcmatch str "*`\\W##;*") (wcmatch str "*`\\W#;*") (wcmatch str "*`\\W#.#;*") (wcmatch str "*`\\W#.##;*"))
    15.               (progn
    16.                 (setq si (1+ (vl-string-search "\\W" str)))
    17.                 (setq ei (1+ (vl-string-search ";" str (1+ si))))
    18.                 (setq widstr (substr str si (1+ (- ei si))))
    19.                 (setq newwidstr (strcat "\\W" (rtos newwid 2 2) ";"))
    20.                 (setq str (vl-string-subst newwidstr widstr str))
    21.                 (entmod (subst (cons 1 str) (assoc 1 edata) edata))
    22.               )
    23.               (if (wcmatch str "{*}")
    24.                 (progn
    25.                   (setq newwidstr (strcat "{\\W" (rtos newwid 2 2) ";"))
    26.                   (setq str (vl-string-subst newwidstr "{" str))
    27.                   (entmod (subst (cons 1 str) (assoc 1 edata) edata))
    28.                 )
    29.                 (progn
    30.                   (setq str (strcat "{\\W" (rtos newwid 2 2) ";" str "}"))
    31.                   (entmod (subst (cons 1 str) (assoc 1 edata) edata))
    32.                 )
    33.               )
    34.             )
    35.           )
    36.         )
    37.       )
    38.     )
    39.     (alert "请选择文字对象后再行尝试!")
    40.   )
    41.   (prin1)
    42. )
    复制代码

     

     

     

     

    (CTW)批量修改CAD文字宽度因子
    哎...膜结构车棚,签到来了1...
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-5-15 15:31 , Processed in 0.060355 second(s), 21 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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