entities.cpp
来自「对autocad图形数据库中的图形进行编辑」· C++ 代码 · 共 57 行
CPP
57 行
#include<HeadFile.h>
AcDbobjectId createNewLine()
{
AcGePoint3d startPoint(5.0,4.0,0.0);
AcGePoint3d endPoint(5.0,4.0,0.0);
AcDbLine *pLine=new AcDbLine(startPoint,endPoint);
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingdatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForRead);
pBlockTable->close();
AcDbobjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId,pLine);
pBlockTableRecord->close();
pLine->close();
return lineId;
}
AcDbobjectId createNewCircle()
{
AcGePoint3d center(10.0,7.0,0.0);
AcGePoint3d normal(0.0,0.0,1.0);
AcDbCircle *pCirc=new AcDbCircle(center,normal,4.5);
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingdatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForRead);
pBlockTable->close();
AcDbobjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId,pCirc);
pBlockTableRecord->close();
pCirc->close();
return lineId;
}
AcDbobjectId createNewLayer()
{
AcDbLayerTable *pLayerTable;
acdbHostApplicationServices()->workingdatabase()->getSymbolTable(pLayerTable,AcDb::kForRead);
AcDbLayerTableRecord *pLayerTableRecord=new AcDbLayerTableRecord;
pLayerTableRecord->setName("MYNewLayer");
pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForRead);
pBlockTable->close();
AcDbobjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId,pCirc);
pBlockTableRecord->close();
pCirc->close();
return lineId;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?