Bug Report: Fusion 360 Post Processor Issues with G68.2 Tilted Work Plane for HNC-848Di Control

Bug Report: Fusion 360 Post Processor Issues with G68.2 Tilted Work Plane for HNC-848Di Control

pavel.lagunv
Explorer Explorer
1,092 Views
3 Replies
Message 1 of 4

Bug Report: Fusion 360 Post Processor Issues with G68.2 Tilted Work Plane for HNC-848Di Control

pavel.lagunv
Explorer
Explorer
Hello Autodesk Team,

I am reporting critical issues with Fusion 360 post processor when using G68.2 (Tilted Work Plane) for 3+2 multi-axis machining on HNC-848Di CNC control.

**Machine:** IRON MAC IMU-5X 400 PRO (5-axis machining center)
**CNC Control:** Huazhong HNC-848Di
**Post Processor:** rs274 multi-axis.cps (Generic RS-274D Multi-axis)
**Fusion 360 Version:** 2026 (current)

## Problems

1. **Drilling cycles (G81/G83) are expanded to linear moves (G0/G1)** at the CAM level before post processor is called. The `onCyclePoint()` function is never called, preventing the post processor from outputting drilling cycles.

2. **Incorrect command sequence:**
   - G69 (cancel tilted plane) outputs BEFORE the operation instead of AFTER
   - G43.4 (TCP) outputs AFTER G69 instead of BEFORE G68.2
   - G53.1 outputs without feedrate (should include F3000 parameter)
   - Machine-specific commands are missing (M61 M63, M51 M53, G05.1 Q0 for HNC controls)

## Impact

Programs generated by Fusion 360 execute drilling operations in the wrong coordinate system, resulting in incorrect part geometry or potential machine crashes.

## Expected Sequence (per HNC-848Di requirements):

```gcode
M61 M63                           ← Unlock rotary axes
G0 A-90. C270.                    ← Position rotary axes
G43.4 H1                          ← Enable TCP BEFORE G68.2 ⚠️
G68.2 X0 Y0 Z0 I90. J90. K180.   ← Set tilted work plane
G53.1 F3000                       ← Turn machine (with feedrate) ⚠️
M51 M53                           ← Machine mode
G05.1 Q0                          ← High-speed mode
G0 X0. Y35.                       ← Approach point
G98 G81 Z64. R71. F20.            ← Drilling cycle ⚠️
G80                               ← Cancel cycle
G69                               ← Cancel plane AFTER operation ⚠️
G49                               ← Cancel TCP
```

## Actual Sequence (Fusion 360 output):

```gcode
G0 A-45. C15.                     ← Position rotary axes
M8                                ← Coolant on
G68.2 X0 Y0 Z0 I-165. J45. K180. ← Set tilted work plane
G53.1                             ← Turn machine (NO feedrate) ❌
G0 X-0.001 Y35.753               ← Approach point
G69                               ← Cancel plane BEFORE operation ❌
G43.4 H1                          ← Enable TCP AFTER G69 ❌
G0 X-30.287 Y113.027 Z66.452    
G1 X-11.464 Y42.779 Z-6.274 F40  ← Linear moves instead of cycle ❌
```

**Critical consequence:** The drilling operation executes in the base coordinate system instead of the tilted work plane, resulting in holes drilled in wrong locations and orientations.

## Comparison with SolidCAM

SolidCAM correctly generates the proper sequence with drilling cycles (G81/G83) in tilted work plane operations. This proves the correct sequence is technically feasible and industry-standard.

## Investigation

I added debug comments to the post processor to track function calls:
- `onCyclePoint()` is **never called** for drilling operations with G68.2
- `onLinear()` is **not called** for the expanded linear moves
- Fusion 360 outputs G0/G1 commands directly, bypassing post processor cycle handling

**Conclusion:** Drilling cycle expansion happens at the CAM level before post processor execution. The post processor cannot prevent this.

## Current Workaround

I created a custom HNC post processor with 500+ lines of modifications to fix the command sequence issues. However, I cannot fix the drilling cycle expansion problem as it happens before the post processor is called.

## Test Files Available

I have test files available for verification:
- `1001.nc` - Fusion 360 output with custom HNC post (correct sequence, but cycles still expanded)
- `1002.nc` - Fusion 360 output with standard post (incorrect sequence)
- `ST1.NC` - SolidCAM output (correct reference from working machine)
- `rs274 multi-axis HNC.cps` - Custom post processor with all fixes

I can provide these files and detailed bug report document upon request.

## Request

Please prioritize this bug fix as it affects **multi-axis drilling operations**, a core CAM functionality. The current behavior makes Fusion 360 unsuitable for production use with HNC-848Di and similar controls without extensive post processor customization.

**Affected users:**
- Users with HNC CNC controls (Huazhong HNC-848Di and similar)
- Users with Fanuc controls requiring strict G68.2 sequence
- Users requiring drilling cycles in 3+2 operations (aerospace, mold making, die making)
- Users migrating from SolidCAM, Mastercam, PowerMill to Fusion 360

## Contact

I am available for:
- Providing test files
- Testing beta fixes on IRON MAC IMU-5X 400 PRO machine
- Sharing custom post processor code
- Video demonstration of the issue
- Remote session to demonstrate on actual machine

Thank you for your attention to this critical issue.

Best regards
0 Likes
1,093 Views
3 Replies
Replies (3)
Message 2 of 4

boopathi.sivakumar
Autodesk
Autodesk

Hi @pavel.lagunv 

 

1. rs274 multiaxis post is a generic post which does not specifically ment for any particular machine or control it’s a generic iso type output.

 

2. The drilling cycles are expanded because you might be using 5 axis drilling I cannot see any attached project if so then at the moment we don’t support cycles for multiaxis drill you can create individual holes with tool orientation.

 

3. For any multiaxis toolpath before activating TCP (G43.4) we do a safe preposition with the G68.2 so that move in only XY and Z. So it’s an ISO code format or a fanuc style output.
in fanuc controls you cannot activate G68.2 when TCP G43.4 is active so it won’t work.

i suppose your machine works differently obviously because of controller is different. So probably programming manual will be helpful for us.

 

IMO it’s not a critical issue with the current post. The current post we have is incompatible with the  HNC-848d control.
Pls send us some programming manual I can make a ticket to create a post exclusive to this control. Appreciate your willingness to help and thanks for raising the query.


Boopathi Sivakumar
Principal Technology Consultant

0 Likes
Message 3 of 4

pavel.lagunv
Explorer
Explorer

Hello,

Thank you for your response. As requested, I am attaching the HNC-848Di programming manual.

The manual is in Russian (540 pages), but all G-codes, M-codes, and programming examples are universal and easily understandable.

Key characteristics of the HNC-848Di post processor:

1. Command sequence differs from standard FANUC:
- First, axis rotation (angles A, C)
- Then G43.4 Hxx (TCP activation)
- Then G68.2 XYZIJK (tilted work plane)
- Standard FANUC order (G68.2 before G43.4) does NOT work
2. Required axis control commands:
- M61 M63 - unlock rotary axes before rotation
- M51 M53 - lock rotary axes after positioning
- G53.1 F3000 - machine coordinate system
- G05.1 Q0 - high-speed mode
3. Drilling cycles:
- All cycles must use G98 (return to initial plane)
- G83 requires parameter K (K0.5 for chip breaking)
4. Program completion sequence:
- M05 → M09 → G69 → G49 → return axis to zero position → G53 positioning → M30

The attached file ST1.NC demonstrates the correct working program structure.

I appreciate your help in creating a specialized post processor for HNC-848Di control.

Best regards

0 Likes
Message 4 of 4

pavel.lagunv
Explorer
Explorer

Hello Autodesk Fusion 360 Team,

Following up on my previous bug report regarding G68.2 implementation issues with the HNC-848Di controller on IRON MAC
IMU-5X 400 PRO machine.

I have now obtained the official programming manual for the HNC-848Di control system (manufacturer's documentation).
This manual contains:

- Complete G68.2 syntax and parameter specifications for this controller
- Official examples of G68.2 usage with drilling cycles
- Proper command sequence requirements (M128 → G68.2 → operation → G69 → M129)
- Controller-specific limitations and requirements

Key findings from the manual:

1. The HNC-848Di controller does support drilling cycles (G81, G83, etc.) in combination with G68.2 dynamic coordinate
system
2. The manual provides specific examples showing correct implementation
3. There are controller-specific requirements for command sequencing that differ from generic FANUC implementation

Request:

Could you please review this documentation to verify whether Fusion 360's current G68.2 implementation aligns with
HNC-848Di specifications? I can provide:
- Comparison between manual examples and Fusion 360 output

This documentation may help resolve the drilling cycle limitation issue I reported earlier, as it appears the
controller itself supports this functionality.

Please let me know if you need any specific sections or translations from the manual.

0 Likes