I would propose some enhancements to the laser plugin. At the moment, it's too much limited for a real use.
Here some of the main improvements I could suggest.
Of course, many of them might be already there!
And I may be blind and I don't see them! Please correct me if they are already available!
- let the feed override work: currently if you change the feed override during a laser job, nothing happens. It would be useful to change it on the fly, like any other job.
- [bug]: when you start cycle, it moves from the actual position to the starting point selected (i.e. center, bottom-left, etc...). But this makes no sense to me. The starting point should be referred to the origin (0, 0). Otherwise, every time you start a cycle (without manually G0 X0Y0Z0) the next starting points move further and further
- show the current Q value during lasering: in the same way during machining you see the current spindle speed
- it would be very useful to show the calculated Q value when moving the mouse pointer on the image
- to test the output I often need to engrave small portions of the image. Please allow to select an area (rectangular is enough, anyway other shapes are nice to have) and send to UCCNC only that area instead of the whole image
- add a "move to" function: click on a point on the image and move (X, Y) to the related coordinates. I often mix laser and milling operations, so I have to check precisely where a specific point on the image will be on the stock. Right now it's almost impossible.
- add options for scan directions: at the moment only vertical and horizontal are available. At least add diagonals (both directions)
- as another user said, skip with G0 areas where the calculated Q value is below a threshold and its length is above another one (to avoid G0 for just few pixels that will cause abrupt accelerations only)
- add a calibration curve: the resulting gray-scale is not linear with the Q value. You may say: "change your image according", but this is just a workaround. The goal is to have the same gray scale on both monitor and engraving, so the best is the other way around: show an editable curve that define the relationship between the pixel brightness (0-255 on X axis) and the Q value (0-100% on Y axis)
- add a header/footer section: pressing "start cycle" is not enough on some machine to enable the laser operations... For example I need to send several g-code before start lasering.
- show the progress coloring the lines already engraved on the image
- let the users to save/load jobs: right now I have to write down all the parameters to remember how to engrave every single file...
- add a "Dynamic Laser Power" features like GRBL M4 to compensate ramps
OR AS AN ALTERNATIVE to all the above:
tell us how to write a g-code that works in the same way of the plugin.
I tried in this way, following the available documentation:
- Code: Select all
G0 X77.4000 Y45.8000 Z0.0000 F3000
G0 X42.8000 M10 Q0
G1 X42.6000 M10 Q2
G1 X42.4000 M10 Q93
G1 X42.2000 M10 Q132
G1 X42.0000 M10 Q184
G1 X41.8000 M10 Q202
G1 X41.6000 M10 Q211
G1 X41.4000 M10 Q224
G1 X41.2000 M10 Q227
G1 X40.8000 M10 Q250
G1 X40.6000 M10 Q248
G1 X40.4000 M10 Q208
G1 X40.2000 M10 Q194
G1 X40.0000 M10 Q177
G1 X39.8000 M10 Q135
G1 X39.6000 M10 Q118
G1 X39.4000 M10 Q79
G1 X39.2000 M10 Q53
G1 X39.0000 M10 Q37
G1 X38.8000 M10 Q48
G1 X38.6000 M10 Q44
G1 X38.4000 M10 Q42
G1 X38.0000 M10 Q46
G1 X37.8000 M10 Q51
G1 X37.6000 M10 Q58
G1 X37.4000 M10 Q39
G1 X37.2000 M10 Q35
G1 X37.0000 M10 Q39
G1 X36.8000 M10 Q43
G1 X36.4000 M10 Q48
G1 X36.2000 M10 Q41
G1 X36.0000 M10 Q47
G1 X35.8000 M10 Q53
G1 X35.6000 M10 Q81
G1 X35.4000 M10 Q97
G1 X35.2000 M10 Q40
G1 X35.0000 M10 Q42
G1 X34.8000 M10 Q49
G1 X34.6000 M10 Q47
G1 X34.4000 M10 Q60
G1 X34.2000 M10 Q36
G1 X34.0000 M10 Q39
G1 X33.8000 M10 Q52
G1 X33.6000 M10 Q81
G1 X33.4000 M10 Q115
G1 X33.2000 M10 Q80
G1 X33.0000 M10 Q48
G1 X32.8000 M10 Q51
G1 X32.6000 M10 Q48
...
but the movements are not fluids. It seems it decelerates for every G1 command, instead it should not.
So, how looks like the "hidden" gcode generated by the laser plugin?
Thanks in advance for your cooperation!