找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 798|回复: 0

[LISP函数-点]:测试点是否在当前视口

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-9-1 18:37:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×

  1. ;; ! ****************************************************************************
  2. ;; ! GE_PntInView
  3. ;; ! ****************************************************************************
  4. ;; ! Function : Check if point is in current viewport
  5. ;; ! Auguments: 'pt'  - The point to be checked
  6. ;; ! Return   : T or nil depending on 'pt' is in viewport or not
  7. ;; ! Updated  : April 22, 1998
  8. ;; ! (C) 1999-2004, Four Dimension Technologies, Bangalore
  9. ;; ! e-mail   : [email]rakesh.rao@4d-technologies.com[/email]
  10. ;; ! Web      : [url]www.4d-technologies.com[/url]
  11. ;; ! ****************************************************************************
  12. ;; 测试点是否在当前视口
  13. (defun GE_PntInView (pt / vc Y_Len ssz X_Pix Y_Pix X_Len ll ur)
  14.   (setq
  15.     vc          (getvar "VIEWCTR")
  16.     Y_Len (getvar "VIEWSIZE")
  17.     ssz          (getvar "SCREENSIZE")
  18.     X_Pix (car ssz)
  19.     Y_Pix (cadr ssz)
  20.     X_Len (* (/ X_Pix Y_Pix) Y_Len)
  21.     ll          (polar vc (MI_d2r 180.0) (* 0.5 X_Len))
  22.     ur          (polar ll 0.0 X_Len)
  23.     ll          (polar ll (MI_d2r 270.0) (* 0.5 Y_Len))
  24.     ur          (polar ur (MI_d2r 90.0) (* 0.5 Y_Len))
  25.   )

  26.   (if (and
  27.         (> (car pt) (car ll))
  28.         (< (car pt) (car ur))
  29.         (> (cadr pt) (cadr ll))
  30.         (< (cadr pt) (cadr ur))
  31.       )
  32.     T
  33.     nil
  34.   )
  35. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 07:19 , Processed in 0.178784 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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