winder / Universal-G-Code-Sender

A cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core.
http://winder.github.io/ugs_website/
GNU General Public License v3.0
1.92k stars 769 forks source link

Z Plane (YZ) Arc problem #1154

Closed dustnnotes closed 5 years ago

dustnnotes commented 6 years ago

Feature request

Problem description

Arc's in the YZ plane do not appear to be implemented correctly. I need to translate an object from the XY to the YZ planes for an operation on my CNC machine. I was successful in developing my G-code translation algorithm, as confirmed by proper operation of a different sender (OpenBuilds), but was never successful in getting UGS to properly visualize/send the translated G-code. ### Expected Behavior

Arcs in YZ plane behave the same as those in XY plane

Actual Behavior

G0/G1 commands ported from XY to YZ planes are reproduced accurately, G2/G3 commands are not..

Steps to Reproduce the Problem

  1. So far as I can tell, try any G2 or G3 command in a Z plane (I have focused on YZ, but believe it occurs in XZ as well).

2 .Here is an object G-code in XY that includes arcs: R_XY.txt

Here is the UGS Visualizer in XY: ugs xy screenshot

  1. Here is the same object G-code, translated to YZ: R_YZ.txt

And the result in UGS Visualizer in YZ: ugs yz screenshot

  1. As a reference, I used a different sender (OpenBuilds), and the Z-plane operation worked fine on my CNC machine.

Specifications

Version

UGS Platform 2.0.0 Stable

Operating system

Windows (both 7 and 10)

Platform

GRBL 1.1f, in a Workbee CNC machine with Laser attachment. Translation is required to enable engraving on the side of a work piece.

Other

dastultz commented 6 years ago

There's pretty little to go on here, but this might be a duplicate of https://github.com/winder/Universal-G-Code-Sender/issues/853

dustnnotes commented 6 years ago

Thanks for the quick response @dastultz! Sorry, I had an issue uploading the G-code the first time, posted now. I took a look at #853, but wasn't sure, and wanted to provide my case as well. This is a blocking issue for me on this operation, and I would rather not use multiple senders. Any fixes in the works?

AbySet commented 6 years ago

I tested it even with 11.25.2018 version nightly build and confirm the issue.

Tested under: -Windows 10 x64

dustnnotes commented 6 years ago

I was wondering why an issue in the visualizer was affecting the operation of the CNC. After more closely reading #853, I disabled Arc Expander, and now the GRBL machine does the right thing. Still an issue, but with much more manageable effect.

AbySet commented 6 years ago

Hmmm, according to the second picture in #853 the issue happends when Z is moving up in arc (left side arc) but not when Z is moving down in arc (right side arc), i'm following arrows shown in the first picture.

dastultz commented 6 years ago

Yes, sorry, I meant to mention disabling Arc Expander. Couldn't remember if I enabled it or disabled it as a work around.

robomechs commented 6 years ago

Correct with Camotics: 2018-12-02 15-18-10 camotics Incorrect with UGS: 2018-12-02 15-16-03 full nc - universal gcode platform version 2 0 nightly nov 18 2018 GCode file: Full.zip

DanielWeigl commented 5 years ago

This looked like a nice bug to get to know the codebase a bit better.. Looked into it and I think I found it, fixed in https://github.com/winder/Universal-G-Code-Sender/pull/1220

Tested against robomechs and dustnnotes GCode:
grafik

grafik

dastultz commented 5 years ago

Awesome, I'll try to confirm after merge. Thanks.