- Posts: 4793
- Thank you received: 1480
G41 and G42 Input path error
- Todd Zuercher
- Offline
- Platinum Member
-
Less
More
9 years 2 months ago - 9 years 2 months ago #98092
by Todd Zuercher
Replied by Todd Zuercher on topic G41 and G42 Input path error
I spent a little time pouring over some Fanuc manuals, on the subject, and I think I see the difference in how Linuxcnc and Fanuc is handling the initiation of the G41/42 offsets. Linuxcnc is handling any corners created between the lead-in move and the following cut moves, the same as any corners that come after initialization of cutter compensation. So the starting point of the cut is offset by the tool radius from both the tool path and the lead-in move. Fanuc is treating that starting point differently, only applying the offset perpendicular to the cutting vector at the starting point.
The programmers of Linuxcnc were trying to prevent over-cutting when starting at an inside corner, and it does just that. But it is causing an undercut in the situation you are describing. If you programed a cut, starting at an inside corner, the Fanuc control would over-cut the starting move. (As far as I can see they both behave the same at the end of cutter comp and both would over cut there.)
I could not tell you how hard it may be to change this behavior. But I am pretty sure it was the intended behavior by whomever programmed it, so it's technically probably not a bug. The harder trick will be convincing the developers that the behavior should be changed.
The simplest work around is to either always program an over lap greater than your tool radius or make sure your lead-in move is tangential to your cut.
So your above inside circle cut would be something like this.
The programmers of Linuxcnc were trying to prevent over-cutting when starting at an inside corner, and it does just that. But it is causing an undercut in the situation you are describing. If you programed a cut, starting at an inside corner, the Fanuc control would over-cut the starting move. (As far as I can see they both behave the same at the end of cutter comp and both would over cut there.)
I could not tell you how hard it may be to change this behavior. But I am pretty sure it was the intended behavior by whomever programmed it, so it's technically probably not a bug. The harder trick will be convincing the developers that the behavior should be changed.
The simplest work around is to either always program an over lap greater than your tool radius or make sure your lead-in move is tangential to your cut.
So your above inside circle cut would be something like this.
Code:
G0G90X0Y0Z20S1200M3F600
T1M6
Z0
/G1X50
G3G41D1X50I25J0
G3I-50J0
G1G40X0
M30
Last edit: 9 years 2 months ago by Todd Zuercher.
Please Log in or Create an account to join the conversation.
- RobotMatic
- Offline
- Elite Member
-
Less
More
- Posts: 199
- Thank you received: 25
9 years 2 months ago #98119
by RobotMatic
Replied by RobotMatic on topic G41 and G42 Input path error
Thank you very much for reading and writing in this post. I am raising this situation for a long time (years !!). The developers do not think this is a problem, but for example, try to create a postprocessor for any cam system that can solve the entry to the path with G41-G42 in the way that Linuxcnc poses
it's impossible !!!! ). Fanuc and others have solved this complexity in a very simple way. For adjustments works with pressure is very important. Keep trying, for me is a big mistake as it should work, Linuxcnc should take as an example other controls like Fanuc, Fagor, etc, thank you very much !!
Please Log in or Create an account to join the conversation.
- RobotMatic
- Offline
- Elite Member
-
Less
More
- Posts: 199
- Thank you received: 25
9 years 2 months ago #98251
by RobotMatic
Replied by RobotMatic on topic G41 and G42 Input path error
In order to be able to visualize the erroneous way in which linuxcnc generates an input path, I leave a basic example of parametric programming so that it can be understood how complex and unnecessary it can be to perform auxiliary input motions. My intention is that this conceptual error be corrected by linuxcnc developers.
Please Log in or Create an account to join the conversation.
- RobotMatic
- Offline
- Elite Member
-
Less
More
- Posts: 199
- Thank you received: 25
9 years 2 months ago - 9 years 2 months ago #98253
by RobotMatic
Replied by RobotMatic on topic G41 and G42 Input path error
Last edit: 9 years 2 months ago by RobotMatic.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
-
Less
More
- Posts: 4793
- Thank you received: 1480
9 years 2 months ago - 9 years 2 months ago #98256
by Todd Zuercher
Replied by Todd Zuercher on topic G41 and G42 Input path error
Adding one line of g-code to your program will make it run the way you wished it to. It's only a work-around, but it will get you where you want to go.
Code:
#100=50
#101=45
#102=20
#103=0.25
#104=0
#105=0
#106=0
G0G90X#104Y#105Z#106S1200M3F600
T1M6
o100 REPEAT [[#102/#103]]
#100=[#100-[TAN[#101]*#103]]
G1G91Z-#103
G1X[#100-[#5410/1.999]] (This is the key line)
G1G41X#100D1
G3I-#100J0
G1G40X-#100
o100 ENDREPEAT
G91G28Z0
M30
Last edit: 9 years 2 months ago by Todd Zuercher.
Please Log in or Create an account to join the conversation.
- RobotMatic
- Offline
- Elite Member
-
Less
More
- Posts: 199
- Thank you received: 25
9 years 2 months ago #98257
by RobotMatic
Replied by RobotMatic on topic G41 and G42 Input path error
Please Log in or Create an account to join the conversation.
Time to create page: 5.792 seconds