【函数】pickset:zoom 缩放选择集ss到当前视口,支持在 DCL中控制绘图区的显示
本帖最后由 vitalgg 于 2023-1-11 23:59 编辑pickset:zoom
"缩放选择集ss到当前视口.
显示的屏占比可由设置选项 @:magnify 控制,
其值越大,放大率越低。默认满屏"
*ACAD* 就是当前的 cad application 对象。可自行修改。
安装了@lisp的CAD无需修改可直接使用该函数,并进行设置显示的大小。
在vscode 中安装了 @lisp函数库扩展的,可以直接查看函数说明和语法。
本函数源码:
https://gitee.com/atlisp/atlisp-lib/blob/main/src/pickset/zoom.lsp
@lisp函数库
https://gitee.com/atlisp/atlisp-lib
函数库问题讨论,建议及意见交流区
https://gitee.com/atlisp/atlisp-lib/issues
@lisp开源项目
https://gitee.com/atlisp
(defun pickset:zoom (ss / box)
"缩放选择集ss到当前视口.
显示的屏占比可由设置选项 @:magnify 控制,
其值越大,放大率越低。默认满屏"
""
"(pickset:zoom (ssget))"
(setq box (pickset:getbox ss 0))
(vla-ZoomCenter
*ACAD*
(apply 'vlax-3D-point (point:centroid box))
(* (if (and (setq magnify (@:get-config '@:magnify))
(> magnify 0.01))
magnify
1)
(/
(apply
'max
(mapcar
'/
(mapcar '- (cadr box) (car box))
(getvar "SCREENSIZE")
))
0.001
))))
用法:
源码:
VScode 语法提示
更多函数见 @lisp 函数库:
https://gitee.com/atlisp/atlisp-lib
开源可查,更可直接调用。不再需要自己一个一个地组织。
谢谢楼主分享
页:
[1]