wayne_myles 发表于 2015-7-20 07:44 http://bbs.mjtd.com/static/image/common/back.gif
再麻烦各位高手给点意见啊!
lucas_3333 !
可能就是你说的原因,不要用系统默认的名称!那粘贴复制(不是一次 也可能是多个粘贴源 )请教下怎么解决了!! 我自己修改了个,感觉不怎么理想,来学习 http://bbs.mjtd.com/thread-113895-1-1.html 本帖最后由 wayne_myles 于 2015-7-24 15:32 编辑
关于粘贴复制带来样式不同的问题已完美解决 感谢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)
)
我看下 谢谢 已经改用vla,command太丑。 开源就支持一下
页:
1
[2]