Ao arquivar um fluxo de dados de grupo, um único objeto pode ser composto de vários membros de preenchimento, um para cada nível de herança onde o arquivamento é feito. Como as classes derivadas e os níveis de herança podem evoluir separadamente, os dados de cada membro de arquivamento de classe deve ser diferenciados dos outros membros. Isto é obtido com marcadores de subclasse.
Todos os membros da classe devem preceder sua porção específica de classe de dados de instância com um marcador de “subclasse”; um código de grupo 100 seguido de uma sequência de caracteres com o nome real da classe. Isso não afeta o estado necessário para definir o estado do objeto, mas fornece um meio para os analisadores de arquivo DXF para direcionar os códigos de grupo para o software de aplicativo correspondente.
Por exemplo, um objeto que possui dados de diferentes classes derivadas pode ser representado da seguinte forma:
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