Business Rule that Checks adding Holder Component in Tool Assembly

Introduction

This document is intended to provide a detailed guide and examples on how to customize the Business Rule that checks the compatibility of holder component with tool/holder from tool assembly while adding it to the tool assembly.

Version – Validated on 2025x FD01 (FP)

Pre-requisites: User must be assigned with Owner Role

Licenses –

  • CSV (Collaborative Industry Innovator)

  • NTT (Cutting Tool Technologist) or any other Machining Role

Disclaimer: Licenses mentioned above are as per 2025x documentation.

Below video demonstrates the implementation of the business rule and its effect while adding a holder to tool assembly.

Example Business Rule

DELResAddComponentInTA.CATRule

Detail Explanation

While adding holder component in tool assembly, we can perform some checks to determine the compatibility of component to be added(holder) with existing tool/holder component in tool assembly using given business rule. 

One example of a check could be Attachment compatibility between Holder to be added and the existing Tool/Holder in Tool Assembly.

Following script explains the checks that can be implemented. 

Fetch Inputs and Initialize the output parameter values

Set TAResource = ThisObject
if(TAResource <> NULL)
{
    //Initialize the output parameters values
    iCanAddComponent = 0
    sValidationMessage = "The Holder is not checked and not added to tool assembly"
    iMessageType = 3
    
    oTARef = TAResource.Reference
    sTATopAttachment = oTARef.V_Top_Attachment
    
    // INPUT
    Set HolderObject = Parameters->GetAttributeObject("ComponentToAdd")

Implement the Check. Here we are checking whether the bottom attachment type on holder is same as the top attachment type for tool assembly which is propagated from attachment type on topmost tool/holder component in tool assembly.

if (HolderObject <> NULL)
    {
        Set oMfgHolder = HolderObject
        sHolderBottomAttachment = oMfgHolder.V_Bottom_Attachment
        
        if sHolderBottomAttachment == sTATopAttachment
        {
            //Set the output parameters values
            iCanAddComponent = 1
            sValidationMessage = "The Holder is checked and added to tool assembly. The Attachement values are compatible with Tool "
            iMessageType = 1
        }
        else
        {
            //Set the output parameters values
            iCanAddComponent = 0
            sValidationMessage = "The Holder is checked and not added to tool assembly. The Attachement values are not compatible with Tool "
            iMessageType = 3
        }
    }

Set Output

//OUTPUT
    Parameters.SetAttributeInteger("CanAddComponent", iCanAddComponent)
    Parameters.SetAttributeString("ValidationMessage",sValidationMessage)
    Parameters.SetAttributeReal ("GageValueOfExistingComp", rValue) //Currentlt Value is not set, if value needed to be set add rValue = 30.0 in initiaization section
    Parameters.SetAttributeInteger ("MessageType", iMessageType)

Parameter Output details:

  1. CanAddComponent-> Whether to add component or not

    1. Value 0 -> The component is not added to tool assembly

    2. Value 1 -> The component is added to tool assembly, provided subsequent checks like attachment type etc. compatibility succeeds

    3. Value 2 -> user wants to bypass the subsequent checks and force add the component to tool assembly

  2. ValidationMessage-> Message in this output parameter will be displayed in “Messages Reporting” panel. This could be an empty string, if user is not interested to display any message in “Message Reporting” panel.

  3. GageValueOfExistingComp-> This output parameter holds a double value and it sets the gage value of the existing component (Topmost) in Tool Assembly, on which “ComponentToAdd” will be mounted. If no value is defined, then the nominal gage of the existing topmost component will be used to position the “ComponentToAdd”. 

  4. MessageType-> Type of the message. Its value can be 1, 2, 3. If value is set to 1, then the message type is "Information", if value is set to 2, then  the message type is "Warning" and if the value is set to 3, then the message type is "Error"

 

Business Rule Setup

Business Rule opening Id - DELResAddComponentInTA_ID

The Business Rule can be executed in two different ways.

  1. DataSetup App: If you create the script through DataSetup, it remains persistent in the database, is stored on the server and available to all. The script opening ID will be available under Machining Resources. 

  2. CATRule/CATRuleExit: If you create the script using a CATRule, you must store the files DELResAddComponentInTA.CATRule and DELResAddComponentInTA.CATRuleExit in ..\resources\knowledge\scripts. You can then edit the CATRule file or create a new CATRule and CATRuleExit files with an Opening ID of DELResAddComponentInTA_ID

    You can then execute the Business Rule when upgrading tool resources.

    Note: Be careful while using this method as the setup is done on local machine and it is not available to all users. Each user will have to do the setup individually. 

Reference

-

Author

Person of Contact - @Sheetal MARDE