这个函数错在哪了,求救!!
取得选择集包围盒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(pt1extent.minPoint()||pt2>extent.minPoint())
pt2=extent.minPoint();
pEnt->close();
}
maxpt=pt1;
maxpt=pt1;
maxpt=pt1;
minpt=pt2;
minpt=pt2;
minpt=pt2; return TR;}
这个函数很多地方出错了。
另外,AcDbExtents 可以直接用AddExt方法的。即直接添加进去。
对于AcDbReference,最好用geomExtentsBestFit
页:
[1]