明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 582|回复: 1

[函数] 【函数】pickset:zoom 缩放选择集ss到当前视口,支持在 DCL中控制绘图区的显示

[复制链接]
发表于 2023-1-11 09:51 | 显示全部楼层 |阅读模式
本帖最后由 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


  1. (defun pickset:zoom (ss / box)
  2.   "缩放选择集ss到当前视口.
  3. 显示的屏占比可由设置选项 @:magnify 控制,
  4. 其值越大,放大率越低。默认满屏"
  5.   ""
  6.   "(pickset:zoom (ssget))"
  7.   (setq box (pickset:getbox ss 0))
  8.   (vla-ZoomCenter
  9.    *ACAD*
  10.    (apply 'vlax-3D-point (point:centroid box))
  11.    (* (if (and (setq magnify (@:get-config '@:magnify))
  12.          (> magnify 0.01))
  13.     magnify
  14.   1)
  15.       (/
  16.        (apply
  17.   'max
  18.   (mapcar
  19.          '/
  20.          (mapcar '- (cadr box) (car box))
  21.          (getvar "SCREENSIZE")
  22.    ))
  23.        0.001
  24.        ))))

用法:



源码:



VScode 语法提示





更多函数见 @lisp 函数库:  
https://gitee.com/atlisp/atlisp-lib

开源可查,更可直接调用。不再需要自己一个一个地组织。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-1-11 19:38 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 16:03 , Processed in 6.634895 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表