要创建匿名层,您需要调用“AcDbLayerTableRecord::setIsHidden()”API,如下代码所示。匿名层不会显示在层管理器中,因此用户无法编辑/删除匿名层的设置。
代码如下:
//壹加工具,2025年1月17日AcDbObjectId layerId = AcDbObjectId::kNull;AcDbLayerTable* lTable = NULL;Acad::ErrorStatus es = acdbCurDwg()->getSymbolTable(lTable, AcDb::kForWrite);if(Acad::eOk == es && lTable){AcDbLayerTableRecord* lTblRec = new AcDbLayerTableRecord();lTblRec->setName(ACRX_T("TEST"));lTblRec->setIsHidden(true);//这句是关键if (lTable->add(layerId, lTblRec) != Acad::eOk)::acutPrintf(_T("ERROR Creating Layer "));elselTblRec->close();lTable->close();}

图层管理中确实看不到TEST这个图层,但通过ArxDbg工具,是可以看到这个匿名图层的。
