A correct 2D toolpath with a displaced 3D cut indicates a coordinate-registration problem, not a milling-path problem. The toolpath and the 3D stock model are using different references. Align the stock origin with the active work offset, or remove the duplicate stock offset when TRANS already supplies the displacement.
Coordinate-System Mechanism
The term machine zero here means the fixed origin of the simulated machine coordinate system. Workpiece zero means the programmed part origin established by a work offset such as G54. The 3D stock model also has an origin. For a valid simulation, its position relative to machine zero must match the coordinate transformation used by the NC program.
A 2D display can plot programmed tool motion correctly while the 3D view places the stock elsewhere. The 2D result therefore confirms that the program generates a plausible path, but it does not prove that the solid stock is registered to the same workpiece zero. When the cutter moves beside or away from the 3D workpiece, compare coordinate transformations before changing tool geometry or rewriting the contour.
| Observed result | Meaning | Next check |
|---|---|---|
| 2D simulation is correct; 3D cutter misses the stock | Toolpath generation works, but the 3D stock origin is displaced | Read the active work offset in PARAMETER
|
G54 contains nonzero values and the stock offsets differ |
The program and stock use different machine-zero-to-workpiece-zero vectors | Copy the G54 values to the corresponding stock fields |
TRANS supplies the displacement and the 3D stock also carries it |
The displacement is applied twice | Use X0 Y0 Z0 for the simulation stock offset |
| Offsets agree but the cutter still misses | Another coordinate or geometry input remains mismatched | Compare the first commanded point and stock location axis by axis |
Program Coordinate Selection
Check 1: expect one identifiable method of establishing workpiece zero. Inspect the program and determine whether it positions the part primarily through a work offset such as G54, through TRANS, or through both. Do not treat these methods as interchangeable entries: each transformation changes how programmed coordinates map into the machine coordinate system.
If the program uses G54 without a separate programmed translation, continue to Check 2. If it uses TRANS, continue to Check 3 before copying any values. If both appear, trace their order and determine the combined translation that reaches the first cutting position. Blindly copying every displacement into the stock definition is wrong practice because it can register the same shift twice.
Record the first cutting move in X, Y, and Z and identify the intended point on the workpiece. This creates a simple reference for later verification. A dimensional disagreement isolated to one axis usually points to one incorrect stock-origin component rather than a toolpath-wide programming failure.
G54 Displacement Comparison
Check 2: expect the stock-location vector to equal the active G54 vector. Open PARAMETER and read the populated G54 values. Then open 3DVIEW, select Rohteil (raw stock), and inspect the fields that define the displacement from machine zero to workpiece zero.
Compare corresponding axes, including sign. The X value from G54 belongs in the X stock-location field, with the same rule for Y and Z. A value with the correct magnitude but the opposite sign moves the stock to the other side of machine zero. Swapped axes create a path that may look plausible in one projection while missing the solid in 3D.
Branch on the readings:
- If all three stock values match
G54, leave them unchanged and compare the first cutting point with the expected stock surface. - If one or more values differ, copy the
G54values into the matching machine-zero-to-workpiece-zero fields underRohteil, then rerun the 3D simulation. - If
G54is zero but the program usesTRANS, do not invent a replacement offset; proceed to the translation check.
TRANS Displacement Branch
Check 3: expect the simulation stock offset to be X0 Y0 Z0 when TRANS supplies the applicable displacement. A programmed translation changes the active coordinate frame. Adding the same displacement to the 3D stock definition moves the solid again while the toolpath follows the translated program frame.
Set the corresponding simulation stock offsets to X0 Y0 Z0 for this branch. Rerun from the beginning so that the simulator rebuilds the coordinate state before evaluating the first cutting move. Starting partway through a program can retain or omit a modal transformation and produce a misleading comparison.
If both G54 and TRANS are used, calculate the coordinate chain rather than automatically zeroing or copying every field. Read each transformation in program order and compare the resulting first cutting position with the stock origin. The deciding test is geometric: the programmed approach point must arrive at the intended stock face in all three axes.
Resolving Configuration Procedure
- Save the current
G54andRohteilvalues so an unsuccessful edit can be reversed. - Run the 2D simulation and note the first approach and cutting positions. Treat this result as the toolpath reference, not as proof of 3D alignment.
- Inspect the program for
G54andTRANS. Identify which item establishes the workpiece displacement at the first cutting move. - For the
G54branch, openPARAMETERand copy its X, Y, and Z values into the matching machine-zero-to-workpiece-zero fields in3DVIEWunderRohteil. - For the
TRANSbranch, enterX0 Y0 Z0in the corresponding simulation stock-offset fields so the translation is not duplicated. - Restart the 3D simulation from the program beginning and observe the approach before allowing the complete simulated cut.
Numbered Verification Readings
-
Check 1: coordinate values. Expect the
Rohteilstock-location values to matchG54axis for axis whenG54defines the displacement. -
Check 2: translation values. Expect
X0 Y0 Z0in the simulation stock-offset fields whenTRANSsupplies the applicable displacement. - Check 3: approach location. Expect the cutter to approach the intended face of the 3D stock without cutting through empty space.
- Check 4: first contact. Expect first tool contact at the programmed workpiece location in X, Y, and Z. Stop and recheck the sign of the differing axis if contact appears on the opposite side.
- Check 5: full-path agreement. Expect the 3D cut to follow the same contour already accepted in the 2D simulation while remaining registered to the stock.
FAQ
How do I align the SINUMERIK 840D EMCO 3D stock with G54?
Read the X, Y, and Z values for G54 under PARAMETER. Enter the same values in the corresponding machine-zero-to-workpiece-zero fields under 3DVIEW and Rohteil.
How do I fix a 3D cutter that misses the workpiece while 2D is correct?
Compare the active program displacement with the 3D stock origin. Matching the G54 vector, or removing a duplicated TRANS displacement, resolves the documented alignment branches.
How do I configure the 3D stock when the program uses TRANS?
Enter X0 Y0 Z0 for the corresponding simulation stock offsets when TRANS supplies the displacement. This prevents the stock translation from being applied twice.
How do I find a wrong sign in the 3D stock offset?
Compare X, Y, and Z separately between G54 and Rohteil. If the tool approaches the opposite side on one axis, check that axis for an inverted sign.
How do I verify the corrected 3D simulation?
Restart from the program beginning, confirm that the approach reaches the intended stock face, and verify that first contact occurs at the programmed X, Y, and Z workpiece location.