無恒的地盘 发表于 2011-9-3 10:59:54

请问标注和文字比例怎么设置,如下

本帖最后由 無恒的地盘 于 2011-9-3 15:03 编辑

(defun c:D12 nil
(setvar "DIMSCALE" 75);这个数值怎样可以设置成手动输入比例,另想加入一个同时更改文字大小比例
(setvar "OSMODE" 7103)
(command "LTSCALE" "20")
(setq ss (ssget '((0 . "DIMENSION,LEADER"))))
(command "_DIMSTYLE" "APPLY" ss ""))


ljpnb 发表于 2011-9-3 16:37:05

(defun c:D12 ()
(setq old (getvar 'dimscale))
(if (setq new        (getreal (strcat "\n当前尺寸标注的比例为:<"
                               (rtos old)
                               ">,请输入新的比例:"
                       )
                )
      )
    (progn
      (setvar "DIMSCALE" new)
      (setq ss (ssget '((0 . "DIMENSION,LEADER"))))
      (command "_DIMSTYLE" "APPLY" ss "")
    )
)
)
下面一个参考一下:
(defun c:tt ()
(vl-load-com)
(setq en (car (entsel "\n选择一个尺寸标注:")))
(setq obj (vlax-Ename->Vla-Object en))
(setq old (vla-get-scalefactor obj))
(if (setq new        (getreal (strcat "\n当前尺寸标注的比例系数为:<"
                               (rtos old)
                               ">,请输入新的比例系数:"
                       )
                )
      )
    (progn
      (setq ss (ssget '((0 . "DIMENSION,LEADER"))))
      (setq k 0)
      (repeat (sslength ss)
        (setq obj (vlax-Ename->Vla-Object (ssname ss k)))
        (vla-put-scalefactor obj new)
        (setq k (1+ k))
      )
    )
)
(princ)
)

無恒的地盘 发表于 2011-9-3 20:54:02

ljpnb 发表于 2011-9-3 16:37 static/image/common/back.gif
(defun c:D12 ()
(setq old (getvar 'dimscale))
(if (setq new        (getreal (strcat "\n当前尺寸标注的 ...

谢谢ljpnb,很好用,贪心一下想加个输入比例的时候更改标注同时文字的大小也一起调整,文字大小等于比例等于乘以3

ljpnb 发表于 2011-9-4 20:51:41

無恒的地盘 发表于 2011-9-3 20:54 static/image/common/back.gif
谢谢ljpnb,很好用,贪心一下想加个输入比例的时候更改标注同时文字的大小也一起调整,文字大小等于比例等 ...


(defun c:tt ()
(vl-load-com)
(setq en (car (entsel "\n选择一个尺寸标注:")))
(setq obj (vlax-Ename->Vla-Object en))
(setq old (vla-get-scalefactor obj))
(if (setq new      (getreal (strcat "\n当前尺寸标注的比例系数为:<"
                                 (rtos old)
                                 ">,请输入新的比例系数:"
                         )
                )
      )
    (progn
      (setq ss (ssget '((0 . "DIMENSION,LEADER"))))
      (setq k 0)
      (repeat (sslength ss)
      (setq obj (vlax-Ename->Vla-Object (ssname ss k)))
        (setq h (vla-get-textheight obj ))
        (vla-put-textheight obj (* h 3.0));;3.0可以修改的
      (vla-put-scalefactor obj new)
      (setq k (1+ k))
      )
    )
)
(princ)
)

無恒的地盘 发表于 2011-9-4 22:25:52

本帖最后由 無恒的地盘 于 2011-9-4 22:46 编辑

ljpnb 发表于 2011-9-4 20:51 static/image/common/back.gif

谢谢ljpnb,刚用了一下,但有以下问题,就是输入比例后标注成倍放大,并不是按比例来缩放的,文字不被选中,是否加入文字样式会好一些.
还有一个问题就是您帮我写的两个工具,D12工具可以改引线比例,TT工具不可以改引线标注比例,再次谢谢ljpnb帮忙解决。

tangjunasd58 发表于 2013-4-23 20:39:44

能改成可以记录上次输入的比例吗
页: [1]
查看完整版本: 请问标注和文字比例怎么设置,如下