品茗新秀 发表于 2013-3-4 02:40:00

求图纸比例缩放程序,但标注数字不变

要求用户指定比例因子,如果用户不输入,则选择图中标注尺寸数字,量取相应尺寸间的距离,自动计算比例,然后用户框选需缩放的图元,指定基点。缩放完成。

848818376 发表于 2013-3-4 02:40:01

这个G版已解决
图形大小缩放,标注尺寸值不变,用于局部视图
(defun c:cs (/ ss pt ss2 flag alst)
(defun lt:ss->list (ss / en)
    (vl-remove nil (mapcar '(lambda (x)
                           (if (= (type (setq en (cadr x))) 'ename) en)
                            )
                           (ssnamex ss)
                   )
    )
)
(if (and (setq ss (ssget))
         (setq pt (getpoint "\n指定缩放的基点: "))
      )
    (progn
      (if (setq ss2 (ssget "_p" '((0 . "DIMENSION"))))
      (progn
          (setq alst (mapcar '(lambda (d)
                               (setq d (vlax-ename->vla-object d))
                               (list d (vla-get-Measurement d))
                              )
                           (lt:ss->list ss2)
                     )
                flag T
          )
      )
      )
      (princ "\n指定缩放的比例因子: ")
      (command "_.scale" ss "" pt "\\")
      (if flag
      (mapcar '(lambda (x / d)
                  (setq d (car x))
                  (vla-put-LinearScaleFactor d (* (/ (cadr x) (vla-get-Measurement d))
                                                (vla-get-LinearScaleFactor d)
                                             )
                  )
               )
                alst
      )
      )
    )
)
(princ)
)

【KAIXIN】 发表于 2013-3-4 07:57:30

上图,这个不难,说白了是读取文本数值,付给比例,批量中点缩放图元

hao3ren 发表于 2013-3-4 10:45:16

http://bbs.mjtd.com/thread-95939-1-1.html

【KAIXIN】 发表于 2013-3-11 09:08:19

(defun c:xx ( / dist lts po s1 ss txt)
(setq s1 (car (xx-get-entsel '((0 . "TEXT")(1 . "~*[~`--9]*")) "数字文本"))
txt (read (xx-get-dxf 1 s1))   ; 文字值
dist (xx-dist 7 "" "真实距离" dist nil nil)
ss (ssget)
po (getpoint "基点")
lts (/ txt dist)
)
(if (= lts nil)
    (setq lts (xx-dist 7 "" "比例" lts nil 1))
)
(xx-sc ss po lts)
)

品茗新秀 发表于 2013-3-21 14:09:55

如果是纯autolisp就好了

848818376 发表于 2013-3-22 11:29:10

848818376 发表于 2013-3-4 02:40 static/image/common/back.gif
这个G版已解决
图形大小缩放,标注尺寸值不变,用于局部视图
(defun c:cs (/ ss pt ss2 flag alst)


经常来明经会有无限惊喜哦!

ly8zx2109 发表于 2013-4-8 13:35:21

太好了,很棒。

注册 发表于 2013-5-8 17:05:11

这个可以有,不错的程序

pengfei2010 发表于 2013-6-7 15:27:05

很给力,就是不自动G板是哪位大神,一直有人说G版
页: [1] 2
查看完整版本: 求图纸比例缩放程序,但标注数字不变