soundboy 发表于 2004-7-2 17:25:00

如何删除一个层

如何删除一个非当前数据库的层。
就是删除AcDbLayerTableRecord记录。

boaosun 发表于 2004-7-2 21:41:00

void Cad_LayerDelete(CString LayerName)
//图层删除
//LayerName为图层名称
{        AcDbLayerTable * pLayerTbl;//定义层表指针
       AcDbLayerTableRecord * pLayerTblRcd; //定义层表记录指针
       Cad_SetCurLayer("0");                                       //设置为当前图层
       Cad_LayerClear(LayerName); //删除图层所有对象
       acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayerTbl,AcDb::kForWrite); //以写方式打开层表,获得层表指针
        if (pLayerTbl->getAt(LayerName,pLayerTblRcd,AcDb::kForWrite)==Acad::eOk)
       {
                       pLayerTblRcd->erase(true);       //删除图层
       }
        pLayerTblRcd->close(); //关闭层表记录
        pLayerTbl->close(); //关闭层表
}
页: [1]
查看完整版本: 如何删除一个层