图纸上有很多文字,字体偏小了,能不能快速选择以后,在位放大文字,文字的位置不会发生变化?
网友答: cad自带命令:scaletext网友答: (defun c:NM (/ i midpt pt s s1 ss xj-en2pt)
(defun xj-en2pt (e / s)
(if (and e (setq tp (type e))
(atom e)
(or (= tp 'vla-object)
(and (= tp 'ename)(setq e (vlax-ename->vla-object e)))
)
)
(progn
(vla-GetBoundingBox e 'a 'b)
(mapcar 'vlax-safearray->list (list a b))
)
)
)
(defun midpt (pt1 pt2) (mapcar '(lambda (x y) (* (+ x y) 0.5)) pt1 pt2))
(setq i -1)
(if(setq ss (ssget (list '(0 . "*TEXT"))))
(while(and(setq s1 (ssname ss (setq i (1+ i)))))
(setq s(xj-en2pt s1))
(setq pt(midpt(car s)(cadr s)))
(command "scale" (ssadd s1) "" pt 2) ;需要放大几倍这里的数字对应调整就行,目前是文字放大2倍
)
)
(princ)
)网友答: 位置不变,是个相对的概念。不是一个程序就可以通吃所有的网友答: 谢谢楼主分享网友答:
网友答: 谢谢楼上各位热心解答!
6楼这个是啥工具箱啊?
网友答: cad自带命令:scaletext网友答: (defun c:NM (/ i midpt pt s s1 ss xj-en2pt)
(defun xj-en2pt (e / s)
(if (and e (setq tp (type e))
(atom e)
(or (= tp 'vla-object)
(and (= tp 'ename)(setq e (vlax-ename->vla-object e)))
)
)
(progn
(vla-GetBoundingBox e 'a 'b)
(mapcar 'vlax-safearray->list (list a b))
)
)
)
(defun midpt (pt1 pt2) (mapcar '(lambda (x y) (* (+ x y) 0.5)) pt1 pt2))
(setq i -1)
(if(setq ss (ssget (list '(0 . "*TEXT"))))
(while(and(setq s1 (ssname ss (setq i (1+ i)))))
(setq s(xj-en2pt s1))
(setq pt(midpt(car s)(cadr s)))
(command "scale" (ssadd s1) "" pt 2) ;需要放大几倍这里的数字对应调整就行,目前是文字放大2倍
)
)
(princ)
)网友答: 位置不变,是个相对的概念。不是一个程序就可以通吃所有的网友答: 谢谢楼主分享网友答:
网友答: 谢谢楼上各位热心解答!
6楼这个是啥工具箱啊?