找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 202|回复: 0

[每日一码] UCS点是否在屏幕显示

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-2-26 09:30:02 | 显示全部楼层 |阅读模式
  1. UCS不与屏幕平行时可以这样
  2. BOOL ptInView(AcGePoint3d pt)
  3. {
  4.     resbuf rb;
  5.      acedGetVar(采用T("SCREENSIZE"),&rb);
  6.     CRect CADrect;
  7.     acedGetAcadDwgView()->GetClientRect(CADrect);
  8.     int num=acedGetWinNum(CADrect.left,CADrect.top);
  9.     AcGeMatrix mat;
  10.     acedGetCurrentUCS(mat);
  11.     mat.inverse();
  12.     pt.transformBy(mat);
  13.     CPoint cp;
  14.     acedCoordFromWorldToPixel(num,asDblArray(pt),cp);
  15.       return (cp.x<0 | cp.y<0 | cp.x>rb.resval.rpoint[0] | cp.y>rb.resval.rpoint[1]) ? FALSE : TRUE;
  16. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 14:05 , Processed in 0.147156 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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