Hi Ding,
This combination (DB_71(0)) is returned by IGESData_IGESEntity::NameValue().
Handle(TCollection_HAsciiString) IGESData_IGESEntity::NameValue () const
{
Handle(TCollection_HAsciiString) nom; // au depart vide
// Question : concatene-t-on le SubScript ? Oui, forme label(subscript)
Standard_Integer nbname = NbTypedProperties(STANDARD_TYPE(IGESData_NameEntity));
if (nbname == 0) {
if (!HasShortLabel()) return nom;
if (theSubScriptN < 0) return theShortLabel;
char lenom[50];
sprintf (lenom,"%s(%d)",theShortLabel->ToCString(),theSubScriptN);
nom = new TCollection_HAsciiString (lenom);
}
else if (nbname > 0) {
DeclareAndCast(IGESData_NameEntity,name,
TypedProperty(STANDARD_TYPE(IGESData_NameEntity), 1));
nom = name->Value();
}
return nom;
}
And it looks like an appropriate way. Here is what the IGES standard says:
2.2.4.4.18 Entity Label. This is the application-specified alphanumeric identifier or name for this entity. It is used in conjunction with the entity subscript number (Field 19) to provide the application-specified alphanumeric identifier for the entity. The entity label is right-justified within the field with leading space fill.
Up to eight alphanumeric characters (right justified), or NULL (default).
2.2.4.4.19 Entity Subscript Number. This is a numeric qualifier for the entity label (Field 18).
1 to 8 digit unsigned number associated with the entity label.
So it looks like IGES does not assume usage of the label without a subscript number. To achieve that however there is the Name entity which is used if it’s present. However, as Catia stores names using entity labels, OCC reads them in concatenating with subscript number.
Hope this helps.
Commenter-2
---
opencascade.blogspot.com - the Open CASCADE blog
www.cadexchanger.com - CAD Exchanger, your 3D data translator