MachineWorks 8.7 includes the first official release of MachineWorks GPU - the new version of MachineWorks that performs geometric modelling operations on the GPU.

Highlights include:
• Order of magnitude performance increases through GPU-based material removal simulation
• New multiple Boolean APIs enhance performance for in-session Boolean operations
• Improvements to profile preparation including specific optimisations for saw-tooth profiles
• More targeted and faster pruning of large snapshot trees
• Improvements to eccentric turning, including support in the Application Framework Library
MachineWorks GPU version 1.0
MachineWorks GPU performs material removal modelling and collision-detection operations on the GPU rather than on the CPU. Modern GPUs exploit high numbers of processing cores, often in the thousands, whereas CPUs typically have low tens of cores. This means that performance of computational operations that can exploit data parallelisation can be improved greatly by running on a GPU.
Results from large 3-axis and 5-axis jobs can now be returned in seconds rather than minutes or hours. Mid-sized jobs can be computed in less than a second.
Performance is highly dependent on the GPU being used, but the performance improvements measured are typically 10x, and on more powerful GPUs 30x speedups are achieved. Algorithms for common milling operations have been specifically designed to exploit GPU data parallelism and will scale well as GPUs continue to add more cores.
In particular, algorithms for common 3-axis milling operations are performed analytically, based on computing the tool surface intersections mathematically rather than using an in-tolerance facetted representation.
MachineWorks provides seamless management of both CPU and GPU simulation. MachineWorks GPU uses the existing Visicut API, which also supports CPU-based polygonal and tri-dexel engines.
Existing integrators can just flick the switch! When needed, the in-process model is read back from the GPU to the CPU, from which point all existing machining, analysis and data exchange functionality is available, again through the existing API. Complex operations that aren’t ‘embarrassingly parallel’ still work as before. This includes the RenderQuery interface for integrations that use their own rendering pipeline.
Initially, support is provided for NVIDIA GPUs on Windows only. This will be extended to the full range of platforms supported by MachineWorks in subsequent releases.
Enhancements to in-session Boolean operations
In MachineWorks 8.7 restrictions placed on certain in-session Boolean operations have been relaxed. Specifically this allows easier and faster subtraction of toolpath solids i.e. solids that represent a sequence of toolpath motions which can be subtracted from the in-process stock in a single, more optimal, operation.
Additionally, new APIs have been added to perform multiple Boolean unions and subtractions in a single operation, which allows better performance through improved use of internal multi-threading when compared to an equivalent sequence of successive Boolean operations.
Improvements to profile preparation including specific optimisations for saw-tooth profiles
MachineWorks’ profile API optimises profiles used for tools and holders whilst removing small artefacts typically caused by inexact floating-point numbers which can affect the performance of a machining job.
A new option allows preparation of profiles specifically for saw-tooth shaped milling tools. Additionally further diagnostic messages have been added to more clearly report certain edge cases.

More targeted and faster pruning of large snapshot trees
MachineWorks' snapshot mechanism allows customers to store snapshots of the current session geometry, which can then be compared with other snapshots for 'what-if' type analysis. Advanced users of snapshots can quickly create large snapshot hierarchies, and pruning these using the existing API can be slow in certain cases.
In MachineWorks 8.7 a new property is introduced to mark snapshot nodes, including across multiple snapshot trees. These can then be deleted more efficiently using a single API call.
Improvements to eccentric turning
A new option has been added to allow greater control over modelling of tool approach and retract operations, in which the motion is not parallel to the rotation axis.
In addition, eccentric turning has been added to the MachineWorks Application Framework library. Based on the lower level MachineWorks APIs, the Application Framework Library provides a higher level API for solid, toolpath and session management, and can be used by integrators to improve time-to-market or to perform faster evaluations.
Other enhancements
Other minor enhancements include:
- Extensions to the slicer to allow control over how in-plane polygons are processed.
- A hard clash tolerance can be applied to stopped mill tools, to filter out false-positive collisions with such tools.
- Fixtures can now be attached directly to polygonal tools to represent complex holders. This requires licensing of the kinematics module.
To learn more about MachineWorks, please don’t hesitate to get in touch or follow us on LinkedIn.