ObjectARX点取一个图形,删除相同类型的图形,选择集
开发环境-VS2008+ARX2010+CAD2010
(1)使用向导创建一个新项目,同时新建命令
思路:① 删除和选中图形同类型的图形,主要是得获取到选中图形的一些信息,如图层,颜色,线段类型,图层可以使用pEnt->layer()来获取,颜色类似。
② 但是类型需要自己去自定义,按照DXF的格式,圆 = “CIRCLE”, 直线 = “LINE” , 多段线 = “LWPOLYLINE”。之后便是使用选择集、过滤器的 “X”过滤模式来删除选择集了
入口函数代码如下:
ads_name entName;
ads_point pt;
if (acedEntSel(_T("\n请选择实体:"), entName, pt) != RTNORM)
{
return;
}
AcDbObjectId objId;
if (acdbGetObjectId(objId, entName) != Acad::eOk)
{
return;
}
AcDbEntity *pEnt = NULL;
if (acdbOpenObject(pEnt, objId, AcDb::kForRead) != Acad::eOk)
{
return;
}
CString sLayerName = pEnt->layer(); //获得图层
int colorIndex