Because of the additional complexity of multi-task programs with their multiple tools cutting at the same time, multiple spindles, and parts being exchanged between multiple spindles, the need to accurately simulate and validate the programs before executing them on the machine tool becomes very important. Within machine simulation, there are a number of distinct phases: the machine tool model,

virtual machine tool setup and the machine simulation/analysis.
For any machine simulation system, an accurate model of the machine tool needs to be used. These can either be developed by the user or obtained from an existing (commercial) library of machine tool models. The level of detail of the machine model greatly influences the analysis that can be performed with it. A minimal representation may allow a simulation model to be quickly developed, but it will also limit the extent the analysis can be performed. Alternatively, at some point, additional detail included in the model, such as the control panel display, knobs and switches, becomes more for appearance, than for any actual analysis benefit.
Once the machine tool model has been developed and prior to actually performing the machine simulation, the machine tool model needs to be set up in exactly the same way that the real machine tool on the shop floor would be setup. Tooling needs to be assembled in holders, assigned to and positioned in tool locations and offsets established.

This initial process of setting up the machine tool model actually is extremely beneficial as it allows the user to establish and validate the machine tool setup as part of the overall machine tool simulation. Once completed, the settings validated through this virtual setup process can then be passed onto the operator on the shop floor for setting up of the actual machine tool. Proving out the machine setup offline can save valuable machine tool time on the shop floor.