明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 957|回复: 1

这个函数错在哪了,求救!!

[复制链接]
发表于 2014-12-12 10:10 | 显示全部楼层 |阅读模式

取得选择集包围盒
BOOL GetSSExtents(ads_name ss, ads_point &maxpt, ads_point &minpt)
{
        long len;
        int ret=ads_sslength(ss,&len);
        if(ret!=RTNORM||len<1) return FALSE;
        AcDbObjectId objId;
        ads_name ename;
        AcDbEntity *pEnt;
        AcDbExtents extent;
        AcGePoint3d pt1,pt2;
        ads_ssname (ss, 0, ename);
        acdbGetObjectId(objId,ename);
        acdbOpenObject(pEnt,objId,AcDb::kForRead);
        pEnt->getGeomExtents(extent);
        pt1=extent.maxPoint();
        pt2=extent.minPoint();
        pEnt->close();
        for(int i=0;igetGeomExtents(extent);
                if(pt1[X]extent.minPoint()[X]||pt2[Y]>extent.minPoint()[Y])
                        pt2=extent.minPoint();
                pEnt->close();
        }
        maxpt[X]=pt1[X];
        maxpt[Y]=pt1[Y];
        maxpt[Z]=pt1[Z];
        
        minpt[X]=pt2[X];
        minpt[Y]=pt2[Y];
        minpt[Z]=pt2[Z];

        return TR;

}


发表于 2014-12-14 11:01 | 显示全部楼层
这个函数很多地方出错了。
另外,AcDbExtents 可以直接用AddExt方法的。即直接添加进去。
对于AcDbReference,最好用geomExtentsBestFit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 17:12 , Processed in 0.310878 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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