///////////////////////////////////////////////////////////////////////////////////// AcGePoint3d ptStart(x1, y1, 0.0); AcGePoint3d ptEnd(x2, y2, 0.0); AcDbLine *pLine = new AcDbLine(ptStart, ptEnd); //获得指向快表的指针 AcDbBlockTable *pBlockTable; pDb->getSymbolTable(pBlockTable, AcDb::kForRead);
//获得指向特定的快表记录(模型空间)的指针 AcDbBlockTableRecord *pBlockTableRecord; pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite); pBlockTable->close(); //将AcDbLine类的对象添加到快表记录中 AcDbObjectId lineId; pBlockTableRecord->appendAcDbEntity(lineId, pLine);
//关闭图形数据库的各种对象 pBlockTableRecord->close();
pLine->setLayer("虚线层"); pLine->setColorIndex(3); pLine->close(); return lineId; ///////////////////////////////////////////////////////////////////////////////////// 在上述代码中,设置图层setLayer的时候不起作用,线的图层一直是0,设置颜色起作用,不知道为什么,请高手指点 |