Attribute Mapping and Part Number Configuration

You can use a single Business Logic to map "on the fly" 3DEXPERIENCE attributes to V5 and to define the attributes of the Part Number Configuration.

This page discusses:

Attribute Mapping and Part Number Configuration

The Business Logic is defined in database: it appears in the Knowledge Business Logic tree under the "Business Rules - Coexistence Business Logic" node.

The Business Logic is not applied to a reference or a representation but it uses the attributes of the reference and of the representation to define a list of attributes/values/types of properties which will be set on the CATDocument. The attributes you define through the Business Logic will then be displayed in the Properties dialog box of the converted CATProduct/CATPart just like the properties added when clicking Define other properties....

Therefore, the mapping strongly depends on the position of the reference or the representation in the product structure:

  • Terminal reference
    • with at least one representation: converted to a CATPart linked to the root product (if any). Takes the attributes of the reference and the representation.
    • with no representation: converted to a CATProduct linked to the root product. Takes the attributes of the reference only.
  • Representation reference: converted to an isolated CATPart. Takes the attributes of the representation only.
  • Non-terminal reference: converted to a CATProduct linked to the root product (if it is not the root product itself). Takes the attributes of the reference only.

The positions in the 3DEXPERIENCE representation model are illustrated by the picture below:



The Business logic is invoked on each PLM component to transfer: reference, representation reference, single representation. Input objects are as follows:

Parameter NamesTypesRead/WriteComments
iOperationIdstringReadUsed to identify the mapping context. The value CATDWCAttrMapAndPN is available in any conversion through the DownwardCompatibility batch.
iSourcePLMComponentReferenceCATIInstance_varReadCorresponds to the proxy of the Reference PLM entity for which the attribute mapping is computed.

Value can be NULL when processing a single representation.

iSourcePLMComponentRepresentationCATIInstance_varReadCorresponds to the proxy of the Representation PLM entity for which the attribute mapping is computed.
iContextNamestringReadName of the current transfer context.

Value can be NULL when converting in a non-associative mode.

iSourceTypestringReadPosition of the PLM component in the product structure to be converted.

Possible values are: "Terminal Reference, "NonTerminal Reference", "Representation Reference".

iV5ObjectExtensionstringReadType of the converted V5 object, i.e. CATPart, CATProduct, CATShape or CATDrawing.
oPartNumberstringWriteContains the customized Part Number in case the converted CATPart must be used in the Part Number Configuration.

This parameter is set by the Rule script during computation.

oListOfTargetPropertiesNamelistWriteContains the name of attributes.

This parameter is set by the Rule script during computation.

oListOfTargetPropertiesTypelistWriteContains the type of attributes.

This parameter is set by the Rule script during computation.

oListOfTargetPropertiesValuelistWriteContains the value of attributes.

This parameter is set by the Rule script during computation.

Note:
  • If the returned lists oListOfTargetPropertiesName, oListOfTargetPropertiesType and oListOfTargetPropertiesValue do not have the same size (each name corresponding to its type and a value), then the Downward Compatibility batch aborts and an error message is displayed in the Global Report.
  • If the returned lists oListOfTargetPropertiesName, oListOfTargetPropertiesType and oListOfTargetPropertiesValue are NULL, then no property is transferred to the converted document.

The corresponding Part Number tag is still generated in the XML file but the definition is ignored for objects implementing the Business Logic.

If you want to use the Business Logic only to define the Part Number, then the Business Rule script should return the "3DEXPERIENCE PLM attributes as string" to simulate the default behavior.

If no appropriate Business Logic script is found, then the default behavior applies:

  • All 3DEXPERIENCE attributes are mapped to the converted documents as "string" types.
  • Identification_string = PLM_ExternalID of the selected representation when the object to be converted is the representation.
  • Identification_string = PLM_ExternalID of the selected reference when the object to converted is the reference.

Identification String

An identification string is a list of attributes' values separated by a string. It is used to name the documents and to valuate the PartNumber of CATPart documents. You can define an identification string for each representation reference.

The string which is used to name documents (CATPart, CATProduct) must comply with the rules of CATIA V5 documentation (see Infrastructure - About Filenames). If you use characters that are not in the ISO-646 subset of characters they will be replaced by the underscore character ("_"). This name modification is applied whatever the way the file name is generated, either thru Attribute Mapping and Part Number Configuration or thru Identification String mechanism.

When defining the identification string, note that if an attribute does not exist for a given representation, the value assigned to this attribute will be considered as empty. This might occur, for instance, if the identification string has been defined on a representation with a specific customization, and the current representation does not belong to the same customization.

Regarding the identification string's impact on 3DEXPERIENCE data, only the 3DEXPERIENCE mapping data information saved from previous representation conversions is concerned. As a Ref_PLM_ExternalID.CATPart has been created for any representation in the mapping table by previous conversions, running the DownwardCompatibility batch on such data with the same mapping context might change the name of the V5 document from Ref_PLM_ExternalID.CATPart to IdentificationString.CATPart.

Identification String is Not Defined

In case when Identification string is not defined by the user, it is composed of "Mask of tree" attributes' values.

To summarize:

  • IdentificationString=Concatenated "Mask of tree" attributes' values of the selected representation (when the selected object to convert is the representation).
  • IdentificationString=Concatenated "Mask of tree" attributes' values of the selected reference (when the selected object to convert is the reference).

Note that "Mask of Tree" attributes are already used to generate object names in the tree for Silver/Blue layers in 3DEXPERIENCE. For more information, see the Installation and Administration section.

Let's suppose the following 3DEXPERIENCE structure:



where the main representation criterion is "OBF=DENO".

  • CATPart's PartNumber = Reference's PLM_ExternalID
  • 3D representation's document name =
    • Reference's PLM_ExternalID for the CATPart corresponding to the main representation
    • Representation's PLM_ExternalID for other 3D representations
  • 2D representation's document name = Representation's PLM_ExternalID
  • All leaf reference attributes are processed as "added properties" in the CATPart corresponding to the main representation.

When converting this 3DEXPERIENCE structure to V5, 3 documents will be created:

  • Ref-Root.CATProduct
  • Ref-Leaf.CATPart (Added properties are valuated with the reference attributes' values)
  • Rep2.CATShape.



Important: There is no way to display the values assigned to the attributes of Rep1.

Identification String is Defined in the Business Logic

Let's suppose the same 3DEXPERIENCE structure:



where:

  • Main representation criterion is "OBF=DENO"
  • Identification string = {PLM_ExternalID + "-" +OBF}

  • CATPart's PartNumber = IdentificationString
  • 3D representation's document name = IdentificationString (this is the case for CATParts, CATShapes, V4 models and cgr documents)
  • 2D representation's document name = IdentificationString
  • All leaf reference attributes are processed as "added properties" in the CATPart corresponding to the main representation.

When converting this 3DEXPERIENCE structure to V5, 3 documents will be created:

  • Ref-Root.CATProduct
  • Rep1_DENO.CATPart (Added properties are valuated with the reference attributes' values)
  • Rep2_VOAL.CATShape.



with the following V5 display customization defined in Tools >Tools > Options > Infrastructure > Product Structure > Nodes Customization: