明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: bbswen

[提问] 文字样式 替换

[复制链接]
 楼主| 发表于 2014-7-12 12:38:08 | 显示全部楼层
不知道怎么实现啊,
请高手帮忙
发表于 2014-7-13 22:50:18 | 显示全部楼层
你不是有一个了吗
发表于 2014-7-14 08:49:51 | 显示全部楼层
LZ 应该放出源码来让高手修改!!!!
 楼主| 发表于 2014-7-14 13:07:59 | 显示全部楼层
没有源码,如果有了,就可以自己改下了,
从没有到有很难
从有到修改就容易了,呵呵
发表于 2015-7-10 18:00:21 | 显示全部楼层
我也是这问题,特别是从别的粘贴过来是 字体样式相当混乱!盼大神出手相助
发表于 2015-7-11 00:54:17 来自手机 | 显示全部楼层
把所有文字归集到一种样式吗?如果是这样的话好像不是什么难事吧?我倒是有一个这样的,
发表于 2015-7-11 10:56:41 来自手机 | 显示全部楼层
本帖最后由 gaics 于 2015-7-11 11:02 编辑

这个是我自己用的,把所有文字改成同一种样式。
(defun c:ZT (/ wz i ent)
  (command "style" "HZ" "hzasc,hztxt"        "0" "0.7" "0.0"        "" "" "")
  (setq wz (ssget "X" '((0 . "TEXT,MTEXT"))))

  (setq i -1)
  (repeat (sslength wz)
    (setq ent (ssname wz (setq i (1+ i))))
    (setq num 7)
    (setq ch "HZ")
    (ch_dxf ent num ch)
    (setq num 41)
    (setq ch 0.7)
    (ch_dxf ent num ch)
    (setq num 51)
    (setq ch 0.0)
    (ch_dxf ent num ch)
  )
  (princ)
)

(defun ch_dxf (en num ch / old_num new_num ent)
  (if (setq ent            (entget en)
            new_num (cons num ch)
            old_num (assoc num ent)
      )
    (entmod (subst new_num old_num ent))
    (entmod (reverse (cons new_num (reverse ent))))
  )
)
发表于 2015-7-12 08:53:28 | 显示全部楼层
;改变文字字体
(defun C:sstt(/ cx ss)   
  (setq ss (ssget ":s"))
  (setq cx (entget(ssname ss 0)))
  (VL-CMDF "-style" (cdr(assoc '7 cx)) "txt" "0" "0.8" "0" "N" "N" "N")
  (princ)
)
发表于 2015-7-24 15:34:27 | 显示全部楼层
bbswen 发表于 2014-7-11 12:41
这当然不是本意上的,资料在各个厂家,设计院之间传送,甲方乙方,文字样式就变成这个样子了,
最终就出现 ...

关于粘贴复制带来样式不同的问题已完美解决 感谢E大帮助
下面贴上的代码 供大家参考 可以框选更改所有样式的文字和箭头大小需要其他自己添加
;;标注统一
;;by edata@mjtd 2015-7-21
(defun c:tt(/ elist a dim_a dim_lst en obj ss)
  (setq dim_a(tblnext "dimstyle" t) dim_lst '())
  (setq dim_lst(cons (cdr(assoc 2 dim_a)) dim_lst))
  (while(setq dim_a(tblnext "dimstyle"))
    (setq dim_lst(cons (cdr(assoc 2 dim_a)) dim_lst))
    )
  (print dim_lst)
  (while(setq a(car dim_lst))
  (setq elist (entget(tblobjname"dimstyle" a)))
    (if(assoc 140 elist)
    (setq elist(subst(cons 140 9)(assoc 140 elist)elist))
    (setq elist(reverse(cons(cons 140 9)(reverse elist))))
    )
    (if(assoc 41 elist)
    (setq elist(subst(cons 41 0.5)(assoc 41 elist)elist))
    (setq elist(reverse(cons(cons 41 0.5)(reverse elist))))
    )
  (if(assoc 179 elist)
    (setq elist(subst(cons 179 2)(assoc 179 elist)elist))
    (setq elist(reverse(cons(cons 179 2)(reverse elist))))
    )
  (entmod elist)
    (setq dim_lst(cdr dim_lst))
    )
  (setvar 'dimadec 2)
  (setvar 'dimtxt 9.0)
  (setvar 'dimasz 0.5)
  (if (setq ss (ssget  '((0 . "DIMENSION"))))
    (while (setq en (ssname ss 0))
      (setq obj (vlax-ename->vla-object en))
      (vla-put-ArrowheadSize obj 0.5)
      (vla-put-TextHeight obj 9.0)
      (if (= (vla-get-objectname obj) "AcDb2LineAngularDimension")
        (vla-put-TextPrecision obj 2)
      )
      (setq ss (ssdel en ss))
    )
  )
  (princ)
  )
发表于 2015-7-24 15:53:11 | 显示全部楼层
有的字体可能根本没用到,那么首先应该通过PURGE进行清理
有可能不同的字体样式名,实际上所用的字体文件名是相同的,这就需要通过程序把其中几种字体样式改成其中一种
有的字体文件可能是因为各种要求所不允许的,这也需要改为要求的字体文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 07:02 , Processed in 0.179531 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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