选择指定图层上的所有实体
Acad::ErrorStatus selectEntityInLayer(const char* nLayerName,AcDbObjectIdArray& nIDs) { Acad::ErrorStatus es = Acad::eOk; ads_name ents; struct resbuf *rb; rb=acutNewRb(AcDb::kDxfLayerName); rb->restype=8; rb->resval.rstring=(char*)nLayerName; rb->rbnext=NULL; acedSSGet("X",NULL,NULL,rb,ents); long entNums=0; acedSSLength(ents,&entNums); if (entNums == 0) es = Acad::eInvalidInput; else { for (long a = 0; a < entNums ; a ++) { AcDbObjectId objId; ads_name ent; acedSSName(ents,a,ent); acdbGetObjectId(objId, ent); nIDs.append(objId); } } acedSSFree(ents); acutRelRb(rb); return es; }
作者:Dozeoo
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。