zjh0603 发表于 2013-10-23 16:01:56

设置当前层

我用的是vs2010+cad2013,新建图层并设置为当前层,为什么不行呢?

zjh0603 发表于 2013-10-23 16:03:18

AcDbLayerTable *pLayer;
                acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayer,AcDb::kForWrite);
                if(pLayer->has(AA))
                {
                        pLayer->close();
                        return;
                }
                AcDbLayerTableRecord *pLayerRec=new AcDbLayerTableRecord;
                pLayerRec->setName(AA);
                AcDbObjectId layerTblRcdId;
                pLayer->add(layerTblRcdId,pLayerRec);

                acdbHostApplicationServices()->workingDatabase()->setClayer(layerTblRcdId);

      pLayerRec->close();
                pLayer->close();

yanguiming 发表于 2013-11-1 17:17:44


          应该行关闭图层指针,再设置图层      
就是先pLayerRec->close();
               pLayer->close();

acdbHostApplicationServices()->workingDatabase()->setClayer(layerTblRcdId);
你可以用Acad::ErrorStatus es = acdbHostApplicationServices()->workingDatabase()->setClayer(layerTblRcdId);
看看es就知道为什么不行了

zjh0603 发表于 2013-11-15 15:29:50

谢谢指点。
页: [1]
查看完整版本: 设置当前层