要创建匿名层,您需要调用“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 "));
else
lTblRec->close();
lTable->close();
}
图层管理中确实看不到TEST这个图层,但通过ArxDbg工具,是可以看到这个匿名图层的。
下一篇:没有了!