Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Haas Post Helix Bug 348 ILLEGAL SPIRAL MOTION
Curt_Welch
Member, csevp Posts: 42 ✭✭
in CAM Studio
On helix paths, with the "arc output" post-processor option turned on, the post-processor produces a useless G-code that throws this Alarm on my Haas (1995 machine):
348 ILLEGAL SPIRAL MOTION
The description of this error is:
348 ILLEGAL SPIRAL MOTION - Linear axis path is too long. For helical motions, the linear path must not be more than the length of the circular component.
An example of the G-code that causes this error is this:
This is using a G3 arc command to produce the helix but it's coded wrong. It's trying to do a multiple-turn helix with a single G3 (CCW arc) command but a G3 can only do at max a 360 arc.
Fusion outputs a string of G3 commands, each only doing 180 degrees of a similar spiral down helix motion.
The Haas website says you can add a Ln parameter to make it repeat the same arc n times, but nothing like that was used.
Other machines allow you to specify a pitch with the K parameter (for an X-Y helix) so that it can do an extended helix with a single G3 block, but it doesn't look like the Haas supports that.
I checked both the generic Haas NGC post, and a Tormach post, and the Faunc post, and they all had this same error (trying to code the entire helix with a single G3 command).
The workaround is to just turn off the "arc output" post option, which makes it produce lots of short linear moves, but that makes the gcode file far larger than it needs to be.
When I first saw this, I thought it was a machine compatibility issue that took me this long to research and understand. But it's not; it's a bogus g-code that would not work on any machine. So the "arc output" option is just broken on at least Faunc, Haas, and Tormac posts.
348 ILLEGAL SPIRAL MOTION
The description of this error is:
348 ILLEGAL SPIRAL MOTION - Linear axis path is too long. For helical motions, the linear path must not be more than the length of the circular component.
An example of the G-code that causes this error is this:
N1 G20
N2 G17 G40 G49 G80 G90
(Operation: 2-Axis Rough)
N3 T1 M6 (D6.35 End Mill)
N4 G0 G90 G54
N5 S6000 M3
N6 X0.053 Y-0.085
N7 G43 H1 Z0.197 D1
N8 M8
N9 G1 F19.69
(so important modes active for the error are: G90, G17, X0.053 Y-0.085)
N10 G3 X0.1 Y0. Z-0.197 I-0.053 J0.085 <- this throws the error(so important modes active for the error are: G90, G17, X0.053 Y-0.085)
This is using a G3 arc command to produce the helix but it's coded wrong. It's trying to do a multiple-turn helix with a single G3 (CCW arc) command but a G3 can only do at max a 360 arc.
Fusion outputs a string of G3 commands, each only doing 180 degrees of a similar spiral down helix motion.
The Haas website says you can add a Ln parameter to make it repeat the same arc n times, but nothing like that was used.
Other machines allow you to specify a pitch with the K parameter (for an X-Y helix) so that it can do an extended helix with a single G3 block, but it doesn't look like the Haas supports that.
I checked both the generic Haas NGC post, and a Tormach post, and the Faunc post, and they all had this same error (trying to code the entire helix with a single G3 command).
The workaround is to just turn off the "arc output" post option, which makes it produce lots of short linear moves, but that makes the gcode file far larger than it needs to be.
When I first saw this, I thought it was a machine compatibility issue that took me this long to research and understand. But it's not; it's a bogus g-code that would not work on any machine. So the "arc output" option is just broken on at least Faunc, Haas, and Tormac posts.
0
Comments
The HAAS has a safety check built in that triggers and stops this error. If the helix is too steep, as defined by the plunge depth being longer than the helix path (a helix with greater than 45 deg angle of decent) the Haas assumes this can't be right and errors with this '348 ILLEGAL SPIRAL MOTION' alarm.
But not all machines will have that check. It's not invalid g-code to plunge that fast with a G3 code. I suspect some machines will just do the motion exactly as the g-code told it to instead of stopping with an alarm.
So my point, is that this is not "options that need to be added on the long hist of options". It's a bug that can crash machines, and the user will have no idea it's about to happen because the visualization doesn't match what the g-code is doing. You should disable the "arc output" option so people won't ;crash their machines if you can't just fix the post-processor faster.
This is the worst type of bug in CAM code. The code says it's doing one thing, which looks fine, but the g-code tells the expensive mill to crash the tool into the part instead of doing what the CAM said it was going to do.
Just wanted to be clear that you guys understood the true nature of this "bug".
This has been corrected, and new versions of CAM Studio will produce valid code. Helices will be limited to 360 deg max.
On top, the user will have more controls:
Regards,
Gabriel