-
Notifications
You must be signed in to change notification settings - Fork 429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relative E option for Gcode #514
Comments
Why would you want such an option? We would like some more reasoning before implementing new features. See; https://github.com/daid/Cura/wiki/Issue-policies |
With relative E it is much easier to pause and change filament then continue. It is also much easier to hand edit the g-code and for example slice twice with different settings and then pick some bits from one version and the others from the other. |
I second that... I think, in general E-movement isn't an absolute thing like x/y/z. Relative E allows all kinds of gcode manipulations (e.g. by plugins), and most of them get very complicated with absolute E. |
+1 from here too. I use Relative E with Simplify3D and would like to se it 2014-03-07 2:30 GMT+01:00 hg42 notifications@github.com:
Mvh Jesper Lindeberg |
+1 from me too. Whenever I have to pause a print the lack of this feature is a pain. |
@averter can you specify your problem more clearly? It sounds to me to be more of a problem of the printer that it cannot Op 27 aug. 2016 22:39 schreef "Averter" notifications@github.com:
|
@BagelOrb If you see this related issue OctoPrint/OctoPrint#779 (comment) mentioned above by nophead you'll see. Essentially most people want the flexibility to retract and extrude filament during pause, without rewinding back to the same E position after unpausing. I have a Prusa i3 Rework controlled by Octoprint. |
Interesting. This will probably be fixed in our next generation of printers. |
As I understand it, this issue is not specific to any single problem (like retract and unretract at pausing) but to make the g-code more easy to modify by hand, to tinker with it more easily. |
I think people should use 2016-09-05 1:13 GMT+02:00 Ghostkeeper notifications@github.com:
Kind regards, Tim Kuipers Ultimaker BV |
I already said above: it's simply more modular. Also, relative E should be easy to implement, I think. |
You are right, that relative GCode can help, but it's a workaround more like a trick, not a clean solution. |
:-) with relative E you can insert gcode without correcting the E position before and after by G92. On the other hand, what are advantages of absolute E? |
With absolute E, the E axis behaves like a normal axis, just like all the other. You also don't have a rounding conversion error buildup due to float->string->float conversions. |
ok, thanks for the answer, seems there are some good reasons. |
@daid is that a screenshot from Simplify3D? XD |
No, its from skeinforge. |
I am not familiar with skeinforge, because I skipped it because it is way too slow for me. But these options are very well structured. IMHO, the sheer amount of options doesn't hurt as long as you understand what they mean. I like that several parameters are separated by physical meaning. Skeinforge is very old. Those parameters seem to be directly from the algorithm. So all the slicer can do is accessible. It's low level. This makes it very powerful. So, I often heard sentences like "in skeinforge we can set parameter x" to solve problems other slicers have. Most modern slicers try to simplify the user experience, but they fail here and there. Komplex algorithms have complex parameters. That's it. It's all about good defaults and ways of hiding most parameters for non experts. |
I think we are still pioneers. So you cannot determine all parameters of the algorithm automatically (which generally should be possible using all physical knowledge). Another problem is that most printers have severe problems. Given that, you need access to lower levels of the algorithm. |
@daid I thought a bit about your arguments. "With absolute E, the E axis behaves like a normal axis" this probably simplifies programming. But in this case the calculation can be the same with an additional step at the end (determining the relative value). Or, in the other case, if the absolute value is calculated from the last value and a relative amount, you simply use the relative value instead. "You also don't have a rounding conversion error buildup due to float->string->float conversions" seems to be unbeatable. But...there is a difference between XYZ and E. "It's also the default standard behavior that does not depend on any custom M codes that haven't been standardized in any way." this is plain true given the reprap definition on However, if your printer firmware can handle relative E, you have a code for that and can configure it in start.gcode |
The floating point problem would be lessened in relative E because the numbers are closer to 0, where floats are more accurate. The trade-off is that the total material cost/weight can float off due to rounding errors, instead of compensating for one round-up by rounding down in the next move. |
ASCII gcode is actually fixed point. I.e. there are a fixed number of The slicer could keep track of the sum of the rounded values it has output On 6 September 2016 at 10:28, Ghostkeeper notifications@github.com wrote:
|
This idea is never going to be fixed in legacy Cura. As for Cura 2, please submit your pull request at https://github.com/Ultimaker/CuraEngine and https://github.com/Ultimaker/Cura |
This feature was just rejected by our change control board. |
I would like to request an option, which seems to be standard in most others slicers, to export gcode using Absolute coordinates for X, Y and Z, but Relative coordinates for E movements.
The text was updated successfully, but these errors were encountered: