Lors du classement d'un flux de données de groupe, un objet unique peut être composé de plusieurs membres classeurs, un pour chaque niveau d'héritage où le classement s'effectue. Dans la mesure où les classes dérivées et les niveaux d'héritage peuvent évoluer séparément, il est nécessaire de séparer les données de chaque membre classeur de classe. Ceci s'effectue au moyen de marqueurs de sous-classe.
Tous les membres classeurs de classe doivent faire précéder leur partie spécifique à la classe des données d'instance par un marqueur de “sous-classe“—un code de groupe 100 suivi d'une chaîne comportant le nom réel de la classe. Cela n'affecte pas l'état requis pour définir l'état de l'objet mais offre aux analyseurs de fichiers DXF un moyen d'orienter les codes de groupe vers les applications correspondantes.
Par exemple, un objet comportant des données de différentes classes dérivées serait représenté de la manière suivante :
999 FOOGRANDCHILD, defined by class AcDbSonOfSonOfFoo, which 999 is derived from AcDbSonOfFoo 0 FOOGRANDCHILD 5 C2 100 AcDbFoo 999 Uses 10/20/30 group codes 10 1.1 20 2.3 30 7.3 100 AcDbSonOfFoo 999 Also uses 10/20/30 group codes, for a different purpose 10 1.1 20 2.3 30 7.3 100 AcDbSonOfSonOfFoo 999 Also uses 10/20/30 group codes, for yet another purpose 10 13.2 20 23.1 30 31.2 999 Now for the Xdata 1001 APP_1 1070 45 1001 APP_2 1004 18A5B3EF2C199A