Toolpath Solids
It can be useful, for a variety of reasons, to create a single solid that represents the swept volume of a tool motion for a series of cuts, or even an entire toolpath. For example, this allows for faster visualisation of different strategies which involve some repeated segments. It can also be used to increase performance during single simulations where the same set of cuts is done in multiple positions.
Modifying existing implementations is relatively straightforward, as a simple set of options to enable/disable merging behaviour may be called from within an existing toolpath processing loop.
The created solid can be used for Boolean operations, analysed further, for example using slicing or silhouette creation, and exported from the MachineWorks session or saved to file.
Computation of end-position engagement
The MachineWorks polygonal Boolean can be used to create a solid of intersection representing the volumes of material removed during a cut. This can then be used in downstream analysis.
For certain types of analysis it is desirable to consider only the parts of the tool surface that are in direct contact with the stock material at the end of a cut. This is a subset of the intersection solid, and represents an open surface as opposed to a closed watertight volume.
In MachineWorks 8.6 a new function has been added to extract the engagement surface on a per-cut basis. The intersection solid can also be queried separately.
Improved support for u-axis machining for d'Andrea tool heads
Although no API changes have been necessary, several internal improvements and optimisations have been made to improve simulations that use d’Andrea tool heads.
Additionally, a new standalone example is provided:
Improved support for broaching operations
Several internal improvements have been made to better support broaching operations. Additionally new standalone examples are provided.
A new API function supports non-convex holder solids for the MachineWorks ‘electrode’ tool category. This allows customers who are using the material removal API to simulate a wider range of broaching machines, by using concave fixture solids to represent complex tool holders.
Support for a wider range of eccentric turning operations
In previous versions of MachineWorks, the ‘slow’ motion of the tool i.e. the component of the motion that is not synchronised with the lathe rotation, was required to be parallel to the lathe axis. From MachineWorks 8.6 that restriction has been relaxed.
This behaviour is controlled via a new options structure for complex smooth turning cuts.
Support for snapshots / bookmarks in Visicut sampled engine
The MachineWorks Visicut API seamlessly supports both polygonal and sampled representations of the in-process stock via a common set of function calls.
MachineWorks’ snapshot mechanism allows a compressed version of the state of the in-process stock to be ‘bookmarked’ at any point in the simulation process. By activating the snapshot, the simulation restores the geometry and state to the point the snapshot was made.
Snapshots can also be taken if a toolpath diverges from the original, creating hierarchical snapshot trees. Snaphots from different points on the same branch, or from different branches, can be compared using Boolean operations.
Snapshots, and associated analysis functions, are helpful to allow the user to rapidly explore and answer ‘what if’ questions when developing a toolpath strategy.
In MachineWorks 8.6, snapshot support has been extended to the Visicut sampled engine:
Transparency for design part comparison in Rapidcut
MachineWorks Rapidcut is an extremely fast sampled engine designed to rapidly generate an in-process stock model for 3-axis surface machining. The resulting model can be compared against the design part target model to identify gouges and compute regions of rest material and rest material boundaries.
In MachineWorks Visicut, the colour bands indicating the depth of gouge or rest material can be made transparent. In particular, this offers an easy way to effectively hide parts of the display that are not of interest e.g. display only regions of rest material, display only gouges etc. In MachineWorks 8.6 this functionality has been extended to Rapidcut.
Direct support for region highlighting in MachineWorks' web-browser client library
The client library supports direct rendering of MachineWorks geometry, either in desktop applications, or in common web browsers using WebGL. The library is provided as an API in either Javascript or C and allows camera control, selection and geometry access.
In MachineWorks 8.6 the per-solid highlighting provided by the API has been extended directly to support highlighting of regions of the surface (faces/triangles) based on supplied cut numbers.
Support for additive simulation in the application frameworks and machine simulation libraries
The Visicut API has been extended to improve support for additive operations. MachineWorks’ CL-like LWN format has been extended with improved support for additive tools, and the Full Machine Simulation API has been extended to add support for creation of additive tools.
Hard clash tolerances in sheet metal bending
For performance reasons, most simulations of moving bodies and associated clash detection algorithms are based on polygonal representations as opposed to highly accurate mathematical surfaces. This leads to the possibility of false-positive clash results being recorded due to tessellated surfaces lying slightly outside the true surface.
In sheet metal bending simulations false positives can also occur due to floating point noise in the definition of the bend operation, including relating to compounded errors in the kinematic chain.
From MachineWorks 8.6 it is now possible to specify a hard clash tolerance between a bend stock and fixture, and also for self-intersections where the stock intersects or touches itself as a result of the bending operation.
If set, a shallow clash will not be reported unless its depth is greater than the hard clash tolerance.
Other additions
Other minor additions and modifications include:
• Extensions to profile preparation: New settings support spur removal and arc tangent fixing. These help remove tiny artefacts often related to floating point noise that can affect simulation performance.
• MachineWorks can report the volume of material removed by a cut on a per-cut basis. A new property has been added to tell the application if any material has been removed since the last time the property was queried. This offers a simpler way to query if material is removed during a sequence of rapid movements, whilst only minimally affecting performance accelerations based on running the simulation on many cores.
• The Body Query API has been extended to support querying the faces attached to an edge.
• A tool transform can now be specified for Boolean operations on solids, removing the need to repeatedly transform, and potentially copy, the tool solid for such operations.