- 积分
- 252
- 明经币
- 个
- 注册时间
- 2006-3-14
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
用选择集,
获得窗口的四个角点的坐标
{
AcGePoint3d g_leftLower,g_rightLower,g_rightHigh,g_leftHigh;//当前屏幕的4个角的点。
AcGePoint3d scen;
resbuf vctr,vsize,ssize;
ads_getvar(_T( "VIEWCTR" ),&vctr);
scen=asPnt3d(vctr.resval.rpoint);
ads_getvar(_T( "VIEWSIZE" ),&vsize);
double high=vsize.resval.rreal;
g_dViewHeight = high;
ads_getvar(_T( "SCREENSIZE" ),&ssize);
double scale=ssize.resval.rpoint[X]/ssize.resval.rpoint[Y];
double xoffset=high*scale/2,yoffset=high/2;
AcGeVector3d mvec1(-xoffset,-yoffset,0),mvec2(xoffset,-yoffset,0),mvec3(xoffset,yoffset,0),mvec4(-xoffset,yoffset,0);
g_leftLower = scen+mvec1;
g_rightLower = scen+mvec2;
g_rightHigh = scen+mvec3;
g_leftHigh = scen+mvec4;
ads_ssget(str,g_leftHigh, g_rightLower, entmask, ss);//获得当前视口显示的所有实体
}
在二维下没有问题,可以选择到当前视口的所有实体,但是在三维下就只能选到部分。
各位帮忙看一下,
cad有没有直接选择到当前视口的方法呀,(是当前视口中的实体,不要A选) |
|