The AcDbEntity class provides two transformation functions:
The transformBy() function modifies the entity using the specified matrix. In AutoCAD, it is called by the grip move, rotate, scale, and mirror modes. In some cases, however, applying the transformation requires that a new entity be created. In such cases, the getTransformedCopy() function is used so that the resulting entity can be an instance of a different class than the original entity.
When you explode a block reference that has been non-uniformly scaled, the getTransformedCopy() function is called on the entities in the block reference to create the new entities (see "Exploding Entities").