啵浪鼓 发表于 2017-7-27 18:26:06

获得标注字高

想做一个批量改尺寸文字字高的程序

首先要获得原文字的高度,entsel和nentsel不能多选

并且如果改尺寸如果dim scale overall缩放过比例的,nentsel也是无法获得真实字高

有没有朋友有获得尺寸字高的方法,求解

yaokui25 发表于 2017-7-27 18:46:19

本帖最后由 yaokui25 于 2017-7-27 18:47 编辑

(defun DIMZG (ss / bl dim i lst name wzgd wzh)
(setq lst '())
(repeat (setq i (sslength ss))
    (setq name (ssname ss (setq i (1- i))))
    (if (= (cdr (assoc 0 (entget name))) "DIMENSION")
      (progn
      (setq dim (vlax-ename->vla-object name))
      (setq wzgd (vla-get-textheight dim))
      (setq bl (vla-get-scalefactor dim))
      (setq wzh (* wzgd bl))
      (setq lst (cons wzh lst))
      )
    )
)
(setq lst (vl-sort lst '>))
(car lst)
)

啵浪鼓 发表于 2017-7-27 23:44:14

yaokui25 发表于 2017-7-27 18:46


(vla-get-textheight(vlax-ename->vla-object 这个使用过了,只能获得默认文字大小,但是该标注如果使用dimscale缩放过以后,获得的依然是默认文字高度,并非是真实文字高度

啵浪鼓 发表于 2017-7-27 23:45:50

难道只能通过炸开尺寸才能获得真实文字高度?

有点蛋蛋的忧伤
页: [1]
查看完整版本: 获得标注字高