Machine Definition for Post Processing

No137 image-0001

4th axis specification.

Many generic posts included with HSMWorks have already been prepared for both 5-axis indexing and simultaneous toolpath. Some generic posts will even output 5-axis toolpath automatically without modification when posting 5-axis toolpath.

Common for all generic posts is that they do not know anything about the physical layout of the machines used. This layout always has to be specified when a post is customized for a particular machine when required for 5-axis machining. Some controls have built-in support for machine independent 5-axis indexing and fewer have built-in support machine independent simultaneous machining.

It is highly recommended that posts generate NC code in a Tool Center Point mode or just TCP for short (e.g. Heidenhain M128) when supported by the control in question such that all positions are relative to the measured zero point on the part when placed on the machine and not the actual machine zero point. If the TCP mode is not available then the user would be required to first place the part on the machine, measure the part zero point, and enter the zero values during posting which is prone to error. Note that a control might support several different TCP modes so you have to verify the specific behavior for the modes.

When TCP mode is available a very limited amount of machine layout information is required. Basically the post only needs to know the layout which influences the rotational axes (i.e. normally the ABC words).

A simple application is now included with the HSMWorks installation which will allow you to specify the required information relevant for 5-axis machining. You can find the application in the HSMWorks installation folder under "posts". The application is called "machinedefinition.hta" and will allow you to load and store machine definitions usable by the post processor.

The machines supported by this application are limited to linear XYZ axes and rotational 4th and 5th axes for simplification (this is enough to cover most machines). For all axes you can specify the movement axis as a directional vector, the valid coordinate range, and the resolution. For the rotational axes you can furthermore specify the attachment of the axis (i.e. head or table), the angular preference (i.e. negative/any/positive), and the coordinate to which to bind the axis. There are several restrictions on the parameters but the application will automatically validate them for you when saving the definition (e.g. the rotational axes cannot be co-linear). Finally, the application allows you to specify some global information about machine so the definition can be easily recognized in the future. You can set most values to 0 in which case they will be ignored.

No137 image-0002

Global machine information.

Note that there is no such thing as a generic ABC 5-axis machine even when the rotational ABC axes are aligned with the XYZ axes since this doesn't specify if the axes are attached to the head or table.

When customizing a post for 5-axis support the first step is to include the machine definition. This would normally be done by calling the appropriate machine configuration API directly in the onOpen() entry function.

The machine setup could look something like this:

var bAxis = createAxis({coordinate:1, table:true, axis:[0, 1, 0], range:[-120.0001,120.0001], preference:1});

var cAxis = createAxis({coordinate:2, table:true, axis:[0, 0, 1], range:[10*-360,10*360]});

machineConfiguration = new MachineConfiguration(bAxis, cAxis);


optimizeMachineAngles2(0); // using TCP mode

Alternatively, you can load the definition stored by the machine definition utility directly in the post using the MachineConfiguration.createFromPath() function. However, this is normally not desired since you have an extra file to manage instead of just the post.

  • Tags: Machine Defintion, Post Processing

Categories: HSM Tips and Tricks

Leave a comment

You are commenting as guest.