本帖最后由 vitalgg 于 2023-1-11 23:59 编辑
pickset:zoom
"缩放选择集ss到当前视口.
显示的屏占比可由设置选项 @:magnify 控制,
其值越大,放大率越低。默认满屏"
*ACAD* 就是当前的 cad application 对象。可自行修改。
安装了@lisp的CAD无需修改可直接使用该函数,并进行设置显示的大小。
在vscode 中安装了 @lisp函数库扩展的,可以直接查看函数说明和语法。
本函数源码:
https://gitee.com/atlisp/atlisp- ... rc/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
开源可查,更可直接调用。不再需要自己一个一个地组织。
|