明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1919|回复: 5

[求助]用LISP怎么获取屏幕的大小?

[复制链接]
发表于 2010-6-12 12:18:00 | 显示全部楼层 |阅读模式

用LISP怎么获取屏幕的大小?

 

就是屏幕的左下角坐标和右上角坐标。

 

我用vsmin vsmax 变量取得的坐标不对

 

用viewsize 变量只能取得屏幕的高度,宽度怎么得到呢?

 

希望朋友们指定一下,谢谢

发表于 2010-6-12 12:29:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-6-12 17:14:00 | 显示全部楼层
再加上

VIEWCTR 系统变量

就可以了算出来了
 楼主| 发表于 2010-6-12 20:40:00 | 显示全部楼层

只能通过计算,没有直接获取的办法?

 

用vsmin 和 vsmax 求高宽比,再跟 viewsize 得取宽度?

 

依据 viewctr 求得屏幕角点?

 

我还是搜搜看好了,谢谢大家的回答

发表于 2022-7-9 19:58:18 | 显示全部楼层
发表于 2022-7-9 20:06:13 | 显示全部楼层
本帖最后由 wzg356 于 2022-7-9 20:12 编辑

;;;通用函数  获取当前绘图区域比例(acad尺寸 比 像素)
(defun ZL-GET-SCREEN-SC        ()
    (/ (getvar "VIEWSIZE") ;_当前视口高度
       (cadr (getvar "SCREENSIZE"))
    )
)


;;;通用函数  获取当前绘图区域左上角坐标
(defun ZL-GET-SCREEN-PT7 (/ PT0 X0 Y0 H W)
    (setq PT0 (getvar "VIEWCTR") ;_视口中心坐标(UCS下)
          X0  (car PT0)
          Y0  (cadr PT0)
    )
    (setq H (getvar "VIEWSIZE") ;_当前视口高度
          W (* H
               (/ (car (getvar "SCREENSIZE"))
                  (cadr (getvar "SCREENSIZE"))
               )
            ) ;_当前视口宽度
    )
    ;;返回
    (list (+ X0 (* -0.5 W)) (+ Y0 (* 0.5 H)))
)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 19:24 , Processed in 0.164878 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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