An overview of the MachineWorks 8.8 release

MachineWorks 8.8 includes significant upgrades to MachineWorks GPU - the new version of MachineWorks that performs geometric modelling operations on the GPU.

Highlights include:

  • GPU-based raytraced rendering
  • Simplification/decimation of meshes during solid extraction
  • Significant performance improvements to seek and playback of recording files
  • Setting of hard clash tolerances on fixture solids

In addition, the release incorporates some minor new pieces of functionality, including:

  • Snapshot differences can now be saved and imported to a new session as a stock.
  • Additional support for multi-axis turning cuts.
  • Ability to attach multiple work assembly objects to a workpiece reference assembly.
  • Various render query extensions.

GPU-based raytraced rendering

In MachineWorks 8.8, MachineWorks GPU has been enhanced to support GPU-based raytracing of analytic surfaces. Based on Multicut technology, a ray fired from each pixel is intersected with the analytic surface identified from data stored on the underlying tri-dexel model, as opposed to from the dexel model itself or a mesh reconstructed from the dexel model.

As the surface coordinates and their normals are computed from analytic equations the accuracy is very high, leading to precise and detailed images of surface quality even when the acceptable dexel resolution is being stretched by available GPU RAM. 

Since the computation of both the underlying dexel model and the ray queries are done on the GPU, with no requirement to transfer data back to the CPU, on a modern GPU the raytrace update is almost instant in most cases, allowing fast interactive inspection of surface quality and detail.

Left: A large area mold machined with a small radius tool at a low sample resolution. Centre: The same model visualised using GPU raytracing. Right: The camera has zoomed in further, and the scallops can be clearly seen.

A demonstration of MachineWorks' GPU ray-tracing can be found on the MachineWorks YouTube channel:

 

Simplification of meshes during solid extraction

Solid extraction allows solids to be output in mesh format, facilitating conversion of data between different underlying geometric representations. In some cases, such as tri-dexel stocks with a fine grid resolution, these meshes can be very complex, requiring a lot of memory. It is now possible to simplify these meshes during extraction. 

A user-defined tolerance is specified, such that the decimated mesh is guaranteed to be no further than the tolerance from the original at any point. Simplification is also very effective at reducing the data size of meshes generated using MachineWorks’ polygonal modelling technology and for higher tolerance simulations significant data reductions can be achieved on export without obvious degradation in visual quality.

Left: A closeup view of an in-process stock computed by MachineWorks GPU at a medium resolution, extracted as a polygon mesh and rendered in Polygonica. Right: The same mesh after decimation to a tolerance. The number of polygons has been reduced by 7.7 times. Note that the rendering in the above images deliberately uses flat shaded only, rather then Gouraud or Phong, in order that a difference can be seen.

Significant performance improvements to playback, rewind and seek of recording files

MachineWorks’ recordings provide a compressed archive of an entire simulation, incorporating the polygonal geometry created during each cut. They can be replayed in a web browser without the requirement to host MachineWorks core libraries locally in the client. Recordings can also be replayed within a desktop application to provide a faster replay mechanism for simulations that have already completed.

As well as supporting a WebGL-based WASM/Javascript player, the MachineWorks’ client library also supports a render query like interface, allowing clients to extract polygons from the recording per update for rendering into their own graphics engines.

In MachineWorks 8.8 the following improvements have been made to recordings:

  • Faster playback – for example an animation of a half million cut 5-axis simulation can be replayed in five to ten seconds on a standard laptop
  • Faster seek – for medium sized simulations, the simulation replay can be set to any point in the file almost instantly. For larger simulations the update takes a few seconds.
  • Copy a live recording – to support the workflow in which the user wishes to seek to a previous point in the recording before the original simulation that is generating the recording has completed.
  • Order independent transparency has been added to the OpenGL and WebGL based graphics engines inside the playback libraries. 

A demonstration of MachineWorks' recordings can be found on the MachineWorks YouTube channel:

 

Setting of hard clash tolerances on fixture solids

Hard clash tolerances are defined in order to filter out false positives in clash detection that can be caused by slight variations in numerical data, such as slight discrepancies in the representation of the surface as planar facets, or sampling of the toolpath into discrete position data. 

When a hard clash tolerance is set, two bodies can have intersecting facets, but if the depth of the intersection is below the tolerance threshold, the intersection will not be categorised as a clash.

MachineWorks already supports setting of hard clash tolerances on tools, tool holders and specific solid pairs. These limits, which were in place largely due to the computational expense of computing a meaningful depth of intersection, have been partly removed so that users can now also specify hard clash tolerances for static and moving fixture solids, allowing filtering across the full machine environment.

Additional support for multi-axis turning cuts.

It is now possible to simulate material removal for a turning tool performing a B-axis movement in which the turn plane changes during the move, resulting in the ability to support more complex operations such as simultaneous multi-axis motions about both B and C axes.

A simple B-axis turning example illustrating varying the plane of the tool.

Snapshot differences can now be saved and imported to a new session as a stock.

MachineWorks’ snapshots provide an in-process bookmarking mechanism that efficiently archive the in-process stock model so that it can be easily restored at any point. 

Snapshots are a useful way to investigate what-if machining scenarios. MachineWorks supports creation and management of snapshot trees, along with 3D Boolean difference computation between snapshots that are branches of the same tree, or snapshots from different trees.

In MachineWorks 8.8 snapshot differences can now be exported from the machining session in which they were created, and reimported into new sessions as stock, fixture or target solids. 

Ability to attach multiple work assembly objects to a workpiece reference assembly.

Although this behaviour was previously available, it has now been formalised with a new API that allows addition and management of multiple work assembly objects to a workpiece. This makes management of multiple setups on complex machining centres easier to manage from a coding perspective. 

Render query extensions

MachineWorks’ render query interface allows applications to use and efficiently update geometry supplied by MachineWorks in their own graphical scenes and graphics engines, without causing conflicts with the graphical surface e.g. the OpenGL context. 

By default the render query interface batches incremental triangle updates into sizes that are intended to be close to optimal for creating vertex buffers or VBOs. 

In some circumstances the host application requires greater control – for example, in order to organise triangle groups based on the requirements of its own per frame update process. 

In MachineWorks 8.8 options have been added to, in effect, turn off MachineWorks’ batching so as to allow the application to use their own scheme. In addition a new property provides a mapping between individual triangles in the render query and the original face entity, making face property queries more efficient. 

Contact

By submitting your details through this form you are consenting to receive marketing emails. You can unsubscribe at any time.

We do not send many emails. They are normally for new product release announcements, new blog entries and invitations to webinars or to our stands at trade shows. In 2019 we sent twelve marketing mails and in 2020 we sent eight.

Newsletter

Receive the latest updates about MachineWorks, our software releases and much more.

We will always respect your privacy. Please view our privacy centre to learn more about how we take care of your data.