明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1333|回复: 3

如何用LISP得知某一点是否在当前显示的窗口中?

[复制链接]
发表于 2006-10-24 20:26:00 | 显示全部楼层 |阅读模式

如题,

各位大侠,帮忙了。

 楼主| 发表于 2006-10-26 21:07:00 | 显示全部楼层

自己顶一下了

 

发表于 2006-10-26 23:56:00 | 显示全部楼层

(defun test (pt)
  (setq currentview   (vla-get-activeviewport
   (vla-get-activedocument
     (vlax-get-acad-object)
   )
        )
 cenpt       (vlax-safearray->list
   (vlax-variant-value (vla-get-center currentview))
        )
 height       (vla-get-height currentview)
 width       (vla-get-width currentview)
 x_dis_pttocen (abs (- (car pt) (car cenpt)))
 y_dis_pttocen (abs (- (cadr pt) (cadr cenpt)))
  )
  (if (and (<= x_dis_pttocen (/ width 2))
    (<= y_dis_pttocen (/ height 2))
      )
    (alert "点在显示的窗口内")
    (alert "点不在显示的窗口内")
  )
)

调用方法如test '(1.0 2.0))

 楼主| 发表于 2006-10-29 20:31:00 | 显示全部楼层

谢谢楼上的了,

先试试哟

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

本版积分规则

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

GMT+8, 2025-6-21 04:12 , Processed in 0.145880 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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