Classification Admin
Classification Admin
Teamcenter 12.0
Classification Admin
PLM00024 • 12.0
Contents
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Figures
Caution
This grants all users access to the application.
Note
You can log on to Teamcenter only once. If you try to log on to
more than one workstation at a time, you see an error message.
Tab Description
Dictionary Displays the Dictionary pane for creating and maintaining attribute
definitions.
Key-LOV Displays the Key-LOV pane for creating and maintaining lists of legal
attribute values.
GCS Types Displays the GCS Types pane for creating and maintaining data
required by the guided component search.
Note
You can customize group and class symbols. Therefore, the default symbols displayed in
the following table may not represent those used at your site.
Note
Subclasses are intended for use only with
existing SML hierarchy data and should not be
created for new additions to the Classification
hierarchy. Use abstract and storage classes
instead.
Some applications use a perspective with multiple views to arrange how functionality is presented.
Other applications use a perspective with a single view.
You can use the HiddenPerspectives preference to prevent the display of some Teamcenter
perspectives in the rich client.
If your site has online help installed, you can access application and view help from the rich client
Help menu or by pressing F1.
• Data sharing
Classification hierarchy data—class, view, attribute, and key-LOV definitions—can be shared with
one or more remote sites, using basic Multi-Site Collaboration concepts.
• Classes
Classes define the attributes that are stored for classified objects and determine which attributes
are inherited by other classes. They are the primary building blocks of the Classification system.
You can create a class within a class to build a hierarchy structure.
Classification defines two types of classes:
o Abstract
Abstract classes are used primarily to gather common attributes that are inherited by child
(descendant) classes.
o Storage
Storage classes are used to stores ICOs, that can be related to workspace objects.
Classes can be flagged as assembly classes to enable the attribute values of the classified
item to be propagated from individual components within the resource assembly structure in
the Resource Manager application.
Classes can be nested into other classes. The only limitation on the level to which classes can be
nested are those imposed by attribute inheritance.
• Views
Views enable you to define how a class is displayed in the Classification application by setting
attribute protections and hiding class attributes on a user, group, role, or project basis. View
objects are created and managed in the Classification Admin application. The correct view is
automatically set for a user in the Classification application (and cannot be dynamically changed).
You can create, remove, and modify views without any impact to the Classification data.
• SML subclasses
An SML subclass comprises a subset of class attributes and is used to narrow the display of SML
class attributes for specific users or categories of items.
SML subclasses inherit the attributes of their parent classes. However, unlike classes, which
inherit every attribute of their parent classes and cannot be edited, you can define which inherited
attributes are assigned to a subclass.
Warning
Subclasses are intended for use only with existing SML hierarchy data and should not
be created for new additions to the classification hierarchy. Abstract and storage
classes should be used instead.
• Create and manage the attribute dictionary to store attributes for reuse.
• Create and manage the key-LOVs you need to select attribute values.
• Share hierarchy data, class, view, attribute, and key-LOV definitions with one or more remote
sites.
• Configure the guided component search used in Resource Manager or Structure Manager.
• Edit→Cut
• Edit→Copy
• Edit→Paste
• Edit→Delete
Localizing Classification
When localizing Classification, there are several points to note:
• You must install the Classification template in TEM before you start.
• In Teamcenter, you cannot provide a translation if the master value is not set. But in Classification,
you can provide a translation for a display name immediately, before saving. In view mode, you
can see the translations but you cannot edit them.
• In the properties of the dictionary, you cannot edit the translations until you add a master value in
the dialog box (but you do not have to save it, you simply have to type something).
• You can inherit default class values and overwrite the translations at the class level.
• You cannot enter more characters for a translation than are allowed by the string length in the
dictionary.
• With inherited values, you cannot edit or view translations. You must do that at the parent object
level.
• All key-LOV, all entries must have approved localized values when you log into the localized rich
client before any entry’s localized value is displayed. If one of the entries for the localized values
is not approved, all key-LOV values display the master value, although some translations may
already have an approved status.
• If localization is enabled for Classification, all Classification users can see the Localization
button. However, Classification users must either have dba privileges or be granted specific
translation access privileges to enter translations.
• In Classification Admin, you can export translations without translation privileges, but you must
have translation privileges to import translations. Similarly, you must have translation privileges to
import translations using the l10n_import_export utility.
• When exporting translations, the Classification user should always use the transfer modes that
begin with ICSL10N.
• If you want to work with unit definitions in another locale, you must import the unit definition file
corresponding to that locale using the l10n_import_export utility. The localized unit definition
files are located in the following directory:
Teamcenter_root_directory\l10n_cots
For example, if you want to see German unit definitions, import using the following command:
l10n_import_export -u=user-name -p=password -g=group-name -mode=import
-file=L10N_classification_unit_definitions.xml
Alternatively, you can import the unit definition file using the Import translated objects button in
the Classification Admin application.
• When localization is enabled, attempting to import a PLM XML file containing key-LOVs that have
blank values causes errors in the import and the key-LOVs are not imported. The classification
attribute shows question mark symbols in the Classification application in place of the attributes.
To correct this, you must edit the PLM XML file manually, adding the missing values, and run
the plmxml_import utility again to import the updated file. This replaces the question mark
symbols in the user interface with valid values.
Administering Classification
Teamcenter provides you with the following utilities to administer Classification from a Teamcenter
command window:
• icsutility
Imports classification data, including class definitions, attributes, and key-LOVs, as well as
Resource Manager resource assemblies.
• icsxml
Exports classification data using XML files.
• ics_connect
Associates classification objects (ICOs) with workspace objects, based on item ID.
• smlutility
Updates shared classification hierarchy definitions to all sites with which they are shared.
2. Move down the hierarchy by clicking the plus sign (+) in front of the name of the class you want to
open. You can right-click any class and choose Expand All to open all child classes.
Only the classes under the Classification Root node, however, are displayed in the Classification
application, in the Classification Search Dialog, or in Resource Browser. The classes above this
node, under the SAM Classification Root node, are administrative classes.
When running a search in Resource Browser, you may see members of administrative classes
displayed in the search results.
To add, remove, or modify classification objects in administrative classes, you must move them
temporarily below the Classification Root node, modify them, and then move them back under the
SAM Classification Root node to protect them from modification.
• To move one level up the tree, click the second-to-the-last graphic in the list of graphics
at the top.
• To select a class, click the link below the graphic of the class you want to open. If the class
you are selecting is a leaf node, clicking the link also selects it.
• To select a leaf class (a graphic with a blue border), click the class or click the link below
the graphic.
4. Modify the graphic size by moving the slider at the right of the browser pane to the right to enlarge
the graphics and moving it to the left to make them smaller.
2. Select the node that you designate as the new root node in your classification tree.
Teamcenter displays the name and symbol of the new root class in the title bar.
3. (Optional) Display the full tree again by selecting Classification Root from the options list.
2. In the title bar of the hierarchy pane, click to display the root node selection list.
- or -
• Modify the entries in the ICS_default_root_selector_entries preference.
These entries are then available the next time you open the root node selection list.
2. Right-click the class that you want to remove from the list and choose Remove.
• Objects are classified. The ICO count does not update automatically.
If you add attributes in Classification Admin to a class that you are currently viewing in Classification,
you must refresh the class in Classification using the Refresh button or by selecting another class
and returning to the viewed class to see the newly added attributes.
You can configure the entries in the search by type list in the
g4mDragIcon.searchTypes.Types property in the common.properties file found in
TC_ROOT\portal\plugins\com.teamcenter.rac.tcapps_version_number.jar\
com\teamcenter\rac\classification\common.
Create a group
You use groups to organize related classes within the classification hierarchy. For example, you
can create a fasteners group to organize all of the classes of fasteners used by your company. If
the fasteners are standard parts, you can then create a standard parts group and associate the
fasteners group as a subgroup of standard parts. In this example, the standard parts group is
considered the parent of the fasteners group. You can also modify the placement of a group within
the hierarchy by changing the group's parent.
1. Click the Hierarchy tab.
The system displays the Hierarchy pane.
2. Display the Add New Group dialog box by performing either of the following substeps:
Note
You can select only the root node and other group nodes as a parent group. Classes
cannot be parents to groups.
a. Choose the node in the hierarchy tree to serve as the parent of the newly created group. You
can use either the quick search feature or the Search Class dialog box to quickly locate a
parent group.
-or-
a. Right-click the node in the hierarchy tree to serve as the parent of the newly created group.
Note
Only groups that you create under the ICM node are visible in the Classification
application.
If you want to use a special character in the ID, you can modify the
ICS_allowed_chars_for_class_id preference.
Note
After the group ID is assigned, the Group Definition pane displays information about
the group, including object type, group ID, and the name of the group parent. You can
now define a name for the group.
Note
You can click the Cancel button at any time prior to saving the new group to clear the
form and remove the allocated group ID from the database.
6. Click Save .
Teamcenter displays the Add New Group dialog box.
At this point, you can create a new class to add to the group by clicking the Add Class button.
2. Click the Edit button . You must be in edit mode to modify a group definition.
Note
You can click the Cancel button at any time prior to saving the modifications to clear
the form and revert to the previous definition.
Note
Changing the parent of a group affects the group's placement within the hierarchy.
4. Click Save .
Delete a group
1. Choose the group or subgroup in the hierarchy that you want to delete. You can use either the
quick search feature or the Search Class dialog box to quickly locate the group that you want to
delete. The Group Definition pane displays information about the group, including object type,
group ID, and the name of the group's parent.
Note
If you are using Multi-Site Collaboration, you must first remove the remote sites from
the list of shared sites for the group and its classes and delete the group at all sites.
2. Locate and choose an appropriate image file to be associated with the group or class and click
Open.
Teamcenter displays the image in the image viewer.
Note
If the image does not immediately load in the image viewer, reselect the node in the
hierarchy. This action starts the image loading process.
Classification hierarchy
Note
A class can contain a maximum of 200 attributes, both inherited and local.
attribute values are synchronized between multiple instances of a single object, when this option is
active, users can potentially create instances that are exact duplicates. Therefore, Siemens PLM
Software recommends that you disable synchronization of at least one attribute by applying the
Local Value property. This property is applied on an attribute-by-attribute basis at the class level. In
addition to preventing synchronization between multiple instances of a single object stored in the
same class, the Local Value property also prevents synchronization of values between multiple
instances of a single object stored in different classes.
Create a class
The process of creating a class consists of identifying the class in the database, assigning attributes
to the class, assigning properties to the attributes, and saving the class definition.
1. Click the Hierarchy tab.
Teamcenter displays the Hierarchy pane.
2. Display the Add New Class dialog box using one of the following methods:
a. Choose the group, abstract class, or storage class in the hierarchy tree that will be the
parent of the new class.
b. Click the Add Class button located at the bottom of the class definition pane.
-or-
a. Right-click the node in the hierarchy tree that will serve as the parent of the newly created
class.
Teamcenter displays the Add New Class dialog box. You use this dialog box to create and
reserve an ID for the new class in the database.
3. Enter a class ID in the Add New Class dialog box and click OK.
The class ID can be comprised of up to 31 alphanumeric characters. By default, the ID cannot
contain blank spaces or special characters (|%*:(){}[] \ ). You can use the dash (–) and dot (.)
characters as separators in the ID.
If you want to use a special character in the ID, you can modify the
ICS_allowed_chars_for_class_id preference.
Note
• Once a class ID is assigned, it cannot be modified. After the class ID is assigned,
the pane displays information about the class, including object type, class ID, and
the name of the parent group or class.
• If you build queries using property finder formatter objects, you cannot include the
dot character in class names.
5. Click metric, nonmetric, or both to specify the system of measure to be applied to the attributes
of the class.
You can set which measurement system Teamcenter displays as the default measurement
system in the ICS_unit_default preference.
6. Specify whether the class is abstract or storage. You can use abstract classes to combine
common attributes for use in storage classes, but you cannot store classification instances
(ICOs) in them. You store instances in storage classes. You can create these anywhere in the
hierarchy, including the leaf node position. By default, new classes are abstract. To create
a storage class, clear the Abstract option.
7. (Optional) Select the Allows multiple Instances check box to enable users to create multiple
instances of the same workspace object with in a single class.
8. (Optional) Choose the Assembly option if any of the attribute values in this class propagates
from individual components within a resource assembly structure. When defined as an assembly
class, the Resource Manager application allows the attribute values of the classified item to be
propagated from individual components within the resource assembly structure.
9. (Optional) Select Prevent remote ICO creation to allow creation of ICOs at the owning site only.
10. (Optional) Create an alias name for the class. Classification takes all alias names as well as class
names into consideration when performing a search. You can specify any number of alias names
and these appear in the tool tip of the class node in the classification tree.
11. (Optional) Specify the language of the alias by selecting the language from the list below
the Alias Names box. The languages that appear in this list are those specified in the
ICS_available_languages preference.
12. (Optional) Enter text in the User Data 1 and User Data 2 boxes. Any values entered in the User
Data 1 or User Data 2 boxes are shown in the attribute's tool tip in the Classification or Resource
Manager applications. Alternatively, you can specify the location of the Java code required to
support a user-defined button.
13. (Optional) In the Multi-Site Collaboration section, choose the sites that you want to share
this class definition.
Note
You can click the Cancel button at any time prior to saving the new class to clear the
form and remove the allocated class ID from the database.
Tip
If you simultaneously view a class in Classification and add attributes in Classification
Admin, you must refresh the class in Classification before you can see the new attributes.
2. Locate the attributes that you want to add to the class by performing a search of the attribute
dictionary.
Teamcenter displays the search results in the attribute table.
3. Choose the attributes in the table that you want to add to the class. You can select multiple
attributes in contiguous or noncontiguous rows by using the shift and control keys.
4. Add the selected attributes to the Class Attributes list by performing one of the following steps:
• Click OK to accept the attribute selections and dismiss the dialog box.
-or-
• Click Apply to accept the attribute selections and retain the dialog box for further use. At this
point, you have identified the new class and assigned class attributes. You can now assign
an annotation and/or properties to individual attributes. Properties that are assigned to
attributes at the class level do not change the definition of the attribute itself.
Note
The Attribute ID, Name, and Format boxes are display-only and cannot be modified.
The new attributes are displayed automatically in default views. If you have created custom
views, you must explicitly add the new attribute to these views in one of two ways:
Note
If localization is enabled in your installation, Teamcenter displays the localization button
beside properties for which you can specify multiple languages.
3. (Optional) Type information into the User Data 1 and User Data 2 dialog boxes.
If the attribute has User Data 1 and User Data 2 values assigned to it in the attribute dictionary,
these values are displayed in italics in the Class Attributes pane. You can overwrite them. If you
type a value that is the same as the dictionary value, Teamcenter recognizes this and displays
the value in italics again.
User Data 1 and User Data 2 values are shown in the attribute's tool tip in Classification or
Resource Manager. Alternatively, you can use these boxes to store the location of the Java
code used to create a user-defined button.
4. (Optional) Set a default value by selecting the Default Value check box. You can:
• Enter a default value into the Default Value box.
• Select Fixed and type a value to make this attribute value unchangeable in the class.
• Clear From Dictionary and type a new value to overwrite a default value that is inherited
from the attribute dictionary.
• Select From Dictionary to resume inheriting the default value that is set in the attribute
dictionary.
• Enter default values for both metric and nonmetric systems of measurement.
5. Assign minimum and maximum allowable values for the attribute by selecting the Minimum
Value and Maximum Value check boxes and typing the values. If you want to use minimum and
maximum values set in the attribute dictionary, select the From dictionary check box. Entering
a value at the class level overrides any values set at the dictionary level. Use the following
preferences to determine whether a Classification user must adhere to these ranges.
6. Select one or more properties to apply to the attribute. You can associate any of the following
properties with a class attribute:
• Reference
Values for reference attributes are stored in the workspace object and not in the ICO. They
are retrieved while reading an ICO.
• Array
Attributes designated as array can be used to store multiple values in the database. The
number of values displayed is defined by the class.
Note
The total amount of characters allowed in the array is 256. Due to internal
restrictions, each text field requires an additional two characters. Therefore, the
total characters of an attribute value is calculated by:
Format length of the attribute x VLA (variable length array) length + VLA length x 2
(the format length of a key-LOV is always 31).
Example
31 * 7 + 2 * 7 = 231 (valid)
31 * 8 + 2 * 8 = 264 (exceeds limit of 256)
• Mandatory
Specifies that a value must be entered for the attribute in the Classification form. Mandatory
fields are designated by a red triangle in the upper-right corner of the field.
Classification always checks that mandatory fields are filled in when performing any action
in the user interface. For all other actions, whether the check takes place is controlled by
the ICS_force_mandatory_attribute_check preference.
• Unique
Specifies that the value entered for the attribute must be unique. When displayed in the
Classification form, unique fields are designated by a blue triangle in the lower-right corner of
the field.
• Protected
Attributes designated as protected cannot be edited in the Classification form. You can,
however, use a protected attribute to perform searches.
• Hidden
Attributes can only be defined as hidden if they are used in association with custom logic.
• Auto Computed
Specifies that values for this attribute are calculated based on other attribute values using
external custom logic.
• Local Value
Designates that values for this attribute will not be synchronized when a single workspace
object is classified multiple times. This is particularly important when the Allows multiple
Instances option is selected, because synchronizing the attribute values of multiple instances
of an object that are stored in the same class can result in duplicate instances.
You can also apply the local value property to prevent synchronization when classifying a
single object in multiple classes. For example, if instances of Part 1 are stored in Class
1, Class 2, and Class 3, and all of these classes contain the attribute vendor, the Local
Value property can be applied to the attribute in Class 1 to prevent the value from being
synchronized if it is changed in the instances stored in Class 2 or Class 3.
• Disable Autofilter
Turns off the autofilter on a per class basis. To turn the filter on and off globally, use the
ICS_show_autofilter preference.
• User-Defined Button
Creates a user-defined button for the class that you can use to programmatically access
information stored outside the currently selected class.
• Propagated
Available only when the Assembly option is selected. Specifies that the value for this
attribute is propagated from a component within the resource assembly structure. The
component from which this value is propagated depends on the location of the propagation
start point in the resource structure. If this option is not selected, the attribute's value is a
base value for the assembly class.
• Optimized Display
Provides the most readable unit with the least number of leading or trailing zeros.
Once you specify the applicability in the Classification Admin, you can then choose to highlight these
attributes in applications that display them, such as Classification or the Classification Search Dialog.
1. (Optional) Modify the default names of the applications displayed in the Applicability section of
the Class Attributes pane in Classification by specifying them in the common_locale.properties
file located in the classification directory in the com.teamcenter.rac.tcapps plugin or in the
ICS_application_names preference.
Note
If you modify the application names in the preference, you must specify all five of them.
If you specify fewer than five, Teamcenter does not recognize the preference.
If you modify the properties file, Teamcenter takes these names into consideration when localizing
the environment. If you modify the preference, the application names are visible to all users.
2. (Optional) Change the symbol shown in the Classification application in the common.properties
file located in the classification directory in the com.teamcenter.rac.tcapps plugin.
3. When creating an attribute, select the application for which this attribute is relevant in the
Applicability section of the Class Attributes pane.
4. In Classification or the Classification Search Dialog, in the Properties pane, click the application
button.
Teamcenter displays the application symbol beside all those attributes that are relevant to that
application.
3. Select the attribute that you want to delete from the Class Attributes list.
Note
You cannot remove inherited attributes from a class.
Caution
If you attempt to remove attributes that are already referenced, Teamcenter displays a
warning message that it will delete the existing attribute from all the views and clear
the attribute value from all ICOs. At the moment you accept this warning by clicking
Yes, Teamcenter performs those actions, and you cannot subsequently revert them
by undoing the Edit mode. The actions are irreversible.
o San Francisco
• Germany
o Munich
o Cologne
If you have a class containing two attributes, Country and City, although it is technically possible to
set default values for each of these resulting in conflicting entries (i.e., Country = USA and City =
Munich), it does not make sense to set those values.
3. Select an attribute.
4. In the Class Attributes pane, click List attribute values of the current class .
Teamcenter displays the List of Values dialog box that shows all the values assigned to the
selected attribute within the selected class. In addition, it displays the number of times each
value is assigned.
Modify a class
Caution
While it is possible to modify the properties of a class, you should approach such changes
with caution. Changing class properties can compromise the integrity of your Classification
data.
1. From the hierarchy tree, choose the class that you want to modify. The Class Definition pane,
located to the right of the hierarchy tree, displays the details and attributes of the class.
3. (Optional) Modify the attributes, attribute properties, Multi-Site Collaboration sharing, or parent
class.
4. Click Save on the toolbar. Teamcenter saves the modified class definition to the database.
Note
You can click Cancel at any time prior to saving the modifications to clear the form and
revert to the previous definition.
Copy a class
You can copy a class with or without its child classes within the hierarchy. An almost identical copy
of the original class (hierarchy) is created under the selected parent. The differences between
the original and the copied class are:
• The copy has a different class ID than the original class. This applies to all children if a hierarchy
is copied.
• The copy contains no instances, part family templates, or connection point definitions.
2. Either drag this class to the new position or cut it and paste it into the new position in the hierarchy
using the Copy and Paste commands in the shortcut menu.
The Copy Class dialog box appears.
3. Enter a new ID into the New Class ID box. If you leave this box empty, the system automatically
generates a new ID based on the value you enter in the ICS_copy_classid_pattern preference.
4. (Optional) Assign the attributes that are inherited in the original class to the new class by selecting
Insert inherited attributes. Click Show to display these attributes. The inherited attributes
are added as new attributes to the copied class at the beginning of the attribute list (figure 4-).
If you choose not to assign inherited attributes to the class, the copied class contains only the
attributes of the original class (figure 4-). Attributes that are inherited from the new parent are
deleted from the copied class.
Group 1
Abstract Class 1 (Atts. —1000, —1001)
Original Storage Class 1 (Atts. —1002, —1003, —1004)
Group 2
Abstract Class 2
Copy of Storage Class 2 (Atts. —1000, —1001, —1002, —1003, —1004)
Group 1
Abstract Class 1 (Atts. —1000, —1001)
Original Storage Class 1 (Atts. —1002, —1003, —1004)
Group 2
Abstract Class 2
Copy of Storage Class 2 (Atts. —1002, —1003, —1004)
Group 1
Abstract Class 1
Original Storage Class 1 (Atts. —1002, —1003, —1004)
Group 2
Abstract Class 2 (Atts. —1002, —1003)
Copy of Storage Class 2 (Atts. —1004)
Case 3 – Copying a class where attributes are inherited from new parent
5. (Optional) Copy the class hierarchy. When you do this, Classification Admin makes copies of all
the child classes underneath the selected class. To assist you in copying over the hierarchy, the
Copy Class dialog box expands with additional options. The Target Class Hierarchy dialog
box displays how the copied class hierarchy appears. You can modify the new hierarchy in this
dialog box by:
• Inserting a new item ID and pressing the Enter key.
The new ID appears in the Target Class Hierarchy box. If you leave this box empty,
the system automatically generates a new ID based on the value you enter in the
ICS_copy_classid_pattern preference.
• Removing classes that should not be copied by selecting the class and clicking .
6. Click OK.
The selected class is copied to a new position in the class hierarchy.
Moving a class
You can use drag-and-drop to move a class to a new location in the hierarchy. This action moves the
class and all of its children and instances. During moving:
• Attributes that were originally inherited are added as new attributes to the moved class.
• Attributes inherited from the new parent class are deleted from the moved class.
Caution
While it is possible to move a class, you should approach such a change with caution.
Moving a class can compromise the integrity of your Classification data.
Delete a class
Caution
While it is possible to delete a class, you should approach such a change with caution.
Deleting a class can compromise the integrity of your Classification data.
1. From the hierarchy tree, select the class that you want to delete.
Note
If you are using Multi-Site Collaboration, you must first remove the remote sites from
the list of shared sites for the class and delete the class at all sites.
• Unit name
• System of measurement
• Conversion factors
The following table describes how the measurement system stores values for length, in both metric
and nonmetric units. Each measurement category has a base unit that is used for the conversion
both within factors of that unit (for example, centimeters to millimeters or inches to feet) as well as for
converting from metric to nonmetric (for example, inches to millimeters).
In the example, the base unit is millimeter. Any conversion that takes place is always in relation to the
metric base unit. For example, to convert from feet to inches, Teamcenter first converts from feet to
millimeters, and then from millimeters to inches.
You can set the default active system of measurement with the ICS_unit_active preference.
Additionally, you can set the default system of measurement when creating classes using the
ICS_unit_default preference.
Teamcenter displays the unit of an attribute value as a hyperlink beside the value in the Classification
application. You can change this unit for viewing or searching purposes. If a unit is not hyperlinked,
Teamcenter cannot find the unit in the Unit Definition class. If the attribute is not yet used in any
classes, the classification administrator can change the unit in the attribute dictionary or add the
new unit definition to the Unit Definition class.
When working with legacy data, Classification searches for the object ID of the unit or, if it does not
find that, the display name. If it finds a match, it displays the hyperlinked unit label and the new
functionality is available to you. If Teamcenter does not find a match, it displays the legacy unit label.
Tip
Teamcenter displays the storage unit in bold type in the list of available units.
If you work with NX, you can map Classification units to NX units using the
populate_nx_unit_definitions argument of the smlutility. Once this is complete, the NX counterpart
unit is displayed in the NX unit ID box. The respective units are then displayed in both NX and
Teamcenter.
4. Add a new ICO for each measurement unit that you want to define or edit an existing
measurement ICO.
5. In the Classification Admin application, select and refresh the Unit Definition class.
The new or modified unit appears in the unit list when you create a new attribute in the Dictionary
pane.
6. (Optional) Move the Unit Definition class back to the SAM Classification Root node to protect
it from inadvertent modification.
Warning
Do not change a unit definition (for example, the conversion factor or base unit) after you
use it in an attribute. Changing the unit definition corrupts your data.
2. Add attributes. For each numerical attribute that you add, you must have defined both a metric
and nonmetric format in the Dictionary pane.
• metric to specify that the class can contain only metric values for ICOs.
• nonmetric to specify that the class can contain only nonmetric values for ICOs.
• both to specify that the class can contain both metric and nonmetric attribute values for ICOs.
By selecting both types of units, you allow the search mechanism to find matches that have been
stored in either of the systems of measure.
Note
To change an existing class (containing data) from a metric or nonmetric class to one
containing both systems of measure, you must first run the smlutility utility using
the -migrate option.
If a class is set to both (metric and nonmetric), and if any of the attributes do not have a unit definition
for both metric and nonmetric, Teamcenter uses the available unit for both unit systems. This
behavior supports use cases where certain attributes may not have different metric and nonmetric
units, such as time.
2. Right-click the node in the hierarchy tree and choose Add Image.
Teamcenter displays the Open dialog box.
3. Locate and choose an image file to be associated with the group or class and click Open.
Teamcenter displays the image in the image viewer.
d. In the Class Attributes list, select the attribute for which you want to disable the autofilter.
f. Click Save .
Note
• Attribute properties that are assigned to attributes at the class level are inherited by the
view. While some inherited properties can be overwritten, they cannot be removed.
Additional properties can be added to the attribute at the view level.
Attributes that are mandatory in a class are also mandatory in all views of the class.
• When importing ICOs, Teamcenter considers the views belonging to the user who is
importing. It looks at the views that take precedence for that user. Teamcenter then
imports only attribute values for attributes existing in those views. If you define a
custom view or a default view that does not contain all the attributes in the parent
class, some ICO values may not be imported.
• Access control to specific groups, classes, and ICOs is performed at the group or class
level. You cannot do this at the view level.
If you want to use the graphics builder to generate graphics for ICOs, do this at the
class level.
You can set view precedence for displaying views in Classification using the
ICS_view_selection_order preference.
By default, the system uses the following view precedence when displaying classes in Classification:
• User views
Define the way a class is displayed to a specific user. By default, user views take highest
precedence over role, project, group, and default views when the class is displayed.
• Role views
Define the way a class is displayed to users with a specific role. By default, role views take
precedence over project, group, and default views when the class is displayed.
• Project views
Define the way a class is displayed to users within a specific project. By default, project views
take precedence over group and default views when the class is displayed.
• Group views
Define the way a class is displayed to a specific group of users. By default, group views take
precedence over default views but are subordinate to user, role and project views.
• Default views
Define the way a class is displayed to users for whom no user or group view is defined. Default
views take lowest precedence when a class is displayed.
Create a view
1. From the hierarchy tree, select the storage or abstract class to be used as the basis of the new
view. To determine whether a class is abstract or storage, right-click the symbol. The label on the
shortcut menu indicates whether the class is a storage class. If not denoted as such, the class is
considered abstract. The Class Definition pane at the right of the hierarchy tree displays the
details and attributes of the selected class.
2. Click the Add View button, located at the bottom of the definition pane.
The Add View dialog box displays the ID of the selected class in the banner. The view type and
ID are set to Default View.
Note
You can also select the class, right-click, and choose Add View.
3. To create a type of view other than Default View, choose User View, Role View, Project View,
or Group View from the Type list.
Note
The Subclass option in the Type list is intended only for use with legacy SML classes.
• Role View
The ID must exactly match the Teamcenter role ID.
• Project View
The ID must exactly match the Teamcenter project ID.
• Group View
The ID must exactly match the Teamcenter group ID.
If necessary, you can locate user, role, project, and group IDs in the Teamcenter Organization
application.
5. Click OK.
The View Definition pane displays the view ID and the parent class of the view and its
associated attributes.
Warning
The name box cannot contain blank spaces. Replace any spaces in the name with
an underscore character.
7. (Optional) Type text in the User 1 and User 2 boxes. Any values entered in the User 1 or User 2
boxes are shown in the attribute's tool tip in the Classification application.
8. (Optional) In the Multi-Site Collaboration pane, choose the sites that you want to share the
view definition.
9. Click the View Attributes tab and add attributes to the view.
b. Click the right-arrow button to move the attribute to the View Attributes list. Repeat these
steps to select additional attributes.
Note
You can remove attributes from the View Attributes list by choosing the attribute or
attributes and clicking the left-arrow button.
Teamcenter displays the attributes in the View Attributes list and displays a check mark next to
the attribute in the Class Attribute list indicating that it is selected for this view.
2. (Optional) Use the up-arrow and down-arrow buttons to change the order in which the attributes
are displayed on the Classification form.
Tip
If you want to assign an attribute to multiple views, you can use the smlutility utility.
Specifies that an attribute is an array. Array attributes can be used to store multiple values in
the database (called multivalue fields). Whether an attribute is an array is determined by the
class attribute definition (not the view definition). However, specific array properties, such as
length, horizontal, and vertical are defined within the class.
• Length
Defines how many values are displayed for an attribute that is designated as an array.
Note
This field is enabled only when an attribute is designated as an array in the class
definition.
• Field Layout
Specifies the vertical layout for an attribute's name, annotation, dialog box, and unit.
• Default Value
Defines a default value from the view. This value can be inherited from the class and can
also be designated as fixed, so that it cannot be changed during ICO creation, modification,
or copy.
• User Data
Specifies the location of the Java code required to support a user-defined button.
Any information you add here is shown in the attribute's tool tip in Classification or Resource
Manager.
Note
When modifying the layout of attributes in a view, you can associate the attribute layout
to specific attributes. If you make extensive use of autocomputation and turn off visibility
on attributes, this can create unwanted results, especially when you use frames and
separators in the view layout. You must be careful when creating layout elements using
attributes that can be hidden.
You can customize the layout of the attributes in Classification or Resource Manager in a view.
1. If none exists, create a view, or click to modify an existing view.
3. Select the layout tag that you require from the Layout Tags list.
4. Select the attribute below which you want to add the layout modification.
6. If you have selected a layout tag that requires additional information (such as name of frame or
number of columns), type the information in the box.
8. Click .
Classification Admin checks that there is an equal number of start and end tags before saving.
1. Select the attribute from the View Attributes list below which the frame should begin.
5. Select the attribute from the View Attributes list below which the frame should end.
1. Select the attribute from the View Attributes list below which the horizontal layout should begin.
4. Select the attribute from the View Attributes list below which the horizontal layout should end.
Add separators
To achieve a layout that looks like this, perform the following steps:
1. Select the attribute from the View Attributes list below which you want the separator to appear.
1. Select the attribute for which you want to change the layout.
2. In the Field Layout list, select from one of the following options:
Horizontal This arranges the attribute information vertically across the form. If the attribute
uses multivalue fields, this appears as follows:
Vertical This places the name above the boxes and the boxes are lined up beneath each
(Narrow) other:
Vertical This places the name beside the boxes and the boxes are lined up beneath each
(Wide) other:
Default The default appearance is dependent on whether the attribute is placed within
horizontal layout tags.
This attribute is placed within the normal This attribute is surrounded by
vertical default layout. horizontal layout tags.
4. Click .
2. Define the Java class that you want to hook into the user-defined button in the properties file.
This allows you to write one generic hook (or dispatcher) for all attributes and classes. Within
your user code, you can evaluate from which attribute the code was triggered and perform the
corresponding actions. If you return null in the method getJComponent(), no user-defined
button is displayed for this attribute.
• One Java class for one specific attribute in one specific class:
If, for example, you want the Shank Diameter attribute (ID –4110) to have one user-defined
button Java code called MyToolMaterialHookMilling for the Shank End Cutter class and
a different hook called MyToolMaterialHookDrilling for the Twist Drill class ( ID ugc0301),
you define:
g4mform.userbutton.-4110.ugc0103=com.teamcenter.rac.classification.common.form.
MyShankDiameterHookMilling
g4mform.userbutton.-4110.ugc0301=com.teamcenter.rac.classification.common.form.
MyShankDiameterHookDrilling
If an attribute is specified as having a user-defined button, but the system cannot find a
corresponding class name on the four options described previously, the system uses the
G4MFormUserDefaultButton class (in the com.teamcenter.rac.classification.common.form
package).
The fourth method has the highest precedence, then the third, second, and first.
Siemens PLM Software recommends specifying the icon used for the user-defined button in the
properties file, as well.
Note
Do not forget to specify package and class name.
Defining the settings for a user-defined button in the attributes user fields
You can define the user-defined button settings in the attribute’s user fields. User-defined button
definitions in user fields have higher precedence than definitions in the properties file. If you want
to use this option, you must set the ICS_user_defined_button_class site preference to User1 or
User2. If the preference is set to User1, the system tries to find the user-defined button class code in
the attribute's User 1 field. If the preference is set to User2, the system searches for the code in the
User 2 field. This mechanism has several advantages:
• The information is stored in the database and no property files (residing on the client) have
to be changed.
• The effects are visible immediately, without the need to copy files on each client machine (if the
user-defined Java classes are already available).
• The user-defined button classes can be inherited from a class to its child classes. (When using
the properties file approach, all relevant classes have to be specified in the properties file. No
inheritance is possible there.)
There are three different methods of defining the Java class in the user field that should be used
for an attribute:
• One Java class for one specific attribute in all classes:
If, for example, you want the Tool Material ID attribute (ID –2503) to always have the same
user-defined button Java code called MyToolMaterialHook in all classes:
4. Click Edit.
• One Java class for one specific attribute in one specific class:
If, for example, you want the attribute Shank Diameter (ID –4110) to have one user-defined
button Java code called MyToolMaterialHookMilling for the class Shank End Cutter:
4. Click Edit.
• One Java class for one specific attribute in one specific view:
If, for example, you want the attribute Shank Diameter (ID –4110) to have one user-defined
button Java code called MyToolMaterialHookMilling for the defaultView view of the Shank
End Cutter class:
4. Click Edit.
If an attribute is defined to have a user-defined button, but the system cannot find a corresponding
class name on the three options described previously, it tries to find the class in the properties file.
The third method has the highest precedence, and then the second, then the first.
Note
Remember to specify package and class name.
package com.teamcenter.rac.classification.common.form;
import javax.swing.JComponent;
public interface InterfaceG4MFormUserButton
{
/**
* @return the Java component that will be added to the Form layout
*/
public JComponent getJComponent();
/**
* @return the AbstractG4MFormElement the user button is assigned to
*/
public AbstractG4MFormElement getFormElement();
/**
* This method allows handling mode changes properly for the User-Defined Button.
* Every time the mode changes, this method is called.
* You can change the visibility or sensitivity of your JComponent based on the mode here.
* Or you could change the icon or do additional steps, as well.
*
* @param theMode the current mode of the G4MForm
* The possible values for "theMode" are:
* G4MConstants.MODE_SEARCH
* G4MConstants.MODE_SHOW
* G4MConstants.MODE_EDIT
* G4MConstants.MODE_NEW
*/
public void setMode( int theMode );
}
The user-defined Java classes you write must have the following constructor:
public MyGenericHook( AbstractG4MFormElement theFormElement, int theIndex )
theFormElement is the form element for the attribute on which the user-defined button should be
displayed. With this object, you can also retrieve all values from the form and you are able to set
other values in the form. The mode, class ID, and class name are displayed. In addition, you can
access the ClassificationService that allows searching the complete Classification database and
manipulating values in the database.
theIndex is the index of the multivalue field. Multivalue fields have one user-defined button for
each field. To allow evaluating to which field the user-defined button belongs, this input parameter
is passed in. If the attribute is a single value field, 1 is passed in as theIndex. The counting of the
multivalue fields starts with 1.
For the implementation of simple user-defined buttons, Siemens PLM Software recommends that you
subclass the G4MFormUserDefaultButton class. Then you can overwrite the actionPerformed()
method and put your implementation into this method.
The following example shows a user-defined button Java class that displays a JButton with an icon
on it that changes the background color of the form to blue when it is clicked:
package com.teamcenter.rac.classification.common.form;
import …;
public class MyColorUserButton extends JButton implements InterfaceG4MFormUserButton, ActionListener
{
private AbstractG4MFormElement m_formElement;
private int m_multiFieldIndex;
//============================================================================
public MyColorUserButton( AbstractG4MFormElement theFormElement, int theIndex )
{
m_formElement = theFormElement;
m_multiFieldIndex = theIndex;
configure();
addActionListener(this);
}
//============================================================================
private void configure()
{
Icon icon = m_formElement.getForm().getRegistry().getImageIcon( getClass().getName() +".ICON" );
if( icon == null)
{
icon = m_formElement.getForm().getRegistry().getImageIcon( "g4mform.userbutton.DEFAULT_ICON" );
}
if( icon != null)
{
setIcon(icon);
}
setMargin( new Insets(0,0,0,0) );
setFocusPainted( false );
}
//============================================================================
public void actionPerformed(ActionEvent ev)
{
m_formElement.getForm().setBackground(Color.BLUE);
}
//============================================================================
public AbstractG4MFormElement getFormElement()
{
return m_formElement;
}
public JComponent getJComponent()
{
return this;
}
public void setMode(int theMode)
{
switch( theMode )
{
case G4MConstants.MODE_SEARCH:
setVisible(true);
break;
case G4MConstants.MODE_SHOW:
setVisible(true);
break;
case G4MConstants.MODE_NEW:
setVisible(true);
break;
case G4MConstants.MODE_EDIT:
setVisible(true);
break;
}
}
} // End of class MyColorUserButton
In this example, when you click the displayed button, the average value of all numeric attribute
values is calculated and displayed in a message box. This value is written into the first attribute of
the form. The following is the code of the actionPerformed() method. The remaining code remains
the same as in Example 1.
package com.teamcenter.rac.classification.common.form;
import …;
public class MyAverageValueUserButton extends G4MFormUserDefaultButton
{
public MyAverageValueUserButton ( AbstractG4MFormElement theFormElement, int theIndex )
{
super (theFormElement, theIndex);
}
//============================================================================
public void actionPerformed(ActionEvent ev)
{
try
{
ICSProperty[] icsProps = m_formElement.getForm().getProperties();
AbstractG4MFormElement[] formElements = m_formElement.getForm().getFormElements();
// Loop through all properties
float average = 0;
int numericCount = 0;
for (int i = 0; i < icsProps.length; i++)
{
String value = icsProps[i].getValue();
if (!value.equals(""))
{
if (formElements[i].getPropertyDescription().getFormat().isInteger())
{
// If the attribute format is integer -> add the value to average
average += Integer.parseInt(value);
numericCount++;
}
else if (formElements[i].getPropertyDescription().getFormat().isReal())
{
// If the attribute format is float -> add the value to average
average += Float.parseFloat(value);
numericCount++;
}
}
}
// Calculate the average value
if (numericCount > 0) average /= numericCount;
// Display the average value in a message box
MessageBox.post("Average value of the numeric fields: " + average,
"User-Defined Button", MessageBox.INFORMATION );
// Here you could do for example a lookup in an Excel Sheet, as well.
// Or you could retrieve values from ICOs in other classes and write those values in the form.
// Write the calculated value in the first attribute
ICSProperty prop = new ICSProperty(formElements[0].getProperty().getId(), Float.toString(average));
formElements[0].setProperty(prop);
}
catch( Exception ex )
{
}
}
}
In this example, the IDs, values, formats, and key-LOV definitions of all form attributes are printed to
the debug output when you click the user-defined button. A message box appears with the current
class ID and the ID name, format, and value of the attribute belonging to the clicked user-defined
button are shown. The following is the code of the actionPerformed() method. The other framework
is still the same.
Example 4: G4MFormUserICORefButton
This example displays a dialog box with the form of a defined class. In this dialog box, you can
display additional information for this attribute value, or you can search for a specific instance and
insert the instance ID in the entry field. The behavior of the dialog is different based on the current
mode. This functionality allows you to reference an ICO in another class. This example can be
found in the Sample\IN-CLASS directory of your installation and can easily be modified to be used
for different attributes.
• Show mode:
If the form is in Show mode and the values of existing ICOs are displayed, you can click the
user-defined button (in this example, for the Tool Material ID attribute – Step 1). The dialog then
displays additional information about the tool material that is specified in the entry field (Step 2).
TMC0_00006 is the ID of an ICO that is stored in the Tool Material class. The ICOs in this class
store additional information about the tool material.
If the form is in New, Edit, or Search mode, the entry field is typically empty. When you click
the user-defined button for the attribute Tool Material ID (step 1), a dialog box with an empty
Tool Material class form is displayed (step 2). In this dialog box, you can specify your desired
search query and search for ICOs in the additional Tool Material class (step 3). After clicking the
Search button, the corresponding results are displayed (step 4). With the arrow buttons, you
can now browse through the matches. If you want, you can click the Clear button, define a new
search query, and execute a subsequent search. Once you have found the desired instance,
click OK and the ID of this instance is written into the Tool Material ID entry field (step 5).
2. Teamcenter displays a dialog box with an empty Tool Material class form.
5. Teamcenter writes the object ID of the desired tool material into the entry field of the original
class.
Example 5: G4MFormUserAutoFilterButton
This example is used with the Shank Diameter attribute. When you click the user-defined button
on the right side of the entry field (step 1), a popup dialog with all existing values for this attribute in
the ICOs of this class is displayed (step 2). When you select a value and you click OK, this value
is written into the attribute entry field and the dialog disappears (step 3). If there are already other
attribute values specified in the form, only the existing values that match the other given constraints
are displayed. You can find this example in the Sample\IN-CLASS directory of your installation
and modify it for different attributes.
1. Click User Defined Button.
2. In the Applicability section, select additional applications for which the attribute is applicable.
Modify a view
Views do not affect the data stored in the classes with which they are associated. Therefore, you can
modify the attributes and properties of views without compromising the integrity of your Classification
data.
1. From the hierarchy tree, choose the view that you want to modify.
The View Definition pane, located to the right of the hierarchy tree, displays the details and
attributes of the view.
Note
You can click Cancel at any time prior to saving the modifications to clear the form and
revert to the previous definition.
Copy a view
1. Right-click the view you want to copy and choose Copy View from the shortcut menu.
2. Right-click the class to which you want to copy the view and choose Paste View from the
shortcut menu.
3. In the Copy View dialog box, select the view type from the Type list.
5. Clear the Add attributes from class option if you do not want to adopt the listed attributes from
the target class in the copied view.
Teamcenter removes any attributes that are contained in the source class but not in the target
class from the copied view. These are displayed in the lower list in Copy View dialog box.
Delete a view
Views do not affect the data stored in the classes with which they are associated. Therefore, you can
delete views without compromising the integrity of your Classification data.
1. From the hierarchy tree, choose the view that you want to delete.
The View Definition pane, located to the right of the hierarchy tree, displays the details and
attributes of the view.
4. Click the Yes button to confirm the deletion. Teamcenter deletes the view from the hierarchy
structure.
4. Type the ID of the source class. This name must be unique within the target class.
5. Click OK.
The View Attributes pane displays the attributes found in both target and source classes, as well
as additional internal attributes that are commonly needed for mapping.
The absolute value 0.5 is added to the value of class attribute –4120 and the result stored in
the mapped ICO attribute.
The following four mathematical operators can be used:
+, –, *, /
Note
You must ensure that the format and the number of decimal places of the mapped
attribute values match. You cannot, for example, map a string to a float, or a Real(2.5)
to a Real(2.3).
Note
If you use the wildcard symbol as the
second index, Teamcenter copies all
characters from the first index to the end
of the string.
#SUBSTR(-1102,2,4) XR1
Note
You can only use the SUBSTRING operator if the source attribute is of the String type.
3. In the Add View for Class dialog box, select a view type.
4. Type a name for the view in the View ID box and click OK.
6. Select the attributes you want to display in the NX dialog boxes in the Class Attributes list and
move them to the View Attributes list using the left and right arrows.
7. Arrange the attributes in the View Attributes list in the desired order by selecting them and
clicking the up and down arrows.
Teamcenter lists the attributes that you specify in the NXLIB_SearchCriteria view as parameters
of the DIALOG statement in the DEF file. It writes the attributes that you specify in the
NXLIB_SearchResult view as parameters of the RSET statement. If you do not create an
NXLIB_SearchResult view, Teamcenter automatically uses the same attributes for the Search
Result dialog box as it does for the Search Criteria dialog box. If you do not specify either of these
views, all Teamcenter attributes are displayed in both dialog boxes.
Tip
Use the mrm_export_resources utility to export hierarchy images for use in the NX
dialog boxes.
Create a key-LOV
You use key-LOVs to define one or more values that can be set for specific classification attributes.
Once created, these lists are stored in the data dictionary and can be used and reused as required.
The process of creating a key-LOV consists of creating the key-LOV in the database, adding and
inserting entries and submenus, previewing the key-LOV form, and saving the key-LOV. You can
also modify key-LOV entries or remove entries from the key-LOV.
Use caution when using key-LOVs with both systems of measure. When you convert from one
system to another, Teamcenter does not convert the values.
Teamcenter displays the New Key-LOV dialog box. You use this dialog box to create and reserve
an ID for the new key-LOV within the database.
Caution
The key-LOV ID must be a negative number. It cannot be longer than 31 characters.
3. Type a unique identifier for the key-LOV in the Key-LOV ID box and click OK.
Note
Once a key-LOV ID is assigned, it should not be modified.
The system displays the new key-LOV as an open folder (root) in the Detailed Key-LOV
Definition pane.
Open folder
The label of the root folder contains the key-LOV ID that you created along with a series of
question marks. The question marks indicate that the name of the key-LOV is not defined.
The key-LOV ID and name are also displayed in the Key/ID and Entry Value boxes.
4. Type a name for the key-LOV in the Entry Value box. This is a mandatory entry.
Caution
The Entry Value string cannot be longer than 63 characters.
5. Click anywhere in the Detailed Key-LOV Definition pane to update the key-LOV tree display.
6. (Optional) In the Multi-Site Collaboration pane, choose the sites you want to share this
Key-LOV definition.
Key-LOV tree
• Insert Entry
The system displays the new entry in the tree above the selected node.
The label of the new entry is comprised entirely of question marks. In the next two steps, you
define the key and description for the entry.
2. Click the text in the Key/ID box and type a key for the entry. This key cannot exceed 31
characters.
Note
Entry keys must be unique within the context of a single key-LOV, however, they need
not be unique within the database. For example, multiple key-LOVs can contain entries
with a key of 02, but a single key-LOV cannot have two entries with a key of 02.
3. (Optional) Type a value for the entry in the Entry Value box. This entry cannot exceed 63
characters.
Repeat these steps to add or insert additional entries to the key-LOV tree.
Note
You must be in create or edit mode to add or insert submenus into a key-LOV.
1. Choose a node in the key-LOV tree. The new entry is inserted above the selected node.
2. Click:
• Add Submenu
Teamcenter adds a new submenu as a child of the current folder.
• Insert Submenu
The system inserts a new submenu in the tree at the same level as the currently selected
folder, or at the same level as the folder containing the currently selected entry.
The label of the new entry is comprised entirely of question marks. In the next step, you define
the description for the submenu.
3. Type a description for the submenu in the Entry Text box. This entry cannot exceed 63
characters.
4. Click anywhere in the pane to update the key-LOV tree display. The submenu is identified and
displayed in the key-LOV tree.
Repeat these steps to add or insert additional submenus in the key-LOV tree.
2. For each entry and submenu, fill in the ID and Name boxes for interdependency to function
correctly. If you are converting an existing key-LOV to interdependent, you must modify each to
add an ID.
Note
Each entry in a key-LOV must have a unique ID, the ID is used only by the key-LOV
and not the database.
4. Click the Dictionary tab and create an attribute for the key-LOV.
6. In the Format Dialog box, click the key-LOV tab and enter the key-LOV ID and click OK.
7. In the Dependency Configuration box, select the top level in the key-LOV that this attribute
will use.
9. On the Hierarchy tab, add attributes to the class. On the Class Attribute tab, select the
dependency attribute for the selected class attribute.
Note
The top-level attribute does not have a dependency attribute value.
Caution
Deleting entries from a key-LOV that has been instanced compromises data integrity.
2. Choose the key-LOV from the Existing Key-LOV list that you want to modify.
The system displays the key-LOV in the Detailed Key-LOV Definition pane.
3. Complete the necessary modifications (adding or inserting entries, removing entries, or modifying
the description of an entry) to the key-LOV.
Caution
Key-LOV IDs must not be modified.
You cannot modify a deprecated key-LOV entry.
4. Click Save .
Teamcenter saves the modified key-LOV in the database. If the description of an entry is changed
for a key-LOV that is instanced, the description is changed in each and every instance in which
that key-LOV entry occurs.
2. Select the key-LOV from the Existing Key-LOV list that you want to deprecate.
Teamcenter displays the key-LOV in the Detailed Key-LOV Definition pane.
5. Click Deprecate.
6. (Optional) Set the following preferences to specify the behavior for deprecated key-LOVs.
Set to TRUE To
ICS_allow_deprecated_ Allows you to save a classification object that uses
lovs_on_update deprecated key-LOVs when you update that object.
ICS_allow_deprecated_ Allows you to use the Save As command on an item or
lovs_on_copy item revision to create a copy of a classification object
already classified using deprecated key-LOV values.
Note
• Deprecated key-LOV entries are not visible to the Classification user when classifying
a workspace object.
• Deprecated key-LOV entries are only visible to the Classification user when editing
a classification instance if the ICS_allow_deprecated_lovs_on_update preference
is set to True.
• Deprecated key-LOV entries are visible to the Classification user when editing a
classification instance, but are preceded by the symbol to show that the value
is deprecated.
2. Choose the key-LOV from the Existing Key-LOV list containing the value that you want to
undeprecate.
The system displays the key-LOV in the Detailed Key-LOV Definition pane.
5. Click Undeprecate.
6. Click .
Warning
Attribute values between -999 and 999 are reserved for Siemens PLM Software
functionality, such as the unit definition class. Do not create or modify any of these
internal attributes, as these can get overridden by future features. When creating new
attributes, it is advised to use positive integers greater than 999 for attribute IDs.
• Click Assign to generate the next available attribute ID and click OK.
To determine the next available attribute ID, the program searches the database for the
highest attribute ID that has previously been assigned and then generates an attribute ID
that is one number higher than the highest number found in the database. If attributes have
been deleted from the database, leaving a gap in the attribute ID numbering scheme, those
numbers are not reassigned. If you cancel the attribute creation process, the assigned
number is released for future use.
Note
Once an attribute ID is assigned, it cannot be modified.
The new attribute ID is now displayed in the Attribute Definition pane. You define the
remaining properties of the new attribute within this pane.
Caution
The annotation value must be unique within the class.
Tip
You can copy the format of an existing attribute by searching for it in the attribute
dictionary and clicking Assign Format in the Attribute Search pane.
8. (Optional) Type the text in the Help Text dialog box that is displayed for this attribute in the
Classification application.
10. (Optional) Type text in the User 1 and User 2 boxes. Any values entered in the User 1 or User 2
boxes are shown in the attribute's tool tip in the Classification application.
11.
12. Select Encrypted if you want to encrypt the value in the database. Selecting this option makes
the attribute encrypted for all classes and views where the attribute is used. Therefore, you can
no longer use this attribute as a criterion for a search.
You can only encrypt values that have a string format.
13. (Optional) In the Multi-Site Collaboration pane, choose the sites with which you want to share
this attribute definition.
14. If the new attribute should reference properties stored with the workspace object instead of with
the ICO, select Reference Attribute.
15. To provide the most readable unit with the least number of leading or trailing zeros, select
Optimized Display.
16. Click Save to add the attribute definition to the dictionary. Teamcenter saves the attribute
definition and available for use when defining the Classification hierarchy.
If 3.0 is displayed as an attribute value and you switch to the nonmetric measurement system for that
attribute, Teamcenter looks for the value assigned to the key 02 and displays that (in this case, 5.4).
You must be careful when assigning values to the same key in two different measurement systems
that these values accurately represent the converted values.
Attribute formats
Attribute formats define the configuration of values that can be entered in the Classification form for
an attribute. Teamcenter provides five attribute formats: key-LOV, string, integer, real, and date and
are described in the following table.
Attribute
format Description
Key-LOV Associates a list of allowable values with an attribute. If a key-LOV value
displays the symbol, it is deprecated and cannot be used for classifying
objects (although you can use it when searching or classified objects).
String Defines an attribute as an alphanumeric string. You can define the following
characteristics for a string attribute: string length and case-sensitivity. For
string length, the system treats the value 99 as a special case. If you enter 99,
the resulting string length is 256 characters.
Integer Specifies the numeric format that is appropriate for attributes that are usually
quantified as whole units. You define the following characteristics for an integer
attribute:
• Maximum number of digits allowed
2. Choose a format type for the attribute by clicking one of the following format tabs:
• KeyLOV
• String
• Integer
• Real
• Date
Element Description
Key-LOV tab Displays the options used to define a key-LOV format for the
attribute.
Element Description
ID Specifies the ID of an existing key-LOV to be associated with the
attribute.
Preview window Displays a preview of the selected key-LOV is displayed in this
area.
Key-LOV Panel button Moves to the key-LOV pane that is used to create and modify lists.
String tab Displays the options used to define a string format for the attribute.
String Length Defines the maximum number of alphanumeric characters to be
allowed for the attribute value. The system treats the value 99 as
a special case. If you enter 99, the resulting string length is 256
characters.
Case-Sensitivity Defines the case sensitivity format for the attribute value.
Selection dialog box
The following options are available:
• Upper and Lowercase
Allows mixed-case, uppercase, or lowercase values to be
entered for the attribute.
• Uppercase
Causes the value entered for the attribute to be converted
to uppercase.
• Lowercase
Causes the value entered for the attribute to be converted
to lowercase.
Integer tab Displays the options used to define an integer format for the
attribute.
Number of Digits Defines the total number of digits to be allowed for the attribute.
Display Format Selection Selects the display format for the integer attribute.
window
The following options are available:
• Force Positive Number
Prevents the user from entering a negative number value for
the attribute.
Element Description
• M – Month
• Y – Year
• H – Hour
• M – Minute
• S – Second
OK button Accepts the format definition and dismiss the Format dialog box.
Element Description
Cancel button Closes the Format dialog box without applying any changes to
the attribute format.
4. Click OK to accept the format definition and dismiss the dialog box.
Caution
Teamcenter always converts between the metric and nonmetric formats that you
specify in the attribute dictionary. If, during conversion, the converted value’s number
of digits is larger than the specified target format allows, Teamcenter truncates the
excess digits and displays an erroneous value. For example, an attribute has a
nonmetric format with REAL(3.5) and a metric format of REAL(4.3). If you try to
convert 622 inches to a metric value, the correct converted value is 15,800 millimeters.
Teamcenter, however, truncates the converted value to 1580 to fit the defined format
(REAL(4.3)) and displays this incorrect value in the Classification application.
Make sure that the integer and real formats that you define here display a sufficient
number of digits before and after the decimal point for all conversion needs.
5. Select a unit for the measuring system you are using. The units available in this list are stored
in the Unit Definition Class class. The label that is shown is displayed next to the attribute
value box in the Classification form.
6. (Optional) Type a default value in the Default Value box. This value is then shown for this
attribute anywhere it is used in a class.
• This value can be overwritten in the Attribute Details pane on the Class Attributes and/or
View Attributes tabs.
• If you select a default value that contains a key-LOV, deprecated key-LOV values are not
shown in the list.
• If minimum and/or maximum values are specified for this attribute, Teamcenter immediately
validates the default value against these values.
You define reference attributes in the Classification Admin application and display them in the
Classification application.
There are two locations where you can define reference attributes:
• When you create a new attribute in the Dictionary tab, you can designate it to be a reference
attribute.
• You can designate an attribute to be a reference attribute when you are defining it in the Class
Attributes pane.
• A reference attribute that refers to a date format always displays the date and time based on the
time zone in effect on the server.
Caution
When creating a reference attribute in Classification Admin, make sure you format this
attribute to match the Teamcenter property which it references. For example, if you create
a reference attribute for the Teamcenter Alias_ID property that contains multiple values,
you must select the Array property when creating the classification attribute so that the
reference attribute can also show the multiple values that the Teamcenter property contains.
Reference attributes are read-only in the Classification application. You can search for them only
if the attribute:
• Is a database attribute or references a database attribute.
Note
• Run-time properties are not searchable attributes.
• The autofilter is not available when displaying reference attributes in the Classification
application.
When configuring reference attributes in the POM Attribute pane, you can only configure those
attributes whose type in the Business Modeler IDE are marked as Attribute. All others types (for
example, Runtime, Configured Runtime, Reference, or Relation) can only be configured using the
Type Properties pane and therefore cannot be used for searching.
so, the available POM attributes/type properties appear in the list at the right. Only those type
properties that reference a POM attribute are searchable attributes.
You can select from the following reference attribute types:
Classified Object Selects a POM attribute or a type property of the classified object,
typically item or item revision, as the source of the reference
attribute. For example, assume it is your company's policy to
classify items and you save an object description with each item
you create. By selecting Item from the Type Property list, you
can select from all the available properties in the Type Property
list. If you select current_desc, the object description that you
saved with the item appears in the reference attribute's name box
in Classification.
Master Form Attribute Selects a POM attribute or a type property of the master form,
typically item master form or item revision master form, as the
source of the reference attribute. For example, you want to see
the serial number of the item in Classification. By default, this
information is stored in the item master form. Select Type→Item
to reference this information. When you select serial_number
from the Type Property list, the reference attribute shown in the
class attributes in the Classification application displays the serial
number that is stored in the master form of the classified item.
Related Object Specifies an attribute of an object that is related to the classified
workspace object as the source of the reference attribute. You
can specify which particular relation the object should have in the
Relations List or check the Any relation option to find all objects
in the specified POM class.
2. Select the type of reference attribute. Depending on the type you select, the pane on the right
provides you with the POM hierarchy or type hierarchy (or both) in which to find the attribute
to which you want to refer.
5. (Optional) Select Ignore the selected type or Ignore the selected POM class. Names of
attributes or type properties are not unique. It is possible, for instance, to have two attributes with
the same name but belonging to different POM classes. when you select Ignore the selected
POM class, the system searches for the attribute of a specific name in the loaded object,
regardless of which POM class it is in. The same behavior occurs with type properties.
6. (Optional) Select Select attribute from item. If, for instance, your company has a policy of
classifying item revisions, you can still show an attribute found in the item revision's item by
checking Select attribute from item.
7. If you choose to refer to an attribute found in an object related to the classified workspace object,
you can select which relationship from the Relations list or disregard the relationship by selecting
the Any relation check box.
8. Click OK.
4. Assign the new attribute to a class and classify a released item or item revision in this class.
Teamcenter displays the status of the new attribute in the Classification application.
Note
You cannot use this attribute as a search criteria.
For example, to see the extended list of item revision business object subtypes, add the
ItemRevision entry to the list of preference values.
Before After
Note
The number of decimal places actually shown is dependent on the number of decimal
places specified in the Number of decimal places attribute in the unit definition.
The optimization is based on the unit definitions assigned to the attribute. These unit definitions are
managed in the Unit Definition class in the Classification application. You specify whether a unit is
available for optimization in the Ignore for Optimization attribute in the unit definition ICO.
Specify whether Teamcenter should display optimized units in the Classification Admin application in
one of two ways:
• At the attribute level in the Dictionary pane—anywhere this attribute is used, its unit is optimized.
• At the class level in the Class Attributes pane—the value of this attribute is optimized in this
class only.
Teamcenter always takes the storage unit into consideration for optimization even if the Ignore for
Optimization option is turned on for that unit in the Unit Definition class.
When you display the attribute in the storage unit (either because optimization did not take place
or you selected the storage unit from the unit list),Teamcenter shows the number of decimal places
specified in the attribute definition and not the number specified in the unit definition. This is done to
ensure that the value you enter is saved by the system and not rounded by the optimization process.
If you want to view the full attribute value in different units without it being rounded to the number
of digits specified in the unit definition, you can set the ICS_override_unit_definition_precision
preference to true.
2. Locate the entry in the attribute dictionary that you want to modify.
3. Select the row in the attribute table that contains the attribute that you want to modify. The
properties of the selected attribute are displayed in the Attribute Definition pane.
4. Click the Edit button . You must be in edit mode to modify an attribute.
Note
If you are not in edit mode, you can modify the properties but you cannot save the
modifications to the attribute dictionary.
Note
The attribute ID cannot be modified.
2. Locate the entry in the attribute dictionary that you want to delete.
3. Select the row in the attributes table that contains the attribute that you want to delete. The
properties of the selected attribute are displayed in the Attribute Definition pane.
4. Click the Edit button . You must be in edit mode to modify or delete attributes.
6. Verify that you are deleting the correct attribute and click Yes to complete.
Teamcenter removes the attribute from the database.
4. If you are using Multi-Site, update the schema of all other sites that exchange classification data.
5. In the Dictionary tab in the Classification Admin application, click the Extended Properties tab.
This tab is displayed only after you add the metadata attributes to the unct_dict business
object and deploy it.
Teamcenter displays the new properties that you created in the Business Modeler IDE application.
Teamcenter displays these values in a tool tip on the attribute in the Properties pane of the
Classification application.
Tip
You can search for the newly created attributes.
Caution
The use of a wildcard (*) is not permitted for searching by attribute ID. To search
by attribute ID, you must enter the exact ID or leave the field blank to search for all
attributes.
3. Type search criteria text that corresponds to the property selected. For example, if you are
searching by name, enter the first letters of the attribute name followed by a wildcard character.
Caution
Selecting a language in this search sets the TC_language_search preference
interactively, which affects all Teamcenter localization.
Attribute count
When you perform a search of the attribute dictionary, Teamcenter displays the first page of
results in the Attributes table. Click the Load Next Page button or the Load All button to
load additional pages of results into the table.
6. (Optional) To copy the format of an attribute to a new attribute that you create in the Dictionary
pane, select the attribute and click Assign Format.
If an attribute is designated as mandatory, you can only hide it if at least one of the following is true:
• It is marked as Auto Computed.
Teamcenter displays automatically computed values before saving so you can verify them before
committing them to the database.
Classification users can override autocomputed attribute values unless these values are also
protected.
Caution
You can modify the layout of attributes in a view. When doing so, you can associate the
attribute layout to specific attributes. If you make extensive use of autocomputation and
turn off visibility on attributes, this can create unwanted results, especially when you use
frames and separators in the view layout. You must be careful when creating layout
elements using attributes that can be hidden.
When you define the availability of the extension to the business object, you must use the
following parameter values:
• Main program
Teamcenter uses the main program when creating the Business Modeler IDE extension definition.
This becomes the entry point for the computation logic. The program registers all the attribute
dependencies and computing functions.
• Computing functions
The computing functions contain the logic for manipulating attributes. Each function is registered
against an autocomputed attribute and, once registered, is called directly from Teamcenter
during normal execution.
Caution
To maintain consistency, Classification rules should not be edited in the Access Manager
application. Additionally, the Classification Access Control feature and the Access Manager
application cannot be used simultaneously.
ICO protection
Privileges applied to groups and classes determine which user, or groups of users, can view, add,
or modify the Classification objects (ICOs) associated with the group or class. The following figure
illustrates how privileges are evaluated to determine if a user has the privileges required to update an
ICO.
WRITE_ICOS privilege
denied
on the ICO's class?1
yes
WRITE_ICOS privilege
granted on the classified item or denied
item revision?3
not set
WRITE privilege
on the classified item or denied
item revision?3
DELETE privilege
granted / not set on the classified item or denied
item revision?3
WRITE privilege
on ICO?2
DELETE privilege
on ICO?2
Restrictions
• The IDs of classes and groups to which you apply privileges must not contain spaces.
• To maintain consistency, Classification rules should not be edited in the Access Manager
application. Additionally, the Classification access control feature and the Access Manager
application should not be used simultaneously.
• Because you achieve access control in Classification by adding named ACLs to the Access
Manager rule tree, only members of the system administrator group can modify access privileges.
Used by
Classification
access
Privilege control Purpose Inherited?
Read (R) Yes Controls visibility of a group or class in the hierarchy tree. When Yes
read access is denied, the object is not displayed in the tree.
This privilege overrides privileges set for the Classification objects Note
(ICOs) of a class. If read privileges are denied at the class level,
but granted for the ICOs of the class, the ICOs are inaccessible. Revoking the read
privilege cannot
be overridden in a
subclass; however,
granting the Read
privilege can be
overridden in a
subclass.
Write (W) Yes Controls whether a group or class can be modified, and when Yes
applied to a class, controls whether subclasses and views can be
added to the class.
Delete (D) Yes Controls whether a group or class can be deleted from the Yes
hierarchy. Restrictions on deleting groups and classes may prevent
you from deleting an object to which you have delete privileges.
For example, you cannot delete a class that has been referenced,
regardless of the privileges granted.
Change (C) Yes Controls the right to define access control privileges. Yes
Promote (p) No Not applicable. Not applicable.
Demote (d) No Not applicable. Not applicable.
Copy (c) No Not applicable. Not applicable.
Export (X) No Not applicable. Not applicable.
Used by
Classification
access
Privilege control Purpose Inherited?
Publish Yes Controls whether the group or class and its children can be shared No
to other sites. Additionally, if this privilege is denied, the user will
not be able to modify the list of shared sites in the class or group
definition.
Subscribe No Not applicable. Not applicable.
Write ICOs Yes Controls whether objects can be classified and stored within a Yes
class. Also controls whether existing Classification objects (ICOs)
can be modified. Attributes of the ICOs associated with part family
members cannot be modified unless write access is granted to
the part family template.
Note
ICOs that classify workspace objects are subject to further restrictions.
Note
Read privileges to child classes of a read-protected Classification group cannot be granted
unless the user is one to whom read privileges are also granted at the Classification group
level.
For example, John Smith, a member of the Marketing work group, cannot be granted
read privileges to the Widget A class because it is a child class of the In-Process Design
group. As a child, it inherits the privileges of the parent group, and according to the rule
defined in the figure above, only users with a role in the Design work group can be granted
read privileges to the Widget A class. If, however, John Smith maintained dual roles in
both the Marketing and Design work groups, he could be granted read privileges on the
Widget A class.
must be set restricting the capability to modify hierarchy definitions (group, class, view) to all but the
StdPartsAdmin work group, as shown next.
Note
Write privileges can be granted on child classes of a write-protected group.
Note
Creating an access rule under Privileges on ICOs controls access to stand-alone
(nonclassifying) ICOs only.
2. Choose the group or class in the hierarchy tree that is affected by the rule.
Teamcenter displays the definition pane for the group or class.
3. Click the Edit button on the toolbar to activate the definition pane.
4. If defining rules for a class, click the Access Control tab to display the Access Control pane.
When working with groups, the Access Control pane is displayed on the definition pane when
you select the group.
The Access Control pane displays the two AM rule tree roots related to Classification, along with
the standard Teamcenter Named ACL dialog box.
5. Choose the AM Rule tree root node that represents one of the following types of rule you want
to define:
• Privileges on class/group definition
• Privileges on ICOs
Privileges on class/group definition applies rules to the group or class and its descendants.
Privileges on ICOs applies controls to the ICOs that are created within the group or class.
8. Click the Add button located at the bottom of the Access Control pane. Teamcenter adds the
ACL to the rule tree.
9. Order the rules in the tree, as required, by using the up-arrow and down-arrow buttons next to the
tree. These rules are evaluated in order from top to bottom when a user attempts to access an
object. Thus, a rule directly beneath the root takes precedence over one further down the tree.
Note
You must be in edit mode to create named ACLs.
1. Type a name for the new ACL in the ACL Name box.
2. Click the Create button located next to the ACL Name box.
Teamcenter creates the ACL. However, there are no entries associated with it.
4. Double-click in a blank cell in the Type of Accessor column to display a list of predefined
accessor types.
5. Select the accessor type that you want to use for this entry.
6. Double-click in a blank cell in the ID of Accessor column to display the Select Accessor
dialog box. This dialog box contains a list of predefined roles corresponding to the type of
accessor you selected in step 4.
7. Double-click the role that you want to apply to the accessor. You can also select the role in the
dialog box and clicking OK.
Teamcenter displays the role of the accessor you selected in the ID of Accessor column.
8. Define privileges for the accessor by double-clicking in the Privilege column and choosing
one of the following options:
Grant privilege
Deny privilege
Blank entries are also valid. Using blank entries enables rules to accomplish focused objectives
by allowing objects and accessors to fall through rules that do not apply to them.
10. Click Save located to the upper right of the ACL table.
1. Choose the named ACL you want to change from the Named ACL list.
Teamcenter displays the details of the ACL in the table.
2. Modify privileges by double-clicking the column corresponding to the privilege and choosing
one of the following options:
Grant privilege
Deny privilege
Blank entries are also valid. Using blank entries enables rules to accomplish focused objectives
by allowing objects and accessors to fall through rules that do not apply to them.
3. Repeat steps 1 and 2 until all desired privileges have been granted or denied for this ACL.
4. Click the Modify button located at the bottom of the Access Control pane.
Note
You must be in edit mode to delete access rules.
2. Choose the group or class in the hierarchy tree that is affected by the rule.
Teamcenter displays the definition pane for the group or class.
3. Click the Edit button on the toolbar to activate the definition pane.
4. If you are deleting rules relative to a class, click the Access Control tab to display the Access
Control pane. When working with groups, the Access Control pane is displayed on the
definition pane when you select the group.
The Access Control pane displays the two AM rule tree roots related to Classification, along with
the standard Teamcenter Named ACL dialog box.
6. Click the Delete button located at the bottom of the Access Control pane. The rule is
removed from the tree.
7. Click Save on the toolbar to save the change and delete the rule from the database.
Results are listed in the Search Class dialog box. Choose a result from the list to expand the tree
and indicate the class and/or group.
You can also search by ID by entering id=xxx in the text box, where xxx is the class ID.
The search text can either be the exact name or ID of the object you are looking for or you can
use character strings combined with wildcard characters. The default multiple-character wildcard
is an asterisk (*) and the default single-character wildcard is a dot (.).
3. Click the left-arrow and right-arrow buttons to display the matching objects, one at a time. The
right-arrow button moves down the hierarchy tree; the left-arrow key moves up the hierarchy tree.
Note
If you prefer to view a list of the results, you can display the Search Class dialog
box (see the figure in Search using the Search Class dialog box) by clicking the
Magnifying Glass button located below the hierarchy tree.
Note
You can use the Name and Class ID properties to search for groups or classes.
When searching by attribute, the results include the class in which the attribute is
defined and any subclasses in which the attribute is used. Classes that inherit the
attribute are not included in the results.
Note
The search text box is case sensitive.
3. To start the search, either click the Magnifying Glass button located in the upper-right corner of
the dialog box or press Enter.
Teamcenter displays the results of the search in the message area of the dialog box, sorted in
the same order as the hierarchy tree display.
4. To display an object in the tree, double-click the entry in the results list.
The hierarchy tree expands to display the selected group or class. The path to the object is
indicated in bold text.
2. Right-click the node in the hierarchy tree and choose Add Image.
Teamcenter displays the Select Image File dialog box.
3. Locate and select an appropriate image file to be associated with the group or class.
4. Choose the appropriate reference for this file from the Reference list. If you want the selected
image to be the default image, choose ICS-ClassImage.
5. Click Import.
Teamcenter displays the image in the class viewer.
Note
If the image does not immediately load in the class viewer, reselect the node in the
hierarchy. This action initiates the image loading process.
• To remove an image from a group, click at the bottom of the Group pane.
• To remove an image from a class, click at the bottom of the Class Details pane.
• To remove an image from a view, click at the bottom of the View pane.
3. Click Save .
-or-
Imager.VIEWPANEL=com.teamcenter.rac.classification.common.G4MTwoDViewer
TwoDViewer displays the markup tree and the toolbar. With G4MTwoDViewer, no markup
tree or toolbar is visible in the viewer, but you can use the usual context menu commands for
manipulation, such as zoom, pan, or fit.
If you use 32-bit browsers, you see each image type as a tab to the right of the image. If you use
64-bit browsers, a Launch button is displayed in the viewer.
Part family templates are used in NX to define a set or family of parts that share similar form, fit,
and function but differ based on parameter values (for example, length, width, or diameter) that
typically control the physical characteristics of the part (or tool). The part families are created with
the help of a Microsoft Excel file that holds a list of all part family members.
You can generate ICOs based on Tcl macro files. This is generally used with legacy Genius4000
data.
Both part family templates and template parts contain expressions that describe a part parametrically.
For example, L1 represents the length of a drill. If you change the value of L1, you can quickly create
many drills (part family members or member parts) of different lengths. Although the behavior in
Teamcenter when using part family templates or template parts is very similar, the mechanics of how
graphics are created for the members in the background varies.
Note
Revisioning is supported with the template part method only.
An administrator must perform the following steps to configure graphics building for ICOs:
1. Associate the part family template or template part with a specific class.
A Classification user creates a new ICO by entering attribute values. When the user starts the
process to create graphics, Teamcenter starts the graphics builder executable that communicates
with NX in the background and generates a new part family member or member part using the new
attribute values. The graphics builder executable also creates a 3D model and, optionally, a JT file.
These are stored in the database, and the JT file is displayed in Classification.
Note
Graphics builder is supported in a four-tier environment only.
Caution
• You can configure the graphics builder on a Windows or Linux server platform only.
For information about supported versions for NX, see the hardware and software
certifications page on GTAC.
3. Select Perform maintenance on an existing configuration and click Next until you reach the
Feature Maintenance pane.
Note
This option is available only if you have previously installed NX Integration.
Value Description
NX Install Location Specify the path to the NX installation.
Graphics Builder Base Specify the port used for the HTTP graphics builder server. Any
Port free port is valid.
Number of Ports Specifies the maximum number of graphics builder instances to be
started.
Server Manager URL Specify the Teamcenter server URL.
• Writes the path to the NX installation into the start_nx_graphicsbuilder.bat file as the value
for the UGII_BASE_DIR variable. This file is stored in the Teamcenter_root\bin\nx_graph
directory.
UGII_UGMGR_HTTP_URL
Sets the variable to the pool manager URL. This is the URL that you
use to open the web client.
TC_GB_BASE_PORTSets the variable to the base port for the graphics builder server. The
first graphics builder server starts on this port and subsequent servers
start on ports 7008, 7009, and so on up to port 7016.
TC_GB_NUMBER_OF_PORT
Sets the variable to the number of graphics builder instances. For
example, if this variable is set to 10, a maximum of 10 graphics builder
users is supported.
Note
This configuration works only if Teamcenter and NX are installed in the same location on
both Teamcenter server and client.
For more information about how to create part family templates, see the NX Help Library.
Caution
For graphic generation to work correctly, you must choose Importable Part Family
Template in the Part Families dialog box in NX. This ensures that the two columns,
DB_PART_NO, and OS_PART_NAME appear in the part family spreadsheet.
An administrator attaches part family templates to class definitions in Classification Admin and maps
the attributes of the class to the variable properties of the part family template. When you assign
values to an instance of a class to which a part family template is attached in the Classification
application, you can create a part family member by clicking the Create/Update graphic from ICO
button after saving the ICO.
Note
Multiple templates can be attached to a single class. In this situation, when you create a
part family member for an ICO, you must decide which template to apply. When you create
the part family member, a relationship is established between the ICO and the template.
Once this relationship is established, you cannot create a part family member for this
ICO using a different template.
• You can reclassify a component (move it from one class to another) and re-create the graphics
based on the template part in the new class.
• You can easily update or replace an existing template part file (for example, to fix incorrect
geometry in the template).
To use template parts, you must perform all the setup and configuration steps required for using
part family templates.
When working with template parts, there are two scenarios possible when you update a member
part. You can refresh member parts by updating with new classification attribute values, or you can
re-create the geometry from the template part.
In addition to associating a part family template or template part to a particular class, you can choose
to have the system look upwards in the hierarchy to find part templates that are associated to parent
classes by clicking Use hierarchy. If these parent classes have stipulated that the template can be
used in child classes, you are offered a selection of all available templates when you create ICOs
for the class. These templates come from both from the current class and from any parent classes
whose templates are available for child classes.
• When you attach the item revision, you must select the desired revision with which to create
graphics.
Choosing an item rather than an item revision allows you to revise the item in response to changes to
the part. You can make modifications to the part family template or template part, which, in most
cases, leads to the creation of a new item revision.
1. Do one of the following:
• Use the clipboard in the My Teamcenter application.
a. In the My Teamcenter application, choose an item or item revision containing the part
family template or template part.
d. Click the Select from Home Folder button beside the Template box.
The system displays a navigation tree containing your home folder.
e. Navigate to the item or item revision containing the desired part family template and
click Attach.
f. Specify whether the item or the item revision of the newly imported part file is associated
with the class and select Import.
Teamcenter pastes the template into the Available Templates list; however, the template
expressions are not displayed until the list is refreshed.
Note
Modifying part family templates may invalidate the mapping between part family template
and class definition. If this occurs, you can modify and validate the mapping and update
the ICOs after the item revision is created.
When working with template parts, you may choose whether to load all or only a subset of
expressions into Teamcenter.
• If some expressions are marked as TC in the Comments column of the expressions in NX, only
these expressions are displayed in Teamcenter.
• If the Comments column remains empty, all expressions are loaded into Teamcenter.
Expressions in NX
1. Select one or more expressions in the unmapped attributes list (on the Graphics Builder tab),
and click .
The system displays the part family expressions and their corresponding class attributes in
the Mapping table.
3. (Optional) Validate the mapping by clicking the Validate mapping button . The validation
feature provides information about expressions that no longer exist in the template.
4. Repeat the preceding step until all the attributes are mapped.
6. (Optional) Validate the mapping by clicking the Validate button . The validation feature
provides information about expressions that no longer exist in the template.
only one time after attaching the part family template to a specific Classification class. Do not confuse
this procedure with creating ICOs for graphics.
Note
When created, ICOs are automatically named. This name is made up of member
name/template revision, for example, for part family member 000025 and revision A, the
ICO name would be 000025/A. ICOs cannot be created if an ICO with the same name as
the part family member already exists in the database.
• Move the ICOs from the original class to the current class (by dragging them from one
class to another in the Classification application). ICOs corresponding to these part family
members then exist in the current class, but are not associated to the part family template.
You can choose to reassociate these moved ICOs with the part family template by clicking
Connect existing ICOs.
• Create new ICOs in the new class causing the items to be classified in both the old and
the new class.
After creating ICOs, you can switch to Classification and navigate to the class in which you
were working. This class now contains new ICOs—one for each part family member from the
template. The object ID of these ICOs is comprised of the name that you entered as Part_Name or
DB_PART_NAME in the part family template appended with /template revision.
Note
Siemens PLM Software recommends creating graphics using the part family template or
template part method. The Tcl evaluation method is generally used for dealing with legacy
data.
• evaluateScript:yes
• evaluateScriptWhenNotSet
This overwrites the not set values for Tcl script evaluation in your classification classes.
If you set this preference, Tcl scripts are evaluated even if Tcl Script Evaluation is
set to not set in the individual classes.
2. If the scripts are not already in this folder, copy them there. You must maintain the directory
structure you used in Genius4000.
3. (Optional) Set the default value for script evaluation when creating new classes. To do this,
specify the following preference:
evaluateScript:your_setting
your_setting can be yes, no, or not set.
Note
You must install the sample directory using Teamcenter Environment Manager.
When evaluating Tcl scripts, the system expects to find a file with the name
ics_graphicsbuilder.tcl in the folder specified by the ScriptEvaluationPath preference. The
system sources the file and then calls the procedure. The script programmer designates what
the file and procedure accomplish. To see an example, look at the following files found in
TC_ROOT\sample\in-CLASS\Tcl:
ics_graphicsbuilder.tcl
myclass.tcl
This code creates/updates a part file containing a block for a classification instance in class
myclass using the values of attribute IDs –200000, –300000, –400000, representing height,
width, and length.
The attribute values are set as Tcl array variables GRAPHICSBUILDER_PARAMS (attribute-id).
The system assumes that the createGraphics procedure creates a part file with a specific name.
The script can ask for this name by calling the UGB_ask_partfile_name procedure. If this part
file exists, the classification instance for which this script is being evaluated classifies this object.
You can use all the functions for Tcl script evaluation that were available to you in Genius4000.
• TC_MFK_DEFAULT_DOMAIN
This specifies the Teamcenter default domain. This is set to Item by default to use the standard
default domain.
Note
If you are going to change the default domain to a different value than Item, contact
the Siemens Global Technical Access Center (GTAC) for assistance in setting up NX.
• TC_NX_Supports_MFK
If set to True, NX supports items in all Teamcenter domains. If this is not set, then NX can only
access those item types that belong to the default domain. This is not set by default.
• When attaching an multifield key part family template to a classification class, all multifield key
attributes from this template must be mapped to classification attributes.
In Classification:
• When creating graphics, all classification attributes mapped to (mandatory) multifield key
properties must contain a value so that NX is able to successfully create the member.
• When updating graphics, all classification attributes mapped to multifield key properties are
ignored (as the information is already available from the classified object).
Use the Show graphics information button to see which method will be used to create graphics
for the selected class. An information window opens showing you the status of each part family
template. It tells you why a template is or is not available for graphics creation.
The following table provides you with an overview of the options available to influence part family
template or script priority:
In this example:
• Class A has two part family templates attached—PFT 1 and PFT 2.
• Class B is a child class of Class A and has no part family template. Tcl script evaluation is not set.
• Class C is a child class of Class B and has one part family template attached—PFT 3. Tcl script
evaluation is not set.
• Class D is a child class of Class A. It has no part family template assigned. Tcl script evaluation is
set to yes.
• Class E is a child class of Class D and has no part family template. Tcl script evaluation is not set.
• Class F is a child class of Class E and has one part family template attached—PFT 4. Tcl script
evaluation is set to no.
The following tables show various option combinations and their effect on which template is available
to create graphics:
Use in
Tcl script Use child Default
Classes evaluation hierarchy classes Type name template
Class A – PFT 1 Not set Master
Class A – PFT 2 Not set
Class B – no pft/script Not set
Class C – PFT 3 Not set Master
Class D – Tcl Script Yes
Class E – no pft/script Yes
Class F – PFT 4 No
If you switch to Classification and generate graphics for ICOs in each class, the following methods
for graphic generation are available:
• You can only create part family member ICOs at the master site. These are then shared with the
local sites if the ICS_share_related preference is set to partFamilyTemplates.
Note
This feature is used to share hierarchy data, not Classification instances. Classification
instances are shared as attachments to item and item revision workspace objects, via
Multi-Site Collaboration.
To share Classification data, Multi-Site Collaboration must be installed at each site, the list of shared
sites must be defined using the ICS_synchronize_sites preference, and the IDSM service must be
running at both sites. If you want to share data automatically, the ICS_synchronize_automatically
preference at the local site must be set to 1 and the subscriptionmgrd process must be running.
For example, to share data from site A to site B and from site B to site A, the subscriptionmgrd
process must be running at both sites.
Note
• The Classification Multi-Site Collaboration feature does not use Object Directory
Services (ODS).
• Errors due to the transfer of classification objects are listed in the Subscription
Manager log file.
• Before sharing, you cannot have any duplicate IDs at any of the sites.
• Do not share any classes or attributes that are delivered with the software, such as the
unit definition classes. If you do, you cannot share any classes that you create that
contain any of these attributes.
• If you change a site name, you must run the smlutility utility with the
–update_shared_sites option.
Object ownership
Objects can be shared with multiple sites, but in order to maintain data integrity, ownership of an
object is restricted to a single site. When data is shared, a read-only replica is created for each site on
the shared site list. Classification uses the concept of a Classification master site to track ownership
of the hierarchy. A site is the master site for a class or group if all descendants are owned at this site.
Therefore, different parts of the hierarchy can be mastered by different sites.
You cannot add children to parents that are not locally owned. Therefore, you must transfer
the ownership to the site that is allowed to add children. By tracking ownership, the master site
tracks where classes are added locally. You can use Access Manager to protect the transfer of
the mastership.
Before you add or remove attributes from a shared class, you must ensure that the intended master
site has access to and owns all children of this node. You must manually confirm that a site has been
set up as a master site by setting the ICS_classification_master_site preference to true.
Warning
You cannot perform a change to the class hierarchy that requires a change to its ICOs (for
example, removing attributes) if the class is already shared.
If the classification hierarchy is exchanged between sites using XML or SML files instead of
Teamcenter Multi-Site Collaboration, you must apply the same change to all sites.
If a site does not support Classification, you can specify a remote site that can classify objects for that
site using the ICS_classification_site_for preference.
Object dependencies
Dependencies between classification hierarchy objects require that the associated objects also be
shared. For example, to share a view definition, you must also share the class definition and its
parent classes, the dictionary objects (attributes), and the key-LOVs associated with the view. You
are asked if you want to share the class definitions when selecting sites with which to share the view.
Dictionary objects and key-LOVs are shared automatically if this is necessary to share a view/class.
The following table shows the dependencies between Classification objects.
When exporting objects, at any exporting site, the importing sites are first evaluated to see that they
can import from this site. Because all potential sites are available in this organization, when the
Import privilege is revoked on World, it evaluates to site 2 not being privileged to import.
Instead, to allow only the selected users to import or export, use the following access control list.
• Access checks are configured and checked at the exporting site only.
• To successfully export an object, the target site must be allowed to import from the given source
site.
In this example, the Access Manager rule tree is configured as follows to identify Classification
data from a specific class.
To achieve the necessary access control, configure the access control list as follows:
• To revoke access to exported ICOs from site 1 for a specific user (in this case, dte1) when
performing the remote export operation, set the access rights as follows.
To be able to perform access checks at a granular level instead of simply evaluating the remote
site when remotely importing from any other site (for example, site 2), you must additionally set the
TC_check_remote_user_priv_from_sites preference to site1 and it must contain site2 as one
of the values. This indicates to the IDSM server on site 1 to evaluate the remote user from site 2.
Note
As this preference is honored only on the IDSM site, it is used only in a remote import
operation.
• To revoke access to import ICOs from site 1, configure the ACLs as follows:
o To stop objects from being exported to a specific site (for example, site 2), disallow site
2 to import from this site.
o To stop objects from being exported to all remote sites, disallow all remote sites to import
from this site.
2. From the Available sites list, choose the sites with which you want to share the object.
4. Click OK to select the sites and close the Shared Sites dialog box.
Each time that the object is saved, it is automatically updated to each of the shared sites, provided
that automatic synchronization has been enabled.
2. In the Available sites list, remove the site with which you no longer want to share the object
by selecting the site name and clicking the left-arrow button.
4. Manually remove the object from the classification hierarchy at the remote site.
2. Manually remove the object from the classification hierarchy at the remote site.
Alternatively, you can delete a class using the smlutility utility.
icm0
icm1
smlb0
smlb1
bldb0
bldb1
stxt
unct_dict
smllabel
2. In the hierarchy tree, select the object for which you want to claim ownership.
3. In the definition pane, located on the right, click the Transfer Ownership button. The system
displays a confirmation dialog box.
4. On all remote sites, move the local ICOs from the old classes to the new.
6. To retain the original class IDs, copy the new class hierarchy back to the old IDs and copy the
ICOs back to the appropriate classes.
3. Share the classification hierarchy from the site containing the master hierarchy to all the remote
sites using the Multi-Site Collaboration features found within Classification Admin. After this step,
the ICOs that remained at the remote sites are correctly housed in the new hierarchy.
Warning
If you add attributes to classes at remote sites, you must check the values of the ICOs
belonging to these classes after the import. Depending on where you inserted attributes in
the class, there may be errors in the ICO values.
Warning
This task carries a multitude of risks to the integrity of your classification data. Only an
experienced Classification administrator should perform this procedure.
1. Back up the hierarchy structure at the local sites by backing up your database. Also,
export the hierarchy using PLM XML. To do this, select the SAM node, and choose the
ICSExportSubtreeWithICOS transfer rule for the export. This transfer rule includes all attributes,
key-LOVs, and ICOs used in the classes.
2. Remove the class hierarchy at each site with the smlutility using the following command:
smlutility –delete –u=user_name –p=password –g=group_name
–id=SML_CLASS –recurse –force
SML_CLASS represents the class that you want to delete from the hierarchy. This command
deletes the class and all its child classes.
Warning
The Classification root class is ICM. Do not delete this class. Delete each class that is
directly underneath this class in the hierarchy.
The –recurse option ensures that everything beneath the specified class is removed.
The –force option causes classes to be deleted even if they contain ICOs. The ICOs are not
deleted.
Note
Remember to remove the guided component search class (GCS) from the hierarchy.
It may be necessary to enter this command multiple times as it sometimes leaves a residual
hierarchy. To check which classes still exist in the hierarchy, you can enter the following command:
smlutility —list user_name password group_name class
3. Delete all attributes from the Classification dictionary with the following command:
smlutility -delete -u=user_name -p=password -g=group_name -attribute
-id=*
Share classification hierarchy using the Multi-Site Collaboration dialog box from within Classification
Admin. When you share a class to a site, all dependent objects such as parent classes, attributes
from the dictionary or key-LOVs are shared automatically. Therefore, you only need to share each
child node.
Note
If you use guided component search, remember to share this data.
2. Click the Edit button . You must be in edit mode to modify group or class definitions. The
definition pane displays information about the group or class on the right.
4. Using the Select Image File dialog box, locate and choose the image that you want to associate
with the group.
You must use standard Java graphic file formats (GIF and JPG).
2. Click the Edit button . You must be in edit mode to modify group or class definitions. The
definition pane displays information about the group or class on the right.
Based on this information, the system checks for a matching component. The system finds a match if
the following match:
• GCS connection type
Both components must have the same connection type.
Connection definition is done on a class level, not for specific instances. This means that all ICOs in
one class use the same comparison criteria to search for matching components.
Consider the following example. Determine if the components shown match according to the
principles of the guided component search.
Drill with a cylinder connection type and plug Collet with a cylinder connection type and socket
physical shape and the following pertinent physical shape and the following pertinent
attribute values: attribute values:
–4110 Shank Diameter = 10.0 –4120 Seat Diameter = 10.0
–4100 Parallel Shank Type = 'A'
In each class (drill and collet), the class attributes are mapped to the connection type attributes
as follows:
Evaluating the connection type attributes for these two components, their values are as follows:
Connection point
Connection type Connection point attribute values for drill attribute values
attribute (plug) for collet (socket)
–4121 10.0 10.0–0.5 = 9.5
–4122 10.0 10.0
–4100 A A
Connection
Attribute type
Connection values for drill comparison Attribute values
type attribute (plug) criteria for collet (socket) Results
–4121 10.0 ≥ 9.5 Matches
Connection
Attribute type
Connection values for drill comparison Attribute values
type attribute (plug) criteria for collet (socket) Results
–4122 10.0 ≤ 10.0 Matches
–4100 A = A Matches
The guided component search finds that these two components match.
There are two things to remember about this type of search:
• All attributes must match.
• The system differentiates depending on the connection point from which you begin the search. In
the previous example, when the search begins at the drill (plug-side), the system searches for a
component that has the following:
o A minimum clamping range value that is less than or equal to 10.
If you begin the search at the collet (socket-side), the system searches for the following:
Before you can use the guided component search, you must create a set of global connection types
from which to choose when you create connection point definitions within the individual classes.
These are stored in the database.
Connection types represent the junctions between two parts that must fit together, such as a holder, a
round insert, a rhombic insert, a square shank, or a tapered shank. In the following figure, there are
four different connection point types: cylinder (1), collet (2), KM (3) and taper (4).
• A set of attributes (optional—if no attributes exist, the system simply checks whether the
connection types match).
You manage connection types in the GCS Types tab in the Classification Admin application. This tab
contains a list of all existing GCS types, sorted alphabetically. The right pane shows the attributes
and their comparison criteria belonging to the GCS type selected on the left.
To update the connection type list at any time, click the Refresh/Reload button at the bottom
of the Existing GCS Connection types pane.
You can create connection types manually or use the gcs_import utility to create multiple connection
types at once.
To create connection types manually:
1. Click the GCS Types tab.
2. Click the Create button on the toolbar. The system displays the New GCS Connection
Type dialog box.
3. Enter a unique name for the connection type and click OK. The new connection type is added to
the list of connection types in the left pane. You can now add attributes to the new connection
type.
Note
You can only add attributes to those connection types that have not yet been used
in connection point definitions.
4. Click the Add Attribute button at the bottom of the attribute pane. The Add Attribute dialog
box opens providing you access to all available dictionary attributes.
5. Select the desired attributes and click OK. The attributes are displayed in the Attributes &
GCS Comparison Criteria pane.
6. In the Operator box, select from the values in the following table.
Operator Meaning
n.a. Not applicable
= Equal
<> Not equal
< Less than
<= Less or equal
> Greater than
>= Greater or equal
Fact. Relative range
Diff. Absolute range
Plug-side
Attribute ID Attribute name value Operator Socket-side value
–10030 Length 90 Fact. 80
If L1 = 10 cm, the holder value required in this example must fall between 9 cm and 12.5 cm.
Conversely, if you begin your search from the holder, which has an L2 value of 15 cm, you must find
the tool whose L1 length is as follows:
(80*L2)/100 ... (L2 * 100)/90
Therefore, any tool with an L1 length between 12 cm and 16.7 cm will fit into the holder.
The Diff. operator functions in a similar fashion using an absolute range instead of a relative
range. For example:
Plug-side
Attribute ID Attribute name value Operator Socket-side value
–10030 Length 1 Diff. 2
If you begin from the drill whose L1 value = 10cm (the plug-side value), the holder value L2 must be
in the range of 10 – 1 to 10 + 2, or 9 to 12 cm.
Warning
If you delete a connection type, the system deletes this connection type and all connection
point definitions and connection points using this connection type. This could seriously
impair the guided component search.
2. Select the GCS type from the list in the Existing GCS Connection Types pane.
3. If you are not in edit or new mode, click the Edit button .
4. Click the Delete button . The connection type is removed from the list of existing GCS
connection types.
You can create a report that lists the following information about the selected connection type:
• The name, attributes, and comparison criteria of the connection type.
• The number of classes containing this connection type in their connection point definitions and
how many connection point definitions of this type they possess.
• A listing of the classes in which the connection type is used, along with the connection point
definition index, the direction, shape, quantity and number of connection points.
2. Select the connection type from the Existing GCS Connection Types pane.
3. At the bottom of the Existing GCS Connection Types pane, click Connection Type Report
. A dialog box displays this report.
• A Defined in Class entry specifying in which class the definition was created.
Connection point definitions are inherited from a parent class to all subclasses.
Note
Because of the parent-child relationship in the hierarchy, a class can have only one
connection point definition pointing in the upward direction.
• A quantity.
A component can contain a number of identical connection points, such as in the case of a
helical milling tool.
• An attribute mapping.
Each connection type has its own set of attributes. The attributes belonging to the class for
which you are creating the connection point definition need to be mapped to these connection
type attributes.
When you save connection point definitions, Teamcenter creates a connection point for each
component in the class. If the class contains multiple connection point definitions, Teamcenter
creates a connection point for each definition.
Note
Updating the connection point data for each ICO in the a class can be time-consuming,
depending on the number of instances in the class.
At any time while you are working with connection point definitions, you can update connection points
derived from the selected connection point definition, or update all connection points of all objects
pertaining to the selected class using the Update buttons .
You can create connection point definitions manually or use the gcs_import utility to create multiple
connection point definitions at once.
To create connection point definitions manually:
1. In the Hierarchy tab, select the class to which you want to add the connection point definitions.
3. Click .
4. In the Connection Point Definitions pane, click the Add Connection Point button . A new
row appears in the pane.
5. Enter values for the shape, direction, connection point quantity, and connection type.
6. For each connection type attribute, you can define the mapping method. You can choose from
these options:
• Map to an absolute value. In the Mapped Attributes section, enter the value in Mapping
box, for example, 10. You must place text within single quotation marks, such as 'Released'.
• Map to a specific class attribute value. In the Mapped Attributes section, enter the attribute
into the Mapping box using the arrow buttons as follows:
o maps the selected class attribute to the selected connection type attribute.
o checks if any connection type attribute IDs match class attribute IDs and
automatically maps these.
o removes the attribute mapping for the selected connection type attribute.
Note
You can also enter attribute IDs manually into the box.
• Map using a mathematical expression. Enter the expression in the Mapping box. You must
put a hash sign before the attribute number, for example, #–2503. You can use one attribute
and a value, such as in the following example:
#–4120+0.5
The absolute value 0.5 is added to the value of class attribute – 4120 and the result stored
in the connection point attribute.
The following four mathematical operators can be used:
+, –, *, /
When you define expressions, ensure that the result complies to the given attribute format,
for example, real /int or number of digits.
You must ensure that the format of the mapped attribute values match. You cannot, for example,
map a string to a float.
7. Click Save.
Teamcenter saves a connection point for each component in the class. If you created multiple
connection point definitions, Teamcenter creates a connection point for each definition.
When mapping attributes during the guided component search, you can use a substring operator in
the Mapping column that specifies that only specific characters in a string are mapped.
#SUBSTR(attribute-ID, first-character-index,last-character-index)
Teamcenter looks for the specified attribute, and then copies the characters from first-character-index
to last-character-index to the target attribute.
The table demonstrates which characters are mapped to the target attribute from a source attribute
with an ID of -1102 and a value of AXR15739.
Note
If you use the wildcard symbol as the
second index, Teamcenter copies all
characters from the first index to the end
of the string.
#SUBSTR(-1102,2,4) XR1
1. Select the class that contains the connection point definition in the class hierarchy.
3. If you are not in edit or new mode, click the Edit button .
4. Select the line containing the connection point definition that you want to modify and make the
necessary changes or add or remove lines.
5. Click Save.
3. If you are not in edit or new mode, click the Edit button .
4. Select the line containing the connection point definition that you want to delete.
5. Click the Remove Connection Point Definition button at the bottom of the pane.
6. Click Save.
3. At the bottom of the Existing GCS Connection Types pane, click the Connection Point
Definition Report button . A dialog box opens displaying this report.
Class
attributes Guided component search connection type attribute
Integer String Date Real KeyLOV
Integer X X
String X
Date X X X X
Real X X X
KeyLOV X
Note
You can only use the SUBSTRING operator if the source attribute is of the String type.
2. Store the catalog in a directory that is accessible to the Teamcenter server machine. You can
do this by:
• Copying the catalog to a directory on the Teamcenter server machine.
3. Store the path to the directory created in the previous step in the MRMGTCVendorCatalogRootDir
preference.
This is a multivalue preference. You can specify multiple directories where vendor catalogs
are stored.
4. In the Classification Admin application, select the Vendor Catalogs node in the hierarchy and
click the Import Vendor Class Hierarchy button in the toolbar.
Teamcenter displays the Import Vendor Catalog Hierarchy dialog box that lists all the tool
vendor catalogs found.
Teamcenter imports the tool vendor catalog hierarchy under the Vendor Catalogs node of the
classification hierarchy.
3. In the Import Vendor Products dialog box, select the package that you want to import from the
list of available Generic Tool Catalog packages.
4. Click Import.
5. (Optional) Open the resulting log file to view the import state of individual components.
Caution
Depending on the size of the package you select, this action can take several hours to
complete.
In turn, when you map a catalog component to a customer component, the customer component
contains attributes that refer back to the vendor component.
When you open a mapped customer component and initiate the 3D model import, Teamcenter uses
this reference to locate the original catalog component. Teamcenter stores the ICO modification date
from the vendor tool component in the Vendor Reference Date attribute during the mapping.
than the target classes. In this case, you must create advanced mapping definitions from attribute X
to attribute Y for each value.
For example:
-1000 -3000 N 0
-1010 -3010 LEFT L
-1010 -3010 RIGHT R
-1010 -3010 NEUTRAL N
The attribute mapping definition is held in the MRM Mapping Attribute Value Replacements class
(class ID MRM_map_replacements) that resides under the SAM Classification Root node in
the classification hierarchy.
1. In Classification Admin, move the MRM Mapping Attribute Value Replacements class from the
SAM Classification Root node to the Classification Root node using drag and drop.
The ID of the ICOs is irrelevant. If there are two or more ICOs that specify the same source and
target attribute ID combination, the mappings are combined. By default, 195 attribute values can
be mapped in one ICO. If more mapping definitions are needed, you can create multiple ICOs.
5. (Optional) Move the MRM Mapping Attribute Value Replacements class back to the SAM
Classification Root node to protect it from inadvertent modification.
When mapping, Teamcenter first checks if an advanced mapping definition exists that pertains to
the current target attribute ID. If so, it checks if the current source value is contained in the list and
maps using that information.
2. In Resource Manager, open a resource from the tooling library and click Create/update site
specific data for resources.
The first time you click the Create/update resource site data button, Teamcenter creates the
following new classes under the SAM node in the hierarchy along with four new attributes.
3. Add the class IDs for which you want to create the site-specific properties to the MRMSiteData
preference.
This preference defines the classes used to store the site-specific data for resources. For each
class listed in this preference, a tab is displayed in the Resource Site Data dialog. For example,
if the value of this preference is:
MRM_SITE_DATA_01 (class name: Status)
MRM_SITE_DATA_02 (class name: Vendor)
The dialog box in Resource Manager displays two tabs called Status and Vendor.
The class name and attributes define the title of the tab and the attributes that are displayed in
the tab. You can extend the MRM_SITE_DATA class structure to include any class that suits your
needs. The attributes contained in the classes listed in this preference are the attributes that are
displayed when you create new site-specific properties. For example, the Status class contains
two attributes, and these are displayed when you create new site-specific data on the Status tab.
1. Create reference attributes for each attribute for which you want to search.
a. Create an attribute and select Reference Attribute during creation.
b. Click Configure.
Caution
To avoid unexpected search results, when extending the site-specific data
framework, create subclasses of the MRM_SITE_DATA class and add any new
attributes to the parent MRM_SITE_DATA class allowing them to be inherited to
the new subclasses. When you create a reference attribute referring to the new
attribute, Teamcenter then searches for the new attribute value in the correct
position.
2. Add the reference attribute to each class in which you want to search.
The Signals value is saved in the Fnd0LibraryType LOV. You can extend your customer
template to include additional entries to this LOV in the Business Modeler IDE.
By default, you can choose a Signals library type. If you installed the MATLAB integration,
Teamcenter also displays the Behavior Model library.
• The projects in which this library participates. A library can be associated with multiple
projects.
The following import and export methods no longer support new features. It is advisable to use PLM
XML to ensure that your data is correctly imported and exported.
• Interactive legacy XML method
This accepts data from any XML source file that conforms to the schema defined in the
in-class.xsd file.
Caution
Do not confuse these data import and export features with the Export translated object
feature that imports and exports display names for translation purposes.
Note
When importing with PLM XML, Teamcenter aborts the import if it finds errors in
the data. When importing views, the import aborts if it encounters an attribute not
contained in the parent class. You can change the view import behavior using the
ICS_import_view_drop_attributes_not_in_class preference.
For exporting, Classification Admin offers you additional transfer modes customized for classification
data.
Note
Classification and Classification Admin differentiate between a user class (all objects
exported as one PLM XML element) and an admin class (each object exported as an
individual element). Classification Admin allows you to export admin classes only. To
export user classes or ICOs, use the Classification application.
4. In the Target Application box, select the transfer mode that you want to use for exporting
your data.
5. Enter a file name for your export file in the Output File box. Alternatively, you can browse to an
existing file using the button.
6. If you work in a localized environment, select the language for which you want to export
translations.
Note
Teamcenter exports approved translations only.
7. Click OK. Classification Admin exports all the data that you specified via the transfer mode to the
specified file. You can view this file in a Web browser or in any XML editor.
The Classification application allows you to export data using the ICO as the starting point. The
following table lists the transfer modes that you can use with Classification and the information
they export.
To export an ICO with its admin class, views, parents, dictionary attributes, and key-LOVs, as well
as the object it classifies (product data), you must modify the ConfiguredDataExportDefault
transfer mode.
Note
If you work in a localized environment, Teamcenter exports approved translations only.
2. In the copied transfer mode, find the following closure rule clauses.
5. Modify this transfer mode to include any additional closure rules for your company-specific data.
• When you import a classification object (dictionary attribute, keylov, class, view, or ICO) using
PLM XML and the object already exists in the database, the import action updates existing
objects in the database.
The Classification import functionality ignores the incremental change flag on transfer modes
and updates existing classification objects.
Note
The -import and -export arguments of the smlutility utility are deprecated and do not
support newer features. To ensure that your data is imported and exported accurately,
use PLM XML.
To help you become familiar with the sml file format and the process of importing and exporting
the data necessary to create your classification hierarchy, a directory of sample files, along with a
brief instructional page entitled Readme.txt, is included in your Teamcenter installation and can be
found in the following location:
tcdata\sample\in-CLASS
• Key-LOV
• Class
• View
• Instance (generic)
You can only define instances in a generic way when using the Classification schema. To provide
the required control over the content of the instances, a separate schema definition must be
evaluated from the definition of the class to which the instances belong. Each Class definition
data forms an XML schema definition and the instances are validated with the schema definition of
their corresponding classes.
The in-class.xsd schema definition file is located in the TC_DATA directory.
Teamcenter uses the xsl transformation to transform the class definition XML data to the
In-Class_class-ID.xsd schema file for any instances of the class. Typically, the schema definition
for instances of a specific class have inClassInstance as the root element that contains ICO as
the element representing each instance object. The in-class_instanceschema.xsl file is located
in the TC_DATA directory.
3. Modify the output file name or choose an output file by clicking the Browse button.
Note
The output file is an XML file conforming to the schema definition as defined in the
in-class.xsd file.
4. Choose the Export Class XML option in the Export Type pane.
5. (Optional) Choose the Generate XML Schema for Instances option to generate an XML
schema definition file for any instance objects of the selected class. You can then use this
schema definition file to create XML files for the instance objects of the class. When you choose
the Generate XML Schema for Instances option, the options for the related Attribute and
Key-LOV objects are automatically selected, as this information is required to generate a
complete definition file. Teamcenter creates the file in the same directory as the output file
defined in step 3 above and is named In-CLASSID-of-the-selected-object.xsd.
6. Choose one or more of the following export options for the operation:
• Export Parent Classes
Determines whether parent classes of the selected object are exported.
• Export Hierarchy
Specifies that all of the groups, classes, subclasses, and views that form the hierarchy from
the root node to the selected class are exported.
• Export Subclasses
Specifies that the subclasses associated with the selected class are exported.
These options enable you to export objects associated with the selected class.
• Attribute
Specifies that all attributes associated with the selected object are exported.
• Views
Specifies that the views related to the selected classes, parent classes and subclasses are
exported. Availability of the view options depends on the types of class definitions being
exported: parent classes, hierarchy, or subclasses.
• Instances
Specifies that the instances related to the selected classes, parent classes and subclasses
are exported. Availability of the instance options depends on the types of class definitions
being exported: parent classes, hierarchy, or subclasses.
By default, none of the filters are selected. If you do not select a filter or filters, the system
exports only the class definition.
8. Click the Export button. The class object and associated data, as defined in the previous steps,
are exported to the XML file.
Teamcenter displays the progress of the export operation in the Message Center and then
displays a confirmation dialog box when the operation completes.
Note
You cannot export classified objects along with instances using XML. If you want to export
classified objects with the ICOs, you must use PLM XML.
1. In the hierarchy tree, choose the class containing the instances that you want to export.
which is initially the ID of the selected class. If subsequent export operations are performed within
the same session, the XML Export dialog box displays the data from the previous operation,
rather than the default path.
3. Modify the output file name or select a new output file by clicking the Browse button.
Note
The output file is an XML file conforming to the instance schema definition that is
generated along with the output file. The schema definition file is created in the same
directory as the output file and is named In-CLASSID-of-the-selected-object.xsd.
4. Choose the Export Instances XML option in the Export Type pane.
Note
Attribute definitions are also exported in association with class objects.
2. Locate the entry in the attribute dictionary that you want to export.
3. In the Attributes table, select the row containing the attribute that you want to export. The system
displays the properties of the selected attribute in the Attribute Definition pane.
Note
The output file is an XML file conforming to the schema definition, as defined in the
in-class.xsd file.
5. Modify the output file name or select a new output file by clicking the Browse button. You cannot
export data to an existing XML file.
6. If the format of the selected attribute is KeyLOV, select the KeyLOV filter to export the key-LOV
definition along with the attribute data.
Note
Key-LOV definitions can also be exported in association with class objects.
2. In the Existing Key-LOV list, select the row containing the key-LOV that you want to export.
Teamcenter displays the properties of the selected key-LOV in the Detailed Key-LOV Definition
pane.
Note
The output file is an XML file conforming to the schema definition, as defined in the
in-class.xsd file.
4. Modify the output file name or select a new output file by clicking the Browse button. You cannot
export data to an existing XML file.
5. (Optional) Modify the Key-LOV ID option. The ID displayed in the dialog box corresponds to the
key-LOV that you chose in step 2.
6. Click the Export button. Teamcenter exports the key-LOV definition to the XML file.
Teamcenter displays the progress of the export operation in the Message Center and then
displays a confirmation dialog box when the operation completes.
1. Click the Import button on the Classification Admin toolbar. Teamcenter displays the XML
Import dialog box.
2. Use the Browse button to choose the XML file from which the data is imported. The physical
path of the import file is displayed in the Input File box.
Note
The input file must be an XML file that conforms to the schema definition, as defined
in the in-class.xsd file.
3. (Optional) Choose Update Existing Objects to overwrite existing hierarchy data with the data
contained in the input file. This overwrite extends to attributes and properties, as well as to
the Classification objects.
4. Choose one of the following object type filters corresponding to the data that you want to import:
• KeyLOV
• Attribute
• Class
• View
By default, all filters are selected. Clearing the check box for a filter prevents data for that object
type from being imported.
5. Click the Import button. Teamcenter displays the progress of the export operation in the
Message Center and then displays a confirmation dialog box when the operation completes.
6. (Optional) Display the updated hierarchy tree by right-clicking the node into which the data
was imported and choosing Refresh.
• Creates a storage class directly below the new abstract class for each subclass belonging to the
SML class that is being migrated.
The new abstract class has the same parent class as the SML class and contains the attributes
defined locally in the SML class and used in all SML subclasses below the SML class.
The new storage class for an SML subclass contains attributes that are not common to all classes. A
default view is created for the new storage class when there are settings in the SML subclass that
cannot be copied to the storage class. This is the case when one of the following occurs:
• In the SML subclass, the attribute order of inherited attributes differs from the one defined by
the parent classes.
• For at least one inherited attribute, at least one of the required, protected, unique, array size
properties differ from the property set in the class where the attribute is defined.
• For at least one attribute, there are layout settings in the SML subclass.
2. Enter a new ID into the New Class ID box. If you leave this box empty, the system automatically
generates a new ID based on the value you enter in the ICS_migrate_classid_pattern
preference.
3. (Optional) Enter a new storage class ID in the New Storage Class ID box. If you do not, the
system assigns one for you.
4. Click OK.
The new class and storage class appear in the hierarchy under the same parent as the original
SML class.
A presentation hierarchy can have its own symbols and images but its structure is a one-to-one
reflection of the classification storage hierarchy. Classification nodes in the presentation hierarchy
refer back to classification classes in the storage hierarchy.
There is no user interface for classification libraries. You can display presentation layer nodes in My
Teamcenter and search for data filtered by libraries in Active Workspace. Libraries are administered
using the clsutility and lbrmanger utilities.
Membership rules are used to populate a library on demand. A membership rule tells Teamcenter
to search through a part of a presentation hierarchy and find all elements that have a particular
characteristic, and then create a library element for the node element. For example, select all
classified bolts from the Bolts class that are made of titanium and whose diameter is greater than 20.
You can create multiple rules for a particular library node, and you can search either presentation
hierarchies or other libraries to populate a new library.
About specifications
Specifications are design or component selection guidelines set up by expert users for a particular
domain or discipline. Using specifications provides a rule-based configuration that guides you in
finding only those components suitable to a particular design purpose, for example, Find a pump
suitable for a high pressure oil pipe. The specifications are typically applied while searching the
library using specification information as additional input. Specifications are created in the context of
a library and can be associated to one or more libraries. They are revisable.
In the following scenario, a worker uses a specification based search to insert a valve and all required
supporting parts in a length of pipe. The known characteristics are as follows:
• Library: container
o Hierarchies
■ Hierarchy nodes
◊ Library elements
◊ Membership rules
• Specifications
o Specification rules
• lbrmanager
This utility is used to create, display, publish, and retract library objects.
These utilities contain many arguments and subarguments. The instructions about how to use the
utilities is embedded in the utilities themselves. To obtain help for the utilities, enter:
utility-name -h
For example:
lbrmanager -h
To obtain help about a subargument, enter:
utility-name -subargument -h
For example:
clsutility -include_instances -h
These utilities are installed when you install the library feature.
Note
Installing library management does not affect the data dictionaries feature in
Classification.
o For classification classes, running this utility creates presentation layer master nodes with
storage class-type properties that are the same as their associated classes.
o -include_instances
Includes ICOs in the subhierarchy.
o -exclude_children
Excludes the subhierarchy; extends the specified group or class only.
o If a target is not found in the presentation hierarchy, it is created (applies to node or element).
■ To create a node in the presentation hierarchy, Teamcenter matches the parent node
with the parent class.
■ To create an element in the presentation node, Teamcenter matches the node with
the storage class.
■ A master node with the storage class type property pointing to the associated
classification class
Object types from Classification Corresponding object types from the presentation
(class hierarchy) layer (node hierarchy)
Group Group node
Abstract class Master node
Storage class Master node
Classification object (ICO) Classification element
Create a hierarchy
lbrmanager -u=user-ID -p=password -g=group -create -hierarchy
-id=FixturesHierarchy -name=FixturesHierarchy -descr="Fixtures
Hierarchy" -libraryId=MechanicalPartsLibrary
To obtain more information about this command:
lbrmanager -u=user-ID -p=password -g=group -create -hierarchy -h
To display a hierarchy:
lbrmanager -u=user-ID -p=password -g=group -show -hierarchies
-libraryId=MechanicalPartsLibrary -id=FixturesHierarchy
To display a node:
lbrmanager -u=user-ID -p=password -g=group -show -nodes
-libraryId=MechanicalPartsLibrary -id=Assemblies
Output Description
[MechanicalPartsLibrary] MechanicalPartsLibrary Library created in Create a standalone library.
|-[FixturesHierarchy] FixturesHierarchy Hierarchy created in Create a hierarchy
|-[Assemblies] Assemblies Node created in Create a library node
|-[BasePlate] BasePlate Child node created in Create a child library node
Output Description
[MechanicalPartsLibrary] MechanicalPartsLibrary Library created in Create a standalone library.
|-[FixturesHierarchy] FixturesHierarchy Hierarchy created in Create a hierarchy
|-[Assemblies] Assemblies Node created in Create a library node
|-[BasePlate] BasePlate Child node created in Create a child library node
->[BasePlateLE01] BasePlateItem1 Element created in Publish an item to a library
->[BasePlateLE02] BasePlateItem2 Element created in Publish an item to a library
Prerequisite data:
abstract class
Classification class used to combine common attributes for use in storage classes. Classification
instances cannot be stored in abstract classes. Compare to storage class.
active unit
In Classification, the measurement unit in which a classification object (ICO) is currently displayed.
This may not be the measurement unit in which it is stored.
attribute
Named storage variable that describes an object and is stored with the object. Users can search
the database for objects using object attributes.
In an object, an attribute is a name/value pair. In the database, an attribute is a field.
attribute dictionary
Repository for Classification attribute definitions. An attribute dictionary ensures that there is a
consistent definition for all attributes regardless of the classes in which they are used. Classification
Admin enables users to view the attributes contained in the dictionary and use the search function to
locate attributes.
attribute inheritance
Process by which a new class automatically inherits all the attributes defined for all its ancestor
classes.
class
Set of objects that share the same list of attributes but distinguishable by the value of the attributes
for specific objects.
class folder
Representation of aggregation of objects. In the Classification and Classification Search dialog class
hierarchies, classes are displayed with class folder icons because they represent an aggregation
of objects.
classification
Process of categorizing objects according to similarity in characteristics. While the objects in one
class share the same characteristics, the values of these characteristics may differ. For example, drill
bits all share the length and diameter characteristics, but drill bit objects differ in length and diameter.
Classification Administration
Classification application that enables a system administrator to define the groups, classes,
subclasses, and views that form the Teamcenter hierarchy.
classification hierarchy
Structure used to categorize a company's data by common attributes.
classification instance
Lowest-level component of the classification hierarchy. Also referred to as an ICO (internal
classification object).
group (Classification)
Container used to organize large sets of related classes in Classification Admin. Groups reside at the
highest level in the classification hierarchy and can be nested to include other groups.
ICO
See Classification Object (ICO).
key-LOV
List of legal values that can be associated with an attribute definition. Key-LOVs differ from standard
Teamcenter LOVs in that each value entry in the list has an associated key ID. It is this key ID, rather
than the value, that is stored in the database with the attribute. Therefore, if a value must be changed
globally within the classification system, the system administrator can modify the description of
the value for a key-LOV ID/key combination.
SML class
Legacy class type used in the Classification application. Do not use this type of class to create
data. Use abstract and storage classes instead.
storage class
Classification class capable of storing classification instances. Compare to abstract class.
storage unit
In Classification, the measurement unit in which a classification object (ICO) is saved.
subclass
In the Classification Search Dialog, subclass instances represent a subset of attributes corresponding
to a class. Subclasses inherit the attributes of their parent classes. Unlike classes, which inherit
every attribute of their parent classes and cannot be edited, users can define the inherited attributes
assigned to a subclass.
view (Classification)
Tailored representation of attributes within a class. Views are associated with abstract and storage
classes. Attribute properties can also be applied. For example, a class may define the physical and
accounting attributes for its objects, but a view for tool designers may display only the physical
attributes, and a view for accountants may display only pricing and order number attributes.
Headquarters
Europe
Granite Park One
Stephenson House
5800 Granite Parkway
Sir William Siemens Square
Suite 600
Frimley, Camberley
Plano, TX 75024
Surrey, GU16 8QD
USA
+44 (0) 1276 413200
+1 972 987 3000
Asia-Pacific
Americas
Suites 4301-4302, 43/F
Granite Park One
AIA Kowloon Tower, Landmark East
5800 Granite Parkway
100 How Ming Street
Suite 600
Kwun Tong, Kowloon
Plano, TX 75024
Hong Kong
USA
+852 2230 3308
+1 314 264 8499