乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 11|回复: 0

问:怎么获得当前视口显示的所有实体

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2011-4-7 15:43:00 | 显示全部楼层 |阅读模式
用选择集,
获得窗口的四个角点的坐标
{
                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选)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 16:51 , Processed in 0.350500 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表