我新建一个图层,然后添加到后台一个新建的图形数据库中(此处必须是后台新建的数据库),并保存为test2.dwg,但是打开test2.dwg文件后,新建的图层一直没有创建成功。 void createNewLayer(AcDbDatabase *pDb) { AcDbDatabase * pCurDb = pDb; AcDbLayerTable *pLayerTable; pCurDb = acdbHostApplicationServices()->workingDatabase() ->getSymbolTable(pLayerTable, AcDb::kForWrite); AcDbLayerTableRecord *pLayerTableRecord = new AcDbLayerTableRecord; pLayerTableRecord->setName("ASDK_MYLAYER"); // 如果没有指定层的其他属性,就使用缺省值 pLayerTable->add(pLayerTableRecord); pLayerTable->close(); pLayerTableRecord->close(); } void createDwg2(pDb) { AcDbDatabase *pDb = new AcDbDatabase(); createNewLayer(); pDb->saveAs("c:\\test2.dwg"); delete pDb; } 是不是该段代码有问题, pCurDb = acdbHostApplicationServices()->workingDatabase() ->getSymbolTable(pLayerTable, AcDb::kForWrite); 此处是打开的是当前的数据库,但是我从书中和网络上看到的新建图层都是这样操作的,不知该如何更改 |