本帖最后由 作者 于 2008-4-29 1:04:12 编辑
 - ;| dmth = 改变标注文字高度. by lxx.2008.4
- 说明:1.标注文字高度受到文本style影响,如果style默认高度不为0,直接put-TextHeight无效.
- 2.本程序考虑了不同标注类型的文本及全局比例,统一按指定高度改变.
- 3.公差可同比缩放.
- |;
- (defun c:dmth (/ h ss i e o st sts)
- (vl-load-com)
- (command ".undo" "be")
- (setq h (getdist "\n 指定标注文字高度:"))
- (setq ss (ssget '((0 . "DIMENSION")))
- i -1
- )
- (while (setq e(ssname ss (setq i (1+ i))))
- (setq o (vlax-ename->vla-object e))
- (setq st (vlax-ename->vla-object (tblobjname "style" (vla-get-TextStyle o)))
- sth (vla-get-height st))
- (if (/= 0. sth)
- (progn
- (setq sts (cons (list st sth) sts))
- (vla-put-height st 0.)
- )
- )
- (vla-put-TextHeight o (/ h (vla-get-ScaleFactor o)))
- )
- (if sts (mapcar '(lambda(x)(vla-put-height (car x)(cadr x)))sts))
- (command ".undo" "e")
- (princ)
- )
|