Introduction
This document is intended to provide a detailed guide and examples on how to automate Interpolation Axes creation process when defining Multi-Axis Curve machining operation.
Version – Validated on 2026x FD01 (FP)
Pre-requisites: User must be assigned with Owner Role
Licenses –
CSV (Collaborative Industry Innovator)
NTA (NC Mill-Turn Machine Programmer)
Disclaimer: Licenses mentioned above are as per 2026x documentation.Below video demonstrates the implementation of the business rule and its effect during Interpolation Axis creation process.
Example Business Rule
Detail Explanation
Using the Business Rule for Interpolation Axes creation, we can accelerate the Interpolation Axis Creation process while defining Multi-Axis Curve Machining operation. Interpolation axes are essential in multi-axis machining operations as they enable the CNC machine to control and calculate moving of each machine axis based on programmed coordinates. This control is crucial for achieving precise and smooth tool paths, which are necessary for machining complex shapes and surfaces.
Following script will explain how to automate the Interpolation Axis creation using business rule.
Get business rule input objects such as current machining activity, input geometrical set and its parent product
Notify("-----------------------------------")
Notify("BL DELInterpolationAxis from : Start")
// Retrieve the current activity --------
Let spActivity (MfgMultiAxisOperation)
Set spActivity = ThisObject
Let resultInterpolationAxis (string)
set resultInterpolationAxis=""
let nbCreatedAxis(Integer)
if (spActivity <> NULL)
Notify ("activity name :#", spActivity.Name)
else
Notify ("no NCActivity")
let pBody(GeometricFeature)
let Product(ProductOccurrence)
set pBody = Parameters->GetAttributeObject("GeometricalSet")
set Product= Parameters->GetAttributeObject("Product")
if (Product <> NULL)
Notify ("product found")
else
Notify ("no product found")Get the vertexes and edges from input geometrical set and create Interpolations Axes at those positions
if (pBody <> NULL)
{
Notify ("---Body found ----- : #", pBody.Name)
let listchildren(List)
let sizeList(Integer)
set listchildren = pBody.GetAttributeObject("Children")
if( NULL <> listchildren )
{
set sizeList = listchildren.Size()
let index(Integer)
Let feat_i1(Feature)
Let feat_i2(Feature)
let outDirection(MfgDirection)
Let EdgeDirection (CATEdge)
let returnFunction(Boolean)
let Vertex(Point)
let pLine(Line)
set index=1
set nbCreatedAxis = 0
for index while index +1 <= sizeList
{
set feat_i1 = listchildren->GetItem(index)
set feat_i2 = listchildren->GetItem(index+1)
set Vertex = feat_i1
set pLine = feat_i2Create Interpolations Axes at those positions
if (Vertex <> NULL and pLine <> NULL )
{
//Notify("feat_i : # --> name # ",index, feat_i1.Name)
//Notify("feat_i +1 : # --> name # ",index +1, feat_i2.Name)
index = index +2
set returnFunction = spActivity.CreateInterpolationAxis(Vertex,Product, outDirection)
Let listEdge (List)
listEdge=pLine.GetSubElements(1)
if (listEdge.Size() > 0)
EdgeDirection=listEdge.GetItem(1)
if (returnFunction == true and EdgeDirection <> NULL)
{
outDirection.SetMode("Selection")
outDirection.SetSelectedGeometry(EdgeDirection,Product)
Notify("axis interpolation created ( p : # , dir : # )",Vertex.Name,EdgeDirection.Name)
nbCreatedAxis = nbCreatedAxis +1
}
}
//Notify("_______________________")
}
}
}
else
Notify ("no body found")Set business rule output parameter
if (nbCreatedAxis > 0)
set resultInterpolationAxis = nbCreatedAxis + " interpolation axis created."
else
set resultInterpolationAxis = "Execution BL failed !"
Parameters->SetAttributeString("InterpolationAxisResult",resultInterpolationAxis)
Notify("BL DELInterpolationAxis : End")
Notify("----------------------------")Business Rule Setup
Business Rule opening Id - DELInterpolationAxis_ID
The Business Rule can be executed in two different ways.
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 Business Logic.
CATRule/CATRuleExit: If you create the script using a CATRule, you must store the files
DELInterpolationAxis.CATRuleandDELInterpolationAxis.CATRuleExitin..\\resources\\knowledge\\scripts. You can then edit the CATRule file or create a new CATRule and CATRuleExit files with an Opening ID of DELInterpolationAxis_ID.<strong>Note: </strong>The <strong>Opening ID</strong> cannot be changed. 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.
Input Geometry Creation for Interpolation Axes
If the input geometry is not already available in design part, you can use below methodology to create this geometry which are prerequisite for Interpolation Axes creation.
This methodology uses Visual Scripting for generation of these geometries. Below video describes the step-by-step process for geometry creation.
How to Reuse the Design Sequence for other Machining Surfaces
Visual Script Data
Reference
Author
Person of Contact - @Sheetal MARDE
Special Thanks to @Vivek BAGALKOT and @Pavankumar K M for providing support in this topic.
