标注尺寸值按比例缩放
请哪位大侠帮忙编一个来lsp:大家在画局部视图时会把局部放大N倍,因此在标注局部视图时,尺寸值也放大N倍,我现在的方法是用ED直接修改尺寸,缺点是慢而且容易改错,好像制图有一条法则:不轻易修改或炸开标注的尺寸值,具体情况见下图,希望哪位师傅帮忙用lsp直接把比例缩小1/N倍,感谢http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 848818376的微博 陨落 发表于 2012-12-15 19:46
就是将标注里面的文字一起放大吧,这个我写过
好似你这个才是我需要的,谢谢分享,如果能同时等值标注比例就好了 下来用用看了 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=95939此贴跟我说的类似,就是标注的数值会四舍五入,如:Φ50.2放大2倍后变成Φ100,而我想要的是Φ100.4,需要这贴源码的我可以发个他,省得浪费钱财啊 呵呵。以前我也求过这种程序。
是CAOYIN大侠帮忙解决的。在此敬礼!
http://bbs.mjtd.com/thread-64189-1-1.html wowan1314 发表于 2012-12-15 14:51 static/image/common/back.gif
呵呵。以前我也求过这种程序。
是CAOYIN大侠帮忙解决的。在此敬礼!
http://bbs.mjtd.com/thread-64189-1 ...
大哥最后修改好的在几楼啊?谢谢 848818376 发表于 2012-12-15 14:57 static/image/common/back.gif
大哥最后修改好的在几楼啊?谢谢
谢谢,在12楼 作者:caoyin于 2007-11-15 13:34:05 编辑
(defun c:test (/ 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)
) 本帖最后由 陨落 于 2012-12-17 12:15 编辑
就是将标注里面的文字一起放大吧,这个我写过
好东西,画详图用地上 画工程竣工图可用的上。
页:
[1]
2