Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Missing "D" control on Mill/Turn

hphanQ726A
Advocate

Missing "D" control on Mill/Turn

hphanQ726A
Advocate
Advocate

Hi everyone,

When using Milling toolpath (contour) on the mill/turn with the "wear" feature, it does output the G41 but missing the D Comp. control. Anyone has same issue as mine?

Thanks

0 Likes
Reply
Accepted solutions (1)
687 Views
13 Replies
Replies (13)

seth.madore
Community Manager
Community Manager

What is your machine? My Doosan Lynx uses the T# to control for wear comp, it's all contained in the tool call: T1212 would call up tool 12 and activate all the offsets for that tool.

G0 G28 H0.
M89
T0909 (.109 EM R.01)
M8
G97 S5250 M3 P12
M90
G0 C180.
M89
G0 Z-0.1575
X1.0652 Y0.
X1.0252
G1 X0.8652 F3.3
G19
G1 G41 Y0.0121 Z-0.1454
G3 Y0. Z-0.1332 J-0.0121 K0.
X0.8518 Y-0.021 Z-0.1696 J0. K-0.0242
X0.8385 Y0.021 J0.021 K0.0121

Seth Madore
Customer Advocacy Manager - Manufacturing
0 Likes

hphanQ726A
Advocate
Advocate

I am using Haas. In mastercam and esprit it will output: 

G1 G41 Y0.0121 Z-0.1454 Dxx

but here Fusion misssing the Dxx after the G41/42

0 Likes

seth.madore
Community Manager
Community Manager

NGC or pre-NGC control? Either way, I'm 99% certain your control doesn't need the D value, as this is the first Haas user who has raised this issue with the turn/mill post.

What's the actual machine model and vintage?


Seth Madore
Customer Advocacy Manager - Manufacturing
0 Likes

hphanQ726A
Advocate
Advocate

Mine is NGC ST35Y twin spindle, it needs the D-comp to control the wear, I try to put negative values to correct the dimension, but it does not affect at all, but when I manually insert the D-comp after then it does work. 

I use Mastercam and Esprit for many years (14+ years) and it always output G41 X-value Y-value D-value on both turning and end mill tools, but Fusion does not. Sometimes we need to use same tool but to control other dimensions, so the D-comp is really needed.

Oh, it does not output the D-comp on the turning tool too. it should. For an example, if we bore a hole more than 2" which sometimes we got the tapper issues then we should use the different D-comp to control the front and back.

0 Likes

seth.madore
Community Manager
Community Manager

Interesting. There's nothing in the Haas Turning Programming manual that indicates you need to be using "D" values

https://www.haascnc.com/content/dam/haascnc/en/service/reference/programming-workbooks/lathe---progr...


Seth Madore
Customer Advocacy Manager - Manufacturing
0 Likes

hphanQ726A
Advocate
Advocate

I agree, I do not see any D-comp on the Haas Manual, but it should. I'd tested many times without the D-comp it does not work like the way it should. 

Thanks @seth.madore 

0 Likes

seth.madore
Community Manager
Community Manager

Sounds like a Haas issue, imo. I'd be curious what response you would get if you contacted your HFO and got some clarity. We've got loads of shops using these posts and it's not something that's been raised before. So either no one is using cutter comp, or your machine is behaving differently than the rest of the user base :thinking_face:


Seth Madore
Customer Advocacy Manager - Manufacturing
0 Likes

hphanQ726A
Advocate
Advocate

Well, I enrolled a program which call "Machine Tool and Computer Aided Manufacturing" and I'd been taught "always using the D-comp to control the ID/OD if they are tapper sometime. When I work at machine shop, I keep doing that until now without any issues (at least with Mastercam and Esprit always output in the way I was being taught). Since using Fusion (sometime) It gives me a lot of issues, such as PP and programming. But I learn from those issues, I start like to using the Fusion because it allows me to sneak in and create a simple program very quickly versus with the other two CAMs. I want to correct things like Tool Table format, D-comp, and comment on Fusion which help me confident using it. 

 

To contacted to HFO, they will explain here and there, why and what ... which problem will never be resolved. I contact them sometime for some issues with my UMC 500SS (the B-axis is always off under/over cut) and I never come up with the result. I would rather do it myself then waste time on them. I think most people who has HAAS will know what I am talking about.

 

thanks @seth.madore 

0 Likes

DarthBane55
Advisor
Advisor

Sorry to interrupt, reading from outside sometimes we see something different.  Just to be sure, when you call a live milling tool, you call it with, for example, T1212 or just T12?  Like Seth said, (and we have many lathes here), calling T1212 is enough, when it reads G41 or G42, it uses offset 12, there is no "D" output.  Of course your machine might be unique, or a parameter set, never know, just wanted to be sure about the tool call.

1 Like

seth.madore
Community Manager
Community Manager

@DarthBane55 wrote:

Sorry to interrupt, reading from outside sometimes we see something different.  


Don't apologize, a fresh set of eyes on this perplexing issue is welcome!


Seth Madore
Customer Advocacy Manager - Manufacturing
0 Likes

hphanQ726A
Advocate
Advocate

calling T1212 but input the negative values on the control, it does not work until I manual insert the D-comp after then it does cut exactly what I enter on the control:

 I always using this format: G41/42 x-value y-value D-value F-value on turning and milling while working on mill/turn

0 Likes

seth.madore
Community Manager
Community Manager
Accepted solution

To get your post into a state to produce "D" values, there are several edits that need to be made:

At line 2339, 2342, 2345:

Original:

      
      switch (radiusCompensation) {
      case RADIUS_COMPENSATION_LEFT:
        writeBlock(gMotionModal.format(gCode), gFormat.format(41), x, y, z, f);
        break;
      case RADIUS_COMPENSATION_RIGHT:
        writeBlock(gMotionModal.format(gCode), gFormat.format(42), x, y, z, f);
        break;

 

Modified:

     var compensationOffset = tool.isTurningTool() ? tool.compensationOffset : tool.lengthOffset;
      switch (radiusCompensation) {
      case RADIUS_COMPENSATION_LEFT:
        writeBlock(gMotionModal.format(gCode), gFormat.format(41), x, y, z, "D" + compensationOffset, f);
        break;
      case RADIUS_COMPENSATION_RIGHT:
        writeBlock(gMotionModal.format(gCode), gFormat.format(42), "D" + compensationOffset, x, y, z, f);
        break;

 

And then again at #2386, 2389, 2392:

 

Original:

      
switch (radiusCompensation) {
      case RADIUS_COMPENSATION_LEFT:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(41), x, y, z, getFeed(feed));
        break;
      case RADIUS_COMPENSATION_RIGHT:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(42), x, y, z, getFeed(feed));
        break;
      default:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(40), x, y, z, getFeed(feed));
      }
    } else {
      writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), x, y, z, getFeed(feed));
    }
  }
}

Modified:

var compensationOffset = tool.isTurningTool() ? tool.compensationOffset : tool.lengthOffset;
      switch (radiusCompensation) {
      case RADIUS_COMPENSATION_LEFT:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(41), x, y, z, "D" + compensationOffset, getFeed(feed));
        break;
      case RADIUS_COMPENSATION_RIGHT:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(42), x, y, z, "D" + compensationOffset, getFeed(feed));
        break;
      default:
        writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), gFormat.format(40), x, y, z, getFeed(feed));
      }
    } else {
      writeBlock(gMotionModal.format(isSpeedFeedSynchronizationActive() ? 32 : 1), x, y, z, getFeed(feed));
    }
  }
}

 


Seth Madore
Customer Advocacy Manager - Manufacturing
1 Like

hphanQ726A
Advocate
Advocate

Perfect!!!  that is exactly what I am looking for.

 

thanks @seth.madore,

 

1 Like