Business Rule: CATRule to Propagate Manufacturing Fastener Attributes From Planning

Using a CATRule, you can propagate the attributes from design and process planning to manufacturing fasteners when creating a manufacturing fastener using Synchronize Data with Planning from the Setup section of the action bar.

This page discusses:

General Information

The DELPLMMapAttributesForMFTCreation.CATRule is located in ..\resources\knowledge\scripts and can be invoked when creating a manufacturing fastener using Synchronize Data with Planning from the Setup section of the action bar.

Input Objects

You can use the attributes of the design fastener references and instances or their respective implementing process references and instances for the implementation. Input objects must be of the following types:

  • ThisObject
  • Parameters corresponds to the context object.

PLM Component Class TypePurpose
PLMCoreReferencePLM reference
PLMCoreInstancePLM instance

Context Object Parameters

Parameter NameTypeRead/WriteComments
design_attr_mapping_listList WriteList of mapping names of attributes related to design fastener references and manufacturing fasteners (ex. "V_discipline", "Fst_Discipline")
design_attr_mapping_list_oninstanceListWriteList of mapping names of attributes related to design fastener instances and design_attr_mapping_list_oninstance manufacturing fasteners (ex. "V_Name", "FstInstance_Name")
planning_attr_mapping_listListWriteList of mapping names of attributes related to process references that implement design and manufacturing fasteners (ex. "V_discipline", "Prc_Discipline")
planning_attr_mapping_list_oninstanceListWriteList of mapping names of attributes related to process instancess that implement design and manufacturing fasteners (ex. "V_Name", "PrcInstance_Name")

Additional Information

Use the following names to set the corresponding default manufacturing fastener attributes:

NameAttribute
RefNameReference name
DiameterDiameter
LengthLength
StackDepthMinMinimum stack length
StackDepthMaxMaximum stack length

You can set the final attributes of the manufacturing fastener as follows:

  1. Check the name of the input reference in your session. If an entry in the rivet table corresponds to the input reference name, apply the respective attributes.
  2. If the business logic contains a map such as OutListDesign.Append(List("V_XXXXX", "MFT_XXXXX")), then:
    1. Check the value of V_XXXXX from the design fastener reference.
    2. Set an attribute for the created manufacturing fastener with a name set to MFT_XXXX and a type corresponding to the design fastener type V_XXXX.
  3. If the business logic contains a map that corresponds to a linked or implemented process reference such as OutListProcess.Append(List("V_XXXXX", "MFT_XXXXX")), then :
    1. Check the value of V_XXXXX from the process reference.
    2. Set an attribute for the created manufacturing fastener with a name set to MFT_XXXX and a type corresponding to the process reference type V_XXXX.
  4. If the process reference contains a map with entries such as OutListProcess.Append(List("V_XXXXX", "RIVET_TABLE_MAPPING")), then:
    1. Check that the value of V_XXXXX from the process reference is the same than the value from the reference name entries of the rivet table (if any).
    2. If the values are the same, apply the corresponding entries from the rivet table to the manufacturing fastener.
  5. If the fastener reference contains a map with entries such as OutListDesign.Append(List("V_XXXXX", "RIVET_TABLE_MAPPING")), then:
    1. Check that the design fastener reference value V_XXXXX is the same than the value of the reference name entries of the rivet table (if any).
    2. If the values are the same, apply the corresponding entries from the rivet table to the manufacturing fastener.
  6. If the business logic contains a map such as OutListDesignInst.Append(List("V_XXXXX", "MFT_XXXXX")), then:
    1. Check the value of V_XXXXX from the design fastener instance.
    2. Set an attribute for the created manufacturing fastener with a name set to MFT_XXXX and a type corresponding to the design fastener type V_XXXX.
  7. If the business logic contains a map that corresponds to a linked or implemented process instance such as OutListProcessInst.Append(List("V_XXXXX", "MFT_XXXXX")), then:
    1. Check the value of V_XXXXX from the process instance.
    2. Set an attribute for the created manufacturing fastener with a name set to MFT_XXXX and a type corresponding to the process reference type V_XXXX.
  8. If the process instance contains a map with entries such as OutListProcessInst.Append(List("V_XXXXX", "RIVET_TABLE_MAPPING")), then:
    1. Check that the value of V_XXXXX from the process instance is the same than the value from the reference name entries of the rivet table (if any).
    2. If the values are the same, apply the corresponding entries from the rivet table to the manufacturing fastener.
  9. If the fastener instance contains a map with entries such as OutListDesignInst.Append(List("V_XXXXX", "RIVET_TABLE_MAPPING")), then:
    1. Check that the design fastener instance value V_XXXXX is the same than the value of the reference name entries of the rivet table (if any).
    2. If the values are the same, apply the corresponding entries from the rivet table to the manufacturing fastener.

If the name of the manufacturing fastener attribute corresponds to RIVET_TABLE_MAPPING then:

  • The corresponding mapped attribute of design fastener or implemented process is retrieved.
  • Its value is read from the design fastener or implemented process and checked in the reference name entries of the linked rivet table (if any).
  • If the values match, the corresponding attribute names and their values are read from the rivet table and applied to the manufacturing fastener.

Sample

The following sample shows you how to create parameter attributes ("RIVET_TABLE_MAPPING", "Fst_Discipline", " Fst_INSTPrc_Description" and "Fst_INST_Description") on the corresponding manufacturing fasteners.

/* No INPUTS */

/* OUTPUTS */

Let OutListDesign(List)                     /* the list of attributes on the input design fastener reference*/
Let OutListProcess(List)                     /* the list of attributes on the input design process reference*/

Let OutListDesignInst(List)                     /* the list of attributes on the input design fastener instance*/
Let OutListProcessInst(List)                     /* the list of attributes on the input design process instance*/


OutListDesign.Append(List("V_description", "RIVET_TABLE_MAPPING"))
OutListDesign.Append(List("V_discipline", "Fst_Discipline"))

OutListProcessInst.Append(List("V_description", "Fst_INSTPrc_Description"))
OutListDesignInst.Append(List("V_description", "Fst_INST_Description"))

Parameters->SetAttributeObject("design_attr_mapping_list", OutListDesign)
Parameters->SetAttributeObject("planning_attr_mapping_list", OutListProcess)

Parameters->SetAttributeObject("design_attr_mapping_list_oninstance", OutListDesignInst)
Parameters->SetAttributeObject("planning_attr_mapping_list_oninstance", OutListProcessInst)