|
目的是框选实体,被选择实体改变颜色 以下是代码:
acedInitGet(32,NULL);
ads_point pt,result;//分别为框选两角点
if(acedGetPoint(NULL,"\npoint\n",pt)!=RTNORM) //第一角点选择
return;
if(acedGetCorner(pt,"\ncorner\n",result)!=RTNORM)//框选
return;
ads_name ents;
if(acedSSGet("C",pt,result,NULL,ents)!=RTNORM)//取实体
return;
ads_name ent;
acedSSName(ents,0,ent);//取第一个实体
AcDbObjectId objId;
acdbGetObjectId(objId, ent);
AcDbEntity *pent;
acdbOpenObject(pent,objId,AcDb::kForWrite,false);//打开实体以编辑
AcCmColor color;
color.setRGB(255,0,0);
if(pent!=NULL)
pent->setColor(color,Adesk::kTrue); //这步失败,察看pent=0xcccccc
else
acedAlert("Failure");
pent->close();
|
|