How To Create Milling Machines In DELMIA

This page intends to explain the machine preparation process in DELMIA, covering kinematics Links, mechanism behavior, simulation workflow, and validation steps. It provides detailed guidance to ensure accurate virtual representation and effective simulation of the NC machine.

Introduction To Machine Types, Configurations, Coordinate Systems & Rule

An NC (Numerical Control) machine is a machine tool whose movements and operations are controlled by a set of numerical instructions instead of manual operation.

These instructions tell the machine where to move, how fast to move, and what operation to perform to manufacture a part with high precision and repeatability.

Main components of an NC machine

  • Program of Instructions – G-code/M-code defining tool movements

  • Machine Control Unit (MCU) – Brain of the machine that reads the program

  • Drive System – Motors and ball screws that move axes

  • Machine Tool – Lathe, Mill, VMC, etc. where machining happens

  • Feedback System – Encoders/feedback devices for accuracy

Types Of NC Machines

  • NC Lathe – Turning operations

  • NC Milling Machine – Milling, drilling, slotting

  • VMC (Vertical Machining Center) – 3-axis/4-axis/5-axis machining

  • CNC Grinding Machine

  • CNC EDM Machine

NC Coordinate Systems

For flat and Prismatic Joint (block like ) Parts:

  • Milling and drilling operations

  • Convectional Cartesian Coordinate System

  • Rotational axes about each linear axis

Right Hand Rule Coordinate System [1]

 

 

For Rotational Parts:

  • Turning Operations

  • Only X and Z-axes

 

Co-Ordinate System for Rotational Parts [2]

Machine Configuration

  • Head-Head Machine

  • Table-Table Machine

  • Head-Table Machine

Head- Head Machine

Definition:

A Head-Head Machine is a type of NC Machine Configuration in which Both the Cutting Tool Head are Capable of independent Movement relative to the Workpiece and each other.

Head-Head Machine Configuration [3]

Table - Table Machine

Definition:

A Table-Table Machine is a type of NC Machine Configuration in which Both the Worktables are Capable of independent Movement often along different axes.

In Table - Table Machine, Table can usually move in different directions(X,Y,Z axes) to position the workpiece precisely.

In Table - Table Machines Part Moves towards the Tool and in this Left hand rule is Used.

 

Head - Table Machine

Definition:

A Head-Table Machine is a type of NC Machine Configuration where the Tool Head and the worktable both Move, but along different axes to achieve the desired machining operation.

 

In Other Terms

It is a combination of both(Head/Table machine), the movement is based on both, depending on the axis Movement


Head-Table Machine Configuration [4]

 

Right Hand & Left Hand Rule

Right Hand Rule

Definition:

The Right hand Rule is a widely used Convection to determine the direction of rotation and the positive axis in coordinate systems, especially for rotational axes(e.g. A,B,C axes in NC machine)

When the Tool Moves towards the Part, then RH Rule is Applied

 

How it works

•Point the Thumb of your right hand in the positive direction of an axis (X,Y,Z)

•Curl your fingers around the axis.

•The direction your fingers curl represents the positive rotation direction

around that axis.

•Unlike the X, Y, Z axes, the A, B, C, are axes of rotation, so another thing we may want to know is the positive direction of rotation. This can also be found by using your right hand and aligning your thumb to any of the positive axis directions and looking at the way your fingers would be wrapped around that axis.

Understanding Right Hand Rule [5]

 

Left Hand Rule

Definition:

The Left hand Rule is used as a mirror or inverse convention to the Right hand Rule, applied when the relative movement direction is reversed.

When the parts moves towards the tool the movement sense is reversed.

 

How it works

•Point the Thumb of your left hand in the positive direction of an axis (X,Y,Z)

•Curl your fingers around the axis.

•The direction your fingers curl represents the positive rotation direction around that axis.

•Unlike the X, Y, Z axes, the A, B, C, are axes of rotation, so another thing we may want to know is the positive direction of rotation. This can also be found by using your Left hand and aligning your thumb to any of the positive axis directions and looking at the way your fingers would be wrapped around that axis.

 

Structuring & Renaming 

Reorganized the NC structure and implemented standardized naming conventions for improved clarity, consistency, and traceability.

Tree Navigation

The machine model follows a structured tree hierarchy (Machine → Kinematics → Axes → Sub-Assemblies → Components). 

The front and back sides of the machine should be maintained as separate entities to allow independent hide/show control for improved understanding and visualization and for easy navigation.

MAKINO DA300 Machine [6]

How To Define +/- Direction For NC Machine

For Head - Table Machine we use following rule for building NC Machine.

 

Step 1 – Understand the machine setup

 

Head- table machine typically consists of

•Table : Where the workpiece is fixed.

•Spindle Head : holds the Cutting Tool

•The table usually moves in X and Y directions.

•The spindle head usually moves in the Z direction(Vertically)

Step 2 – Define the origin and Viewing Position-

•Stand facing the front of the machine, where the control panel and spindle head are located.

•The front is considered the operator side.

•The machine coordinate system’s origin (0,0,0) is usually set at some reference point on the table or at the corner of the work envelope.

Step 3  - Assign the Axes Directions (X-Axis)

•Imagine the Head side of machine moving left and right.   

•Facing the machine from the front:

•Moving the table to your right is +X direction.

•Moving the table to your left is -X direction.

Huron Machine [7]

 

Y-Axis(Front –Back)

The table moves front to back.

Facing the machine from the front:

Moving the table toward you (front) is +Y direction.

Moving the table away from you (toward the back of the machine) is -Y direction.

Z-Axis (Up-Down)

The spindle head (or sometimes the table) moves vertically.

Facing the machine from the front:

Moving the tool up (away from the workpiece) is +Z direction.

Moving the tool down (toward the workpiece) is -Z direction.

Rotatory Axes on a Head –Table machine

A-Axis (Rotation about X-Axis):

-Imagine the table or workpiece rotating forward/backward tilt around the X-axis.

-If you hold your right hand’s thumb along +X, the rotation direction following your curled fingers is positive rotation.

 

 

 C-Axis (Rotation about Z-Axis):

•Rotation around the Z-axis, like spinning the table/workpiece clockwise or counterclockwise.

•Thumb points in +Z direction (up), positive rotation follows curled fingers (right-hand rule).

Conceptual Diagram To Identify the +/- Direction

The diagram defines the positive and negative axis directions to support accurate kinematic setup and NC validation.

Right Hand Rule of Head -Table Machine 

Machine Preparation Steps - Workflow

 

Machine Technical Specification

Search machine website/machine spec document for technical information

  • Travel limits along all axes

  • Tool change position of machine

  • Home position of machine

  • Speed and federate of tool and spindle

    Technical Machine Specification Of Huron K3x8Five [8]

 

Orientation (Equipment Design App)

Keep the machine on floor by correcting its orientation


NC Machine On Ground/Floor (MAKINO Machine) [6]

Define Zero Position

Before Apply Kinematic on Machine first we need to define machine at zero position.

Note:  The Axis of X and must be opposite to Each other as shown in Image

 

NC Machine Zero Position (HURON) [7]

The Axis System for Workpiece and Tool Mount should be Right Handed to avoid clash/Error as mention in the Image

 

Define Kinematics and Links

Switch to Equipment Design App to Define the Kinematics Behavior on each part to Define X,Y,Z,A,B,C.

Kinematics - kinematics is used to simulate and analyze the motion of machines, robots, and humans in a digital factory environment.

 

Types of Kinematics

  •     Fix Joint             

  •     Prismatic Joint

  •     Rigid Joint

  • Revolute

 

Fix Joint Joint - A Fix Joint means that a part or component is fully constrained in space — it cannot move or rotate in any direction. It is considered immobile.

 

Prismatic Joint Joint - Define a Prismatic Joint joint between two parts to allow one to slide along a direction, simulating linear motion (e.g., a conveyor pusher).

 

 

Rigid Joint Joint - A Rigid Joint connection means no relative motion is allowed between the connected parts. The parts move as a single solid unit.

Used to lock components together — e.g., robot arm links that should act as one. No joint motion is allowed.

 

Revolute Joint - A revolute joint allows rotation around a single axis. No translation is allowed. define a revolute joint when one part (e.g., a robotic link or arm) rotates relative to another.

 

To Define the Kinematics on Product or NC Machine, Goto Kinematics tap and  Click on Define Kinematics.

 

Before Proceeding with defining the kinematics we have to consider some points very carefully:-

 

First we have to fix a part, the part does not move and fix in space.

Second we applied a prismatic Joint for movement of X, Y and Z axis, for this we must select first the child part and then the Parent part.

Then we have to define the rotatory movement according to Machine Axis – 5 axis, 4 axis. For this we applied the Revolute Joint Kinematic.

 

For Rotation of Movement we generally follow-

If the Part Moves along X-axis we consider A axis, Along Y-axis consider B axis and along Z-axis consider C Axis.

 

For Revolute joint Also, we must select the child part first and then Parent Part.

 

NC Machine Axis Schema Diagram [9] 

Now, we apply the Kinematics (Behavior) to NC machine.

First we Fix the Part .

 

Second we give kinematics for X-Movement. In Image 1 first we select the child part (AXE X KX 8 FIVESYL20262.1) and in Image 2 we Select the Parent Part (BATI KX 8 FIVESYL20264.1) and Give the Direction, in which direction the part will move.

Click on Command Joint to confirm the kinematics.

Third we give kinematics for Y-Movement. In Image 1 first we select the child part (Plateau Y  KX 8 FiveSYL20265.1) and in Image 2 we Select the Parent Part(BATI KX 8 FIVESYL20264.1)and Give the Direction, in which direction the part will move.

Click on Command Joint to confirm the kinematics.

Forth we give kinematics for Z-Movement. In Image 1 first we select the child part (AXE Z KX 8 FiveSYL20263.1) and in Image 2 we Select the Parent Part(AXE X KX 8 FIVESYL20262.1)and Give the Direction, in which direction the part will move.

Click on Command Joint to confirm the kinematics.

Fifth we give kinematics for A- Rotatory Movement. In Image 1 first we select the child part (PLATEAU A KX 8 FiveSYL20261.1) and in Image 2 we Select the Parent Part(Plateau Y  KX 8 FiveSYL20265.1)and Give the Direction, in which direction the part will Rotate.

Click on Command Joint to confirm the kinematics.

Sixth we give kinematics for C Rotatory-Movement. In Image 1 first we select the child part (PLATEAU C KX 8 FiveSYL20260.1) and in Image 2 we Select the Parent Part(PLATEAU A KX 8 FiveSYL20261.1)and Give the Direction, in which direction the part will Rotate.

Click on Command Joint to confirm the kinematics.

Generate NC Resource

Convert Product node to NC Machine resource.

To Jog the Machine or to assign the Machining parameter, for that we need to change product from Machine Resource.

 

For that we need to follow the steps.

Switch to Equipment design App.

In Resource creation tab, click on New Machine as shown in Image.

After click on New Machine, Select the Product node, a new UI will Open, Fill the Information in the new window as per your Specification or requirement.

 

Resource Type – Machining Milling Machine

Manufacture – Huron, Haas, Makino (Name of the Company Manufacturer)

Category – 3-Axis,4-Axis and 5-Axis Category.

 

Click on Ok, You will Notice that Product node Changes to Machine Node.

 

Resource Creation

 

Jog Mechanism

Jog Mechanism is used to check and verify  the movement of X,Y,Z,A,B and C.

 

To jog the machine we need to follow the steps.

In Equipment design app, Click on Motion Controller tab, select Jog Mechanism and Click on Machine Node or 3d model.

 

A Jog Window will Open, where we can see the movement of Axis.

Define Axis Name.

Axis Name is used to Identify the XYZABC axis in the Machine, which we have given Kinematics to the Machine.

 

When we give the Kinematic to Model, Mechanism Representation node is created in the Tree.

In this we can see the relation of Joints and Commands as shown-

 

From this Command. We cant identify which is X,Y,Z,A,B OR C.

 

For better understanding and do further steps properly we need to give Names to this Commands.

 

In Equipment design app, Click on Motion Controller Tab, Click on Axis Name and select the machine

Node or 3d model, A Axis Name Editor Window will open and will give names to these Command

As we have assigned the Kinematics Sequence.

 

We can verify the Names in the tree also in Commands section of

Mechanism.

Mechanism Tree Structure

 

Define Travel Limits.

Travel limits are the maximum range of motion allowed along each axis (X, Y, Z, etc.) of a machine.

 

They are essential to:

•Prevent collisions or mechanical damage.

•Ensure precise operation.

•Define the machine’s work envelope (the space in which it can operate).

To define Travel Limit for NC M/c We need to perform Certain Steps.

 

From Motion Controller tab, Click on Travel Limit option and Select the NC machine node from the tree or 3D Model.

A new Travel limit Window will open which is having the default Upper limit and Lower limit of each Axis and we have to assign upper limit and lower limit according to Machine technical specification to avoid collision or damage.

For that we need to refer Technical specification details of NC machine from the Company Website.

As per Document we have the Total Travel Limit of (+ -) X,Y,Z and A and B or C

Which is highlighted in the image.


Technical Machine Specification Of Huron K3x8Five [8]

Define Home Positions.

Home position is the location to which a NC machine moves to establish a reference point for all subsequent movements. It's often where the machine goes during startup or reset to ensure all axes are in known positions.

 

Click on Home Position icon and select the machine, a home Position Window will Open.

Click on + Icon from Home Position Window as shown. After Click on +, a New Home Will Visible in the Home Position List.

Click on New Home1 and Check the Box Edit Home using Jog, A jog Window will open specify the home position of that machine.

Click OK

Define Workpiece Mount Port.

The workpiece mount port is the area, mechanism, or interface where the material or part (workpiece) is secured during machining. It allows the machine to process the part accurately without movement or vibration.

 

From Resource creation Tab, Click on Workpiece Mount Port Icon and select the machine.

A new window will open and define the port where stock part will mount for the operation in port creation Window as shown in Image.

Click Ok.

The workpiece Port is visible on the Table with Blue Color axis System.

Workpiece mount Port

Define Tool Mount Port.

The Tool Mount Port is the connection point between the machine and the cutting tool. It allows the machine to securely hold, change, and use tools during operation.

 

From Resource creation Tab, Click on Tool Mount Port Icon and select the machine.

 A new window will open and define the port where tool Holder will mount for the operation which is created in port creation Window as shown in Image

 

Click OK.


Tool Mount Port

 

Define Tool Change Position.

The Tool Change Position is a coordinate (usually in machine coordinates) where the machine moves its axes to perform a tool change operation safely and consistently.

 

From Resource creation Tab, Click on Tool Change Position Icon and select the machine. 

A new window will open and define the Coordinates of (XYZ) where the Tool Will go and change the tool in Change Position Editor.

In Editor We need to Give  TO and FROM Positioning of axis according to Priority as shown in below image.

Click Ok

Define NC Resources.

After Setting up the Nc machine, Last set we need to set some Parameter to NC Machine Before doing the Simulation and generate the Nc Code.

 

Right Click on Nc Machine Node and Click of NC Resource –Modify NC Resource.

 

 

Edit the NC resources to complete the definition.

Change the default value for the “engineering connection”

(Y=350mm, Z=500mm) to save (and load) the machine with this position (default in the shop floor)

 

 Save

Milling Machine With Multiple Tool Change Positions

Create TWO (or more… one for each position!) tool mount port (even if it is the same position)

Huron K3x-8-five [7]

Create ONE tool change position for each tool mount point and the associated to/from change position

Tool Change 1

Tool Change Special

Multiple Workpiece & Tool Mount Port

In Nc machine we can create multiple workpiece port and Tool port as per user specific requirement for special operations.

Head Mount Point

In special cases, certain NC machines need additional head accessories to perform specific or advanced operations that the standard machine configuration cannot handle on its own.

 

To support this requirement, the machine must be designed with a dedicated mounting port or interface. This port allows head accessories to be attached and aligned correctly with the machine’s kinematics and coordinate system.

 

Having this provision ensures that the accessory can be mounted, recognized, and function properly during simulation and operation without requiring major modifications to the machine structure.

In Simulation we can define which Head is Used for Special Operation.

Speed & Acceleration

These values are used to compute the motion time in the machine instruction

Verify The NC Machine On Simulation

Insert Nc Machine in Manufacturing Cell.

To run/verify the Nc machine, first we need to open/search the created manufacturing Program in the database.

Open that Manufacturing program in Shop floor Machining App.

 

Now we have to insert the NC machine to existing Program cell, for that click on Set Tab, select import and Mount Resources.

Click on Replace machine or Configured cell

 

Select the Machine which is opened in another tab through session window.

 

Double Click on Space to exist from the command.

 

Connect Manufacturing Part/Stock Part To The NC Machine Table/Bed.

Again Click on import and mount Resources Icon from Setup Tab. And select the Manufactured product from the Tree.

 

Select the Workpiece Axis and Workpiece Mount Port axis, you can see that stock part is attached or place on the table for further activity. Adjust align the Stock part to table as per the orientation or specific requirement.

 

Double click on space to exist the command

Huron K3x-8-five [7]

Run The Simulation

From Activities Process View we can see the Manufacturing Program under part operation.

 

To Run that Program,  click on Program and select the compute and check the toll path

 

Click on Play Button from the player and check the Machine Position Values, If the Values are showing in red color then we need to change the travel limits, or if the values are showing in Green color the travel limits are Correct no need to change any Limits.

 

We can check the collision of tool with the part from fault list option which is in analysis and output tab.

 

References

[1] Right Hand Rule Coordinate System.

[2] Co-Ordinate System for Rotational Parts.

[3] Head-Head Machine Configuration. YouTube, CENFIM. 

[4] Head-Table Machine Configuration. YouTube, CENFIM.

[5] Understanding Right Hand Rule.

[6] MAKINO DA300 Machine

[7] Huron Machine K3x-8-Five 

[8] Technical Machine Specification Of Huron K3x8Five.

[9] NC Machine Axis Schema Diagram.

Documentation

Special thanks to @OC, @CS and @P for the support!