Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: jordans on March 02, 2016, 05:48:57 PM

Title: Trouble with 4th Axis Simultaneous/Indexing using SolidCAM
Post by: jordans on March 02, 2016, 05:48:57 PM
First some background, I've been using Mach3 for 9 years now, and thoroughly love it. I'm not keen to switch to Mach4, just too clunky. In that time, I have been working purely 3 axis, and mostly in VCarve Pro and Cut3D. Recently I made the upgrade to SolidCAM, and have still mostly been cutting 3 axis. Two weeks ago I got my rotary axis built, and while the hardware is great, the software transition hasn't been good at all.

There are multiple other threads that broach on this subject, but none of them solve the problem or offer anything more than speculation on what the programmers were/are thinking and intending.

Here is the problem:

In absolute mode, Mach3 (and Mach4) recognizes an absolute zero in rotational terms. Anything in front of or behind that 'zero' is positive and negative. When a full rotation is made, the internal counter never resets to 'zero' again. Using the Rotational setting for 'Rot 360 rollover' solves this problem aesthetically in that it will reset the DRO. However, the internal counter keeps 'winding up'. So, for some movement examples, imagine looking in the positive direction of the X/Y/Z axis for A/B/C. CW is positive, CCW is negative. All 'From' positions are absolute internal, regardless of DRO readout:

1. From 0.0000 -> G00 A90 <- Moves 90° to 3:00.
2. From 0.0000 -> G00 A-90 <- Moves 90° to 9:00.
3. From 90.00 -> G00 A-90 <- Moves CCW 180° to 9:00.
4. From 0.0000 -> G00 A1080 <- Moves CW three revolutions to 12:00.
5. From 1080.0 -> G00 A-1080 <- Moves CCW six revolutions to 12:00.

I could go on, but the general logic can easily be deduced from those five moves. If a negative A value is called, Mach3 MUST rotate all the way back to zero before considering it a negative position, even if the actual rotational position is identical to a closer movement. Introducing 'Ang Short Rot on G0' has no effect, as the logic doesn't exist internally to abandon the 'wind up'. Mach3 MUST unwind, and considers that the shortest angle.

Here are a couple of examples of how this is problematic:
1. Running a rotary toolpath around a part causes it to either unwind while cutting on every slice, or a massive rotational buildup that must unwind at the end in order to continue working on another toolpath that calls for low or negative A positions. (100 revolutions alone would call for Mach3 to positionally believe that it is 36000 degrees from home). This requires a manual Aref between each toolpath.
2. Cutting a wrapped toolpath around a part where the cut itself transverses the 0° point. Here is some sample code put out by SolidCAM, which is the closest myself and two SC engineers could get it to producing correct movement. Below it is the same code modified to cut correctly. Notice three sign changes on N22, 32, and 42.

N10 G00 G90 G54 X0. Y-4.625 B180.
N12 Z1.
N14 Z0.85
N16 G01 G93 Z0.625 F355.5555
N18 B-182.034 F3605.9326
N20 G00 G94 Z1.
N22 B-180.
N24 Z0.725
N26 G01 G93 Z0.5 F355.5555
N28 B-182.034 F4507.416
N30 G00 G94 Z1.
N32 B-180.
N34 Z0.6
N36 G01 G93 Z0.375 F355.5555
N38 B-182.034 F6009.8877
N40 G00 G94 Z1.
N42 B-180.
N44 Z0.475
N46 G01 G93 Z0.25 F355.5556
N48 B-182.034 F9014.832
N50 G00 G94 Z1. B-182.034
N52 M05
N54 G28 Z1.
N56 M30

N10 G00 G90 G54 X0. Y-4.625 B180.
N12 Z1.
N14 Z0.85
N16 G01 G93 Z0.625 F355.5555
N18 B-182.034 F3605.9326
N20 G00 G94 Z1.
N22 B180.
N24 Z0.725
N26 G01 G93 Z0.5 F355.5555
N28 B-182.034 F4507.416
N30 G00 G94 Z1.
N32 B180.
N34 Z0.6
N36 G01 G93 Z0.375 F355.5555
N38 B-182.034 F6009.8877
N40 G00 G94 Z1.
N42 B180.
N44 Z0.475
N46 G01 G93 Z0.25 F355.5556
N48 B-182.034 F9014.832
N50 G00 G94 Z1. B-182.034
N52 M05
N54 G28 Z1.
N56 M30

My goal is to get SolidCAM and Mach3 to work nicely together in 4 axis simultaneous, and ultimately 5xSim. I'm not sure where the modifications need to be made in order to produce the correct results, but as a last ditch effort I thought I would put the problem up here and see if there is anyone out there who has perhaps seen and already solved the same problem. Thanks in advance!

JordanS
Title: Re: Trouble with 4th Axis Simultaneous/Indexing using SolidCAM
Post by: jordans on March 02, 2016, 06:23:56 PM
**Edit**

I misspoke. The 'Ang Short Rot on G0' does abandon the windup. However, when applied to the CAM generated code posted above, it resigns the rest of the program to cut short 2° arcs.