|  ;;图形放大,标注不变
;;by edata @mjtd.com 2015-7-5 17:01:20
(vl-load-com)
(defun c:tt(/ ss p sc i en ss obj dim_sc dim_length units_pre)
  (princ "\n选择缩放对象:")
  (if(and (setq ss(ssget ))
          (setq p(getpoint "\n指定缩放基点:"))
          (setq sc(getreal "\n指定缩放比例:"))
          )
    (progn
      (setq i -1)
      (while(setq en(ssname ss (setq i(1+ i))))
        (if(=(cdr(assoc 0 (entget en))) "DIMENSION")
          (progn
            (setq obj(vlax-ename->vla-object en))
            (setq dim_sc(vla-get-scalefactor obj))
            
            (if (=(vla-get-TextOverride obj) "")
              (progn
                (setq units_pre(vla-get-PrimaryUnitsPrecision obj))
                (setq dim_lenth(rtos(vla-get-Measurement obj) 2 units_pre))
            (vla-put-TextOverride obj dim_lenth)
                )
              )                
            (vla-put-scalefactor obj (* dim_sc sc))
            )
          )
        )
      (setvar 'cmdecho 0)
      (vl-cmdf "_.scale" ss "" "_non" p sc)
      (setvar 'cmdecho 1)
      )
    )
  (princ)
  )
 |