Image2Gcode – Free Raster Image Laser Engraving Software – Modified for MPCNC

New Home Forum Software / Firmware Development Image2Gcode – Free Raster Image Laser Engraving Software – Modified for MPCNC

This topic contains 338 replies, has 58 voices, and was last updated by  Aaryn 5 months, 2 weeks ago.

Viewing 30 posts - 151 through 180 (of 339 total)
  • Author
    Posts
  • #11319

    Leo69
    Participant

    I’m not too familiar with the optimized engraving feature because i didn’t write the code for that feature and haven’t had time to study it. I’ve used it a couple of times and noticed the same dark edge that you did.i think the feedrate picks up on the non- burned areas and slows back down when the burning starts again.it’s possible that the laser is firing as the deceleration is happening and the beam is dwelling on that spot a little longer than the rest. Bryan hasn’t been on the forum for a while but maybe he’ll comment on that. The feature is experimental so you can turn it off if it isn’t working for you. My preferred setting is diagonal raster.if your source image Is just a line drawing dxf or pdf then try dxf2gcode. It will burn a vector image much faster than a raster based toolpath can.

    #11354

    Noname007
    Participant

    Not sure if it is of any help but I am working on a firmware for my CO2 laser that allows for the mapping of power levels.
    Might be an alternative for high powered diode lasers too.
    Essentially you set the lowest power level that gives you some visible change as the minimum engraving value in the firmware.
    The power mapping happens to a value of max 10000 which allows to spread 256 power levels for the analogwrite command wherever needed.
    That way I can even do 8bit engravings on paper without burning through it.
    If it is of any help I will give you a link to Github.

    #11404

    Leo69
    Participant

    I wouldn’t mind seeing this code out of curiosity. An image burned on paper by a Co2 laser would be impressive too if you care to share a pic.

    #11407

    Noname007
    Participant

    How can say no if the guys who did such great work and helped me so much want to see something πŸ˜‰
    The firmware is here on Github.
    It is based on the official Kimbra release and the Turnkey Tyranny additions ported by Nextime.
    Some improvement for the raster direction change was made by HakanBastedt who also works on a different approach to regulate the power mapping.
    I changed the original Turnkey code to allow for full 8bit engravings and increased the standard input power selection from 0-100 to 0-10000 to allow for the required 8bit mapping within a fixed power level.
    The interesting stuff happens in planner.cpp from line 877 to 894, I commented the out the original code for reference so that people can better understand what is actually happening.
    To allow for these mods to work the base64 library needed some minor changes as well.
    I used the modified Turnkey Tyranny plugin, which is included, to create the code for the below image as it was too big for Image2Gcode.
    With base64 encoding the gcode file is still over 6mb big LOL
    But for smaller sizes I can do the same with Image2Gcode and for my needs I only modified how the power commands work, e.g. integrating them into the movement string and removing some unwanted gcode that I don’t need on my machine.
    Bigger jobs are limited for me using Image2Gcode as so far I had no time to integrate the G7 command and base64 encoding.
    Anyway the image was encoded in 254DPI as this and 508DPI are next to perfect resolutions for machines that use pulse settings per mm and not inches.
    Image size is 240x175mm, same for the engraving.
    Power levels used: Minimum power as set in the firmware: 750
    Max power for total black: 1080
    Speed: 7200mm/min
    Engraving time: 62minutes ,which equals to a real life speed (including the turns) of 7027mm/min based on the line lengths and engravng time.
    The power levels correspond to 7.5% for min and 10.8% for max if the original controller would have been used, so you see I basically just increased the resolution here.
    The mapping of the 256 power levels happens in the firmware during runtime instead of being integrated in the Gcode, which saves a lot of time and processing.
    The high speeds are mainly possible due to a good alignment of the acceleration values to the max speed but only possible in 1/8 stepping at 1/16 stepping I can only reach speeds of around 4200mm/min before running into processing troubles due to the slow CPU and no support for a mathematical co-processor – I need a 32bit board!! LOL
    But at 1/8 I still have a calculated accuracy of 0.1mm which should be more than enough for normal jobs, if I need more I can always change the stepping and go slower.
    Billy engraved big
    Engraved just on copy paper, so it buckled a littled bit and did not like to stay flat so I can take a proper pic.

    GRBL does the laser stuff different to Marlin but people using Marlin might want to try the 254DPI and 508DPI for their engraving jobs.
    For me it was the biggest improvement in speed ever.
    If you think about it makes actual sense:
    254DPI equals 0.1mm pulses, 508DPI 0.05mm pulses – this is far easier in calculations for a 8bit CPU than pixel values of 0.09644 or so.
    And since the laser pulses must be timed with the movements, which are also calculated in mm we suddenly get pretty nice looking numbers for movements instead of crap with 4 or 6 digits behind the comma πŸ˜‰
    If there is a way to get around complex flot operation than write the extra code was one of the favourite statements my computer teacher used back in the 90’s LOL
    The smudge on her dress was done by the idiot taking not enough care when handling it, so please ingore this imperfection if you can.

    #11412

    Noname007
    Participant

    Just noticed the link is not working in the previous postin and I can’t edit it anymore.
    so I will try again.
    Marlin Kimbra for K40 Lasers

    #11451

    Peter T
    Participant

    Hi again, It have been a while then i was running the laser. I was whiting for the calibration step for the good Laser modules. It was working very well so thanks for that.

    Bu i still have problems to use the Image2Gcode software.
    The test file you sent me is giving error and the new version 1.0 is giving the same error.
    I was able to get the test version running for some times but no more.

    I find out that if i donΒ΄t use any decimals in the width and height itΒ΄s working.

    //Peter

    Attachments:
    1. error.txt
    #11456

    Leo69
    Participant

    Although most of us diode users wouldn’t benefit from this i have to give you props.you’ve come a long way with your laser.nice work

    #11457

    Leo69
    Participant

    Thanks for posting dump.that’ll help with troubleshooting.I’ll try to look at it this weekend

    #11458

    Leo69
    Participant

    @peter T
    I’m curious.were you able to get higher current fron your driver with the test load method In the revised guide?

    #13591

    Didier
    Participant

    Hi everybody, first of all thanks for thoses beautifuls projects (cnc, softwares, cool community…). My vicious is now near to be complete and i just bought the jtech 2.8W laser kit. So I would like to use image2gcode and I have exactly the same problem as Peter T. The first “mpcnc” version of Leo69 was fine (not in real life but to create and export clean Gcode) but others versions have the error which seems to be a “just in time” failure. I tried to debbug my computer (no success) but i think like Peter that is something with decimals in width or heights, but we can’t adjust our project to this, decimal are so friendly :). So maybe Leo69 (or somebody else good in programmation eheh) can check it compare to your first “mpcnc” package because I don’t have those kind of knowledge (the working .exe was named 3dpBurner-Image2Gcode-MPCNC.rar). And again thanks everybody for sharing !!

    #13747

    Leo69
    Participant

    Sorry, been very busy and just read this post. Can you post details about which software options cause this issue and which don’t? It’ll help me troubleshoot. I’ll try to look at this later tonight and post a patched version for you to test ok?

    #13753

    Leo69
    Participant

    @Didier I found quite a few lines of code where float values were being parsed without setting to “InvariantCulture”. This is probably causing the errors in countries where commas are used to separate decimal values. Please test the attached file and see if it will generate Gcode without crashing. Hopefully others can download and help us test as well. I can’t test because I’m in the USA so please help us out!!

    Thanks

    #13762

    Didier
    Participant

    @leo69 Hi, you solved the problem !! I can export Gcode without crashing but if I check or not “Enable Decimal Values” it seems to work in both case, the files generated or exactly the same. There is just a mistake in gcode generated at the beginning :

    G0 Y56,25; Move to top left corner and begin box <——– There is a comma and not a decimal value like this 56.25 (i’m in France and for many application don’t use comma for that, for sure not in gcode files)
    G92 X0 Y56,25 <——– Here to

    But after all gcode seems to be ok.

    And what about “Optimized raster”, can you tell me more about the threshold option πŸ™‚ (i understand that values under the treshold are ignored but why).

    Thanks again for your modification, now i’m waiting for my laser which seems to be in a plane at this moment, really want to try this now !!

    #13768

    Leo69
    Participant

    @Didier Thanks for the details, that was a big help. Please try the attached file to see if the “Move to top left corner” code is correct now. I didn’t spend any time debugging the “enable decimal values” function and decided to disable it instead. It was experimental and was found to make no difference as Marlin/Arduino use 8-bit PWM (0-255 integer) to control the laser so decimals would be useless and just add extra gcode bloat.

    The optimized laser function was added by Bryan and he hasn’t been active on the forum for a while now. I’ll explain what it does but I didn’t code it so I may be mistaken. The laser power values range from 0 for all white, to 255,or whatever your max value is set to , for all black. This program does raster engraving which moves over the entire image, line by line, one pixel at a time. Optimizing is meant to speed up laser engraving by combining moves with power values of zero to save time. The ‘threshold’ value allows you to skip values further above zero to speed up and ignore very light colors. It works well but I think the overall quality of the image is slightly better without this function because the laser head will be at a fixed speed throughout the engraving.

    If you have a vector image that’s just a line drawing then the fastest engraving will be from a tool like dxf2gcode which is posted in another thread. Image2Gcode’s strength is grayscale engraving like photographs and things like that. Let me know if the attached file works and if it does, I’ll post it up top. I probably won’t bother with GitHub since active development is just me at this point and I don’t plan on adding any new features, just debugging as needed.

    #13786

    Didier
    Participant

    @leo69 First of all thanks for your answers about the optimized fonction, i’ll do some tries but i’m lookink for the best quality as possible so i think i’ll not use it.

    I didn’t knew dxf2gcode, but when i load a “complexe” dxf -see attached- (generated with illustrator -which has also some bug sometimes with estlcam- or generated with rhino – no bug usually-, windows 10), it freezes but doesn’t return any error, just freezing (the dxf are allright because i can open them with other softs). No problem for simple shapes so i can try a little the software, i like isometric view to see depth, but it will be better if we can also see path width (nono i don’t want to add you some work eheh).

    Also I tried to load your dxf2gcode-configuration.zip (with DXF2GCODE_Win32_2016-04-17_with_translations) but when i do this, i can’t open the software (error message), i need to modify config_version = 9.7 to config_version = 9.9 in config.cfg and config_version = 5 to config_version = 6 in postpro_config, i don’t know why but it works (note: the freeze still the same for complexe dxf).

    So now, about Image2gcode it is better without option decimal (confusing), but when i generate the gcode with v1.1, it is the same for “move to top left corner” !! There is a comma and not a dot. Same for G92 command just after (and for the rest it is ok, i have dots as decimal separators).

    I understand you have no time to add new features, i think Image2gcode works fine like that (I need to really validate with the laser), there is just this “little” bug for no US people, i have to lost 10 seconds to edit two commas in the gcode file, damn eheh πŸ™‚

    I hope those informations will help you and your software users with mpcnc.

    Thanks again !!

    #13884

    ManuCNC
    Participant

    Can anyone attach the working software Image2GCODE mpcnc?
    I saw that there are various posts with attachments in this discussion ..perΓ² not clear to me which one is working.
    Thanks so much

    ManuCNC πŸ™‚

    #13887

    Didier
    Participant

    @manucnc Hello, Leo69 just post the last release modified for vicious mpcnc, see its post from June 18 2016 in this thread (v1.1).

    #14095

    Didier
    Participant

    Hi everybody, so for now i have my laser and i engrave pictures :). @leo69 this work well, just need to modify the two comma at the beginning, but i don’t know why, in some “dark” part of my picture, the gcode generated put M106 S0, so it is….. not engraved. maybe I missed something ??

    #14097

    Leo69
    Participant

    @Didier post pic and describe settings used. I’d try etching without doing any adjustments like brightness, contrast, or gamma , and also without any experimental features. I seem to remember another post about that issue where this was the solution.

    I’ve been meaning to fix that comma bug but haven’t had time.I’ll get to it though:)

    #14102

    Didier
    Participant

    @leo69 Eheh thanks for the comma πŸ™‚ So i tried with profile “wood”, on wood, at various speeds (1000mm/min is the maximum for me, 600mm/min is acceptable) without adjustment, so i join you pictures but with a blur because this is my girlfriend on the beach so πŸ™‚ For the engraving picture forget about horizontal lines that was an other thing.

    And thanks again !!

    #14161

    Didier
    Participant

    @leo69 Hi leo, if it could help your 0.1 version works perfectly, I just need to put G1 before FXXXXX, but no comma, “grey” are good, no S0 for that.

    #14174

    ualdayan
    Participant

    Using version 1.1 it seems Dithering FS 1 bit doesn’t seem to work. I have some line art (black lines on a white background), and I figured there was no need for greyscale in such a situation. It does a M106 S5 at the beginning, does the box, then never turns the laser on for the actual picture (it does a M106 S0 right before it starts going back and forth in the image area).

    #14676

    ManuCNC
    Participant

    Thanks Didler

    you can run it on mac os?

    #14703

    Didier
    Participant

    @manucnc Hi, i don’t know if you can on mac OS, maybe you could try with wine (emulation for windows apps on mac osx)

    #14717

    ManuCNC
    Participant

    @Didier
    for now I will create the gcode files on another PC because it trying to emulate it seems to not work with Wine.
    – power controls I like firmware using a modified version of Marlin, but retains power on M3 and M5 power off.
    Since it is so ‘that you just insert them and then the gcode is aposto? There are other elements linked to the employed firmware?

    thank you

    #14720

    Didier
    Participant

    @manucnc Not sure to understand everything you said. I’m using marlin firmware B16_32-LCD-112515 (so i work with m106 and m107), and Image2gcode 0.1 (others versions don’t work correctly for me). Maybe wine’ll work with this one. I just need to put G1 before Fxxx at the beginning of the gcode generated by Image2gcode (otherwise speed isn’t set, but no comma in this version) and it works perfectly πŸ™‚ And if you can engrave with diagonal it is longer but better. One last thing, it is not fun to do but you can create a dualboot on your mac with a Windows system just to do that.

    #15455

    Leo69
    Participant

    @Didier , It’s been a while but I took some time to look at this code again. I like the 0.4 version because Bryan had added some cool features like user profiles for different materials and also the origin setting so I took that version and patched the decimal bugs and the missing G1 in front of the feed rate setting. This version doesn’t have any of the experimental features from the later versions and I’m hoping it’ll work well for the international audience:) Please run a quick test when you get time and report back. I guess that request goes to any regions that use commas as decimal seperators.

    Leo

    #15465

    Didier
    Participant

    @leo69 Hi Leo, thanks for taking time to modify your software. I was happy with the first version, i checked this one and the gcode seems to be ok. And thanks for the G1 πŸ™‚ Decimal also are good now. For the moment i’m working on classic glass engraving, but look at the picture, i used Image2gcode to engrave aluminium (not anodised, engraving the picture in paint on my aluminium and after classic engraving with “Edimburg” method). I’ll try later engraving with the patched version and now i can play with the added features. Thanks again for your work, have a nice day !!

    Attachments:
    #15467

    Didier
    Participant

    And the quality on the picture is not really good, sorry for that, but the engraving is really accurate. The size of the “tooth” is 65mm x35mm

    #15469

    Leo69
    Participant

    Wow. Very cool.I’ve engraved anodized aluminum but never attempted anything with glass. I’ve seen some pictures of mirrors that get engraved from the back side and they turn out pretty nice. Thanks for taking time to test the patches. I’ll go ahead and attach this version to the original post to save people time In looking for it.

Viewing 30 posts - 151 through 180 (of 339 total)

You must be logged in to reply to this topic.