About Classification

Any node in any library (except document libraries) can "classify" the items it contains. That is, any item placed in that library node, also referred to as class, acquires the set of attributes that define the class.

This page discusses:

Attribute Groups

Library nodes define classes by dictating a set of attributes that make up that class.

For example, if we have a Part Library with a Part Family class node called "Screws", and the "Screws" class is assigned the "Thread pitch" and "length" attributes, then any part added into the "Screws" part family acquires the attributes of a screw, which are Thread pitch and length.

In this example, two attributes were associated with the Screws part family. Instead of individually assigned attributes, you can cluster attributes associated with a class into groups. Any given class can have any number of attribute groups. For example, the class "Screw" could pick up a Pricing attribute group in addition to TpiAndLen (an attribute group that contains Thread pitch and length).

Attribute groups can also be inherited from a class to its children. See About Attribute Inheritance.

Classified Items Acquire Attributes

The attributes (groups) that define a class become part of the classified items that get put into that class.

If Part PT-00059 Rev A gets put into "Screws," that particular Part instance acquires attributes (groups) dictated by Screw and the user can see and edit those attributes as described in the IP Classification User's Guide. The "Screw" Part Family itself does not instantiate the attributes in any way that the user can view or edit values, for example, the user could not make the length of "Screws" be 2in, only of a specific part within the Part Family (that is, PT-00059 Rev A).

Also, when PT-00059 Rev A gets classified as a Screw and it acquires the attributes of a Screw, it does not automatically acquire any values for those attributes. Whatever the default value is as defined for that attribute (typically zero, or an empty string) is what will be in that attribute at the time that it is acquired, until the user edits the part and puts in values for those attributes.

Attribute Uniqueness

You could define a class that includes the same attribute in more than one group. This situation can arise in many ways, including intentionally, but also unintentionally due to the Librarian's ability to modify attribute groups and library structure at any time. When a class has duplicate attributes, instances of objects of that class will actually only instantiate the replicated attributes once.

The uniqueness of an attribute applies also in the case where an attribute acquired by classification is also present in the object's base type. For example, if Part has attribute Length, and Screw has Length in some attribute group, then a Part classified as Screw has only one Length attribute, though it may appear in the user interface in 2 places.