请教ARX里的图层问题
void CCmd::cmdDrawInterect()
{
CString strEntity=AcDbLine::desc()/*->isA()*/->name()+CString(_T(","))+AcDbCircle::desc()/*->isA()*/->name();
// 取得线
CArxSelect sel;
AcDbObjectIdArray arr;
if ( !sel.SelectEntity(arr,_T("LINE,CIRCLE"), true) || arr.isEmpty() )
{
acutPrintf(_T("没有选择到合适的线!\n"));
return;
}
// 过滤
CQueryAcDb qu;
CEfLayer ly(getLayers());
AcDbObjectIdArray arrLines;
qu.GetEntity(arr, arrLines, &ly);
CEfName nm(AcDbCircle::desc()->name());
qu.GetEntity(arr, arrLines, &nm);
if ( arr.isEmpty() )
{
acutPrintf(_T("没有选择到合适的线!\n"));
return;
}
---------------------------------------------------------------------------------------------
只选择指定几个图层的直线和圆 怎么改一下?类似LISP中的(ssget '((0 . "line")(8 . "0,1")))
请高手指点 谢谢!!
既然用了arx,为什么不直接用ssget????
ssget有个过滤选择的功能 用acedSSGet很方便的。
页:
[1]