The Work Plane option sets formatting for a multi-axis machine with a controller that supports different working planes.
This option makes it possible to define a plane other than the three major planes of XY, YZ, and ZX. When defined properly, this option enables the programmer to use features like canned cycles, circular interpolation, and cutter compensation within the specified work plane.
NOTE: This dialog is only necessary for postprocessors that contain one or more rotary machine axes, and the feature must be supported within your controller. Because this feature passes the data to a custom macro, your IMS license must include the macro utility.
Overview
The new generation of controllers can perform more complicated functions, not only in the three major planes XY, YZ, ZX (G17, G18, G19), but in any plane.
Machine Menu and Options: Multi-Axis As an example, look at cutter compensation programming (G41, G42). Traditionally, this
function works only in one of the major planes. For work done with tilted head machine in indexing mode (and not along a major plane), the user would have to program the part in the CAM system with the actual cutter to be used on the machine. If there is any change in the actual cutter diameter or length, the user will have to run the CAM program again with the modification of the cutter. Compare this to working in one of the major planes, where this is not necessary since the controller can do the compensation internally.
The working plane function in IMSpost supports this new technique as used in the new generation of controllers.
NOTE: If your controller does not support this feature, there is no need for you to specify it. If it does, your IMS license must also include the macro utility. When this dialog is properly defined, it will pass information to the postprocessor WORKING_PLANE/* dialog. In this macro, you have the ability to take this dialog data and process it to your specifications. The
WORKING_PLANE/* does not exist in the library posts. Because this option can have many variations, the user is responsible for processing the data this dialog passes to the macro.
Description
It is important to understand what it means to work in a working plane.
Normally, the CAM system software generates the tool part file (APT, CLD) in one physical coordinate system. This physical coordinate system usually represents the part coordinate system with respect to the machine coordinate system.
If however, the head of the machine is tilted to cut the material in such a way that the tool is normal to a plane other than one of the major planes, it is possible that some newer controllers can define that plane in such a way to be able to apply the cutter compensation (as it was in one of the major planes).
The controller needs to determine if all points in the coordinate system lay on that plane. This is as if doing all programming in XY-plane and defining the plane in the controller using the controller language.
With this technique, the controller first applies the compensation to the given points, and then converts the points back to the physical coordinate system using the predefined plane.
Machine Menu and Options: Multi-Axis Defining the Plane
For the definition of the plane, the controller uses a sequence of rotation angles that rotate the physical coordinate system to a specific plane. IMSpost provides many different options in order to handle all variations of controllers that support this kind of operation.
Field Description
Work Plane On Indicates the function code for the working plane option ON.
Work Plane Off Indicates the function code for the working plane option OFF.
Machine Menu and Options: Multi-Axis
Field Description
Tool direction Creates the necessary matrix to multiply all points into the plane perpendicular to the tool. With this option, if the machine has a fixed head, the matrix will always be the identity matrix, in which case there will be no affect on the points. (In this case the tool is always normal to one of the major planes, so there is no need for the working plane option.) However, if the tool is tilted (usually because the machine has rotary head) IMSpost will define the necessary matrix internally.
IJK vector Defines the matrix to multiply all points into the plane perpendicular to the given vector, as specified in every GOTO command.
User-defined plane Specifies the matrix to be used to multiply all points into a certain fixed plane. This Matrix is a 4x3 matrix. The last column is a translation. For every given point (GOTO/x, y, z...), the matrix will be applied to the point given to give a new one. (This option is useful only in cases in which the matrix is not dependent on the rotation of the machine axes.)
At this point, the postprocessor has two tasks to accomplish:
1. Define the matrix and multiply all given points by the matrix.
2. Create the specific command for the controller to define the matrix in the controller.
To this point, the options above covered the first task, defining the matrix. The next options cover how to create the specific command for the controller.
There are two ways to create the specific commands for the controller to define the matrix. Since there is no one way for all controllers to define the plane, you can use the advantages of IMSpost with the powerful macro language. Through the Work Plane dialog, IMSpost will internally generate a command to activate the macro called WORKING_PLANE/*. The call to the macro will include all necessary parameters possible needed by the controller.
Field Description
Machine Uses the predefined machine rotation axes for the defined plane.
Some controllers define the plane using the same head rotation as the machine, such as if we have one rotary axis on the head (for example A rotation around the X axis of the machine).
This option is very powerful because you are not dependent on your postprocessor in any way if the machine is changed.
Axis Specifies the axes defining the plane. In many controllers you have axes in combinations of “A, B, and C” where:
A rotation defines the rotation around the 1,0,0 vector.
B rotation defines the rotation around the 0,1,0 vector.
C rotation defines the rotation around the 0,0,1 vector.
Fill the table with the relevant information.
Name Specifies the name of the axis.
Vector Indicates the associated direction vector.
Minimum Defines the minimum rotation angle.
Maximum Defines the maximum rotation angle.
Machine Menu and Options: Multi-Axis
Field Description
Step Specifies the tolerance value.
Independent rotary axes
Specifies how to correctly use the Axis table definitions.
If the box is NOT checked:
The Work Plane feature assumes that A, B, and C are dependent on each other. If one axis is rotated, the other axes orientation may be changed.
As an example, in the Axis table specify the names and associated vectors as:
A 1,0,0 B 0,1,0 C 0,0,1
If the axis A is rotated, then the vectors of B (0,1,0) and C (0,0,1) orientation will be changed. Like most rotary axes machines, if the axes are dependent on each other, then the order of the rotation does not affect the final result.
If the box IS checked:
The axes rotated around a fixed vector, independent of the other axes rotation, and the order of the axes IS important. You must know how the controller works in order to define the work plane correctly.
Once you enter all information to internally calculate the point on the desired plane, you also need to know how the controller implements the mechanism internally. The only thing left then is to generate the right command to the controller for defining the plane.
As stated previously, the postprocessor will generate a WORKING_PLANE/ command to
activate the macro WORKING_PLANE/ with all the necessary information, including the matrix, angles, and so on. You must extract the data from this WORKING_PLANE/ statement and output it as required by your controller.
You can format the exact controller output for defining the working plane in this macro. As with other IMSpost functions, this gives you complete control over formatting the output to the exact specifications.
The following options control when the macro will be active.
Field Description
Once Activates the WORKING_PLANE macro with the first move only.
Change Activates the macro every time the plane is changed.
Macro Executes the WORKING_PLANE macro.
Additional options are:
Field Description
Reverse Matrix Instructs IMSpost to calculate an inverse matrix. The system will flip the resulting coordinates.
Linear Indicates that a Linear motion activates the work plane option. The work plane option will not be activated unless a Linear motion occurs. This option can be combined with Rapid and/or Cycle.
Machine Menu and Options: Multi-Axis
Field Description
Rapid Indicates that a Rapid motion activates the work plane option. The work plane option will not be activated unless a Rapid motion occurs.
This option can be combined with Linear and/or Cycle.
Cycle Indicates that a Cycle motion activates the work plane option. The work plane option will not be activated unless a Cycle motion occurs.
This option can be combined with Linear and/or Rapid.
Active Activates (or deactivates) the WORKING_PLANE feature. You may decide to define all the necessary information, but deactivate the feature (uncheck this option) as a default.
All the work plane parameters defined by this dialog can also be programmed by means of a macro command. The command generated by this dialog is:
WPLANE(………….)
You can put any combination of this command in any macro to modify/change the behavior of the work plane feature.
For the WORKING_PLANE macro to be activated, you must have:
1. Active option checked.
2. Macro option checked.
3. Once option checked OR the Change option checked.
Additional Information
For the advanced macro users, it is also good to know that IMSpost offers another way of calculating the work plane by using a SOLUTION statement:
SOLUTION(WPLANE/i,j,k,i1,j1,k1,i2,j2,k2) where:
i, j, k Solution will find a plane perpendicular to this vector.
i1, j1, k1 First axis of rotation to get to the desired plane.
i2, j2, k2 Second axis of rotation to get to the desired plane.
The solution record will return:
• Matrix to convert from the physical plane to the desired plane.
• Angle of first axis.
• Angle of the second axis.
Calculation is based on the assumption that the two axes are independent.
Machine Menu and Options: Import Machine