sym123321 发表于 2010-6-12 12:18:00

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

<p><font face="Verdana">用LISP怎么获取屏幕的大小?</font></p>
<p>&nbsp;</p>
<p>就是屏幕的左下角坐标和右上角坐标。</p>
<p>&nbsp;</p>
<p>我用vsmin vsmax 变量取得的坐标不对</p>
<p>&nbsp;</p>
<p>用viewsize 变量只能取得屏幕的高度,宽度怎么得到呢?</p>
<p>&nbsp;</p>
<p>希望朋友们指定一下,谢谢</p>

asdfxx 发表于 2010-6-12 12:29:00

cjs 发表于 2010-6-12 17:14:00

再加上<h1 class="title"><a class="headlink" title="命令/系统变量列表..." href="">VIEWCTR 系统变量</a> </h1><div>就可以了算出来了</div>

sym123321 发表于 2010-6-12 20:40:00

<p>只能通过计算,没有直接获取的办法?</p>
<p>&nbsp;</p>
<p>用vsmin 和 vsmax 求高宽比,再跟 viewsize 得取宽度?</p>
<p>&nbsp;</p>
<p>依据 viewctr 求得屏幕角点?</p>
<p>&nbsp;</p>
<p>我还是搜搜看好了,谢谢大家的回答</p>

utopio 发表于 2022-7-9 19:58:18

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=72733&highlight=%EF%BF%BD%EF%BF%BD%C4%BB%2B%EF%BF%BD%EF%BF%BD%D0%A1&_dsign=7e7bb1b4

wzg356 发表于 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)))
)

页: [1]
查看完整版本: [求助]用LISP怎么获取屏幕的大小?