A subentity path uniquely identifies a subentity within a particular entity in a drawing. This path, of class AcDbFullSubentPath, consists of an array of object IDs and a subentity ID object:
{AcDbObjectIdArray mObjectIds; AcDbSubentId mSubentId; }
The array contains the object IDs that specify the path to the “main” entity. For example, a block reference (an entity that references a block table record) might contain two boxes, each of type AcDb3dSolid. The object ID array contains two entries: the ID of the block reference, followed by the ID of the main entity [InsertID, SolidID].
The second element of an AcDbFullSubentPath is an AcDbSubentId object, which has a subentity type (vertex, edge, or face) and the index of the subentity in the list. Use the AcDbSubentId functions type() and index() to access the member data.
Using the previous example, the second edge of the solid will have its AcDbFullSubentPath as
{(InsertID, solid1ID) (kEdgeSubentType, 2)};
If you have a solid only, AcDbFullSubentPath would be as follows for the first face of the solid.
{(solidID) (kFaceSubentType, 1)};