软件架构师何志丹
static void BJJMyGroupMyCommand () {
while ( true )
{
ads_point adsPt;
ads_name entName;
AcDbObjectId entId;
AcDbEntity* pEnt;
if(acedEntSel(_T("\n请选择实体或<Esc键退出>:"), entName, adsPt) != RTNORM)
return ;
acdbGetObjectId(entId, entName);
if (acdbOpenObject(pEnt, entId, AcDb::kForRead) != Acad::eOk)
return ;
while ( true )
{
ads_point adsPt;
ads_name entName;
AcDbObjectId entId;
AcDbEntity* pEnt;
if(acedEntSel(_T("\n请选择实体或<Esc键退出>:"), entName, adsPt) != RTNORM)
return ;
acdbGetObjectId(entId, entName);
if (acdbOpenObject(pEnt, entId, AcDb::kForRead) != Acad::eOk)
return ;
acutPrintf(_T("Name:"));
acutPrintf(pEnt->isA()->name());
acutPrintf(_T("\r\n"));
acutPrintf(pEnt->isA()->name());
acutPrintf(_T("\r\n"));
pEnt->close();
}
}
}
}
部分实体的继承关系
// AcDbEntity
// AcDbText
// AcDbAttribute
// AcDbAttributeDefinition
// AcDbBlockBegin
// AcDbBlockEnd
// AcDbSequenceEnd
// AcDbBlockReference
// AcDbMInsertBlock
// AcDbVertex
// AcDb2dVertex
// AcDb3dPolylineVertex
// AcDbPolygonMeshVertex
// AcDbPolyFaceMeshVertex
// AcDbFaceRecord
// AcDbCurve
// AcDbPolyline
// AcDb2dPolyline
// AcDb3dPolyline
// AcDbArc
// AcDbCircle
// AcDbLine
// AcDbMline
// AcDbPoint
// AcDbFace
// AcDbPolyFaceMesh
// AcDbPolygonMesh
// AcDbTrace
// AcDbSolid
// AcDbShape
// AcDbViewport
// AcDbText
// AcDbAttribute
// AcDbAttributeDefinition
// AcDbBlockBegin
// AcDbBlockEnd
// AcDbSequenceEnd
// AcDbBlockReference
// AcDbMInsertBlock
// AcDbVertex
// AcDb2dVertex
// AcDb3dPolylineVertex
// AcDbPolygonMeshVertex
// AcDbPolyFaceMeshVertex
// AcDbFaceRecord
// AcDbCurve
// AcDbPolyline
// AcDb2dPolyline
// AcDb3dPolyline
// AcDbArc
// AcDbCircle
// AcDbLine
// AcDbMline
// AcDbPoint
// AcDbFace
// AcDbPolyFaceMesh
// AcDbPolygonMesh
// AcDbTrace
// AcDbSolid
// AcDbShape
// AcDbViewport