Extend an existing class
You may want to create a new class that is built upon one or more existing classes. Rather than duplicate the entire class definition and add (or change) items, you can extend an existing class and add just those items that are new or changed.
An extended class definition contains tags that extend one or more previously defined Creo Elements/Direct Manager Server data classes.
<Class extends="class_list">
The class_list contains one or more class_names, enclosed in quotes ("") and separated by commas.
An extended class inherits the definitions of the class(es) in the class_list. If the class_list contains more than one class, the order of precedence is left to right. After the class_list is processed, any items in the extended class definition that were not previously defined are added. If an item was previously defined and has a different definition in the extended class, the new definition overrides any previous definition.
Class Definitions
Base classes are defined in wmconf.xml. They contain an entire definition, but the base class names do not match database class names. Leaf class definitions extend the base class definitions, and leaf class names match the database class names. The following class definitions use the extends tag to create leaf classes.
Design Data Management Classes:
DRAWING_2D
EXCHANGE_3D
LIBRARY_3D
MASTERDATA
MODEL_3D
Desktop Classes:
me_drawing
me_external
me_model
me_package
me_part
me_sdlib
me_stdpart
sd_drawing
Common Creo Elements/Direct Manager Server Classes:
DBR_SU
MASTERHISTORY
RN_GENERATOR
It is recommended that you NOT extend the leaf class definitions for the database classes. This will create a circular definition and cause a configuration error at startup. You should only extend base class definitions.
Example
This example shows a class definition for MODEL_3D. MODEL_3D extends the existing DMModel class by specifying the format for the name string.
<Class extends="DMModel, DMReleaseProcess">
<Name>MODEL_3D</Name>
<NameFormat>%InstanceName%</NameFormat>
</Class>
Was this helpful?