You must override the subExplode() function of a custom entity for the AutoCAD commands BHATCH and EXPLODE to work. Your subExplode() function should break the entity down into less complex entities. The native entities upon which BHATCH can operate directly are AcDb2dPolyline, AcDb3dPolyline, AcDbPolyline, AcDbText, AcDbMText, AcDbShape, AcDbTrace, AcDbSolid, AcDbFace, AcDbViewport, AcDbFcf, AcDbDimension, AcDbRegion, AcDbBlockReference, and AcDbHatch.