Slicer-adjustment, script or something else?



  • Hey together,

    I’m developing a metal 3D printer using WAAM (wire and arc AM) process.

    https://www.mdpi.com/materials/materials-12-01121/article_deploy/html/images/materials-12-01121-g001-550.jpg Thats a graphic of WAAM process.

    First, I had problems to get my torch started, but it works now πŸ™‚

    Now I’m looking for a slicer where I can get a special form of g code. Or a special form of the extrusion parameter.

    G1 F900 X220 Y736 E25.443
    G1 F900 X222.5 Y819 E23.912
    G1 F900 X225 Y830 E12.322
    G0 X230 Y769
    

    This is out of slicer. It means it will extrude in the lines with G1 an amount of filament.

    But I want to get gcode like this:

    G1 F900 X220 Y736 E1
    G1 F900 X222.5 Y819
    G1 F900 X225 Y830 E1
    G0 X230 Y769
    

    In first sentence of a β€œto print line” the printer has to start to extrude, with just E1. In last sentence where it hast to extrude, just E1, too. In the sentences between, no E!
    It's needed, because my machine only needs β€œon” at beginning of a line and β€œoff” (means 1, too) at an end of the line. The process between β€œon with E1” and the β€œE1 to go off” my machine does itself.

    I hope you understand my problem and you can help me!

    Thank you!

    Cedric


  • Moderator

    Sounds like a job for a post processor. Both cura and prusa slicer have pretty powerful find and replace scripting capabilities.



  • You can just select laser mode using M452
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M452_Select_Laser_DeviceMode

    Use the pin defined in the P parameter to control a relay which in turn can be wired to your torch trigger.

    Your image appears to depict tig or plasma cold wire.
    this is a poor choice for WAAM using a printer base as you have no way of keeping the wire in the correct orientation with regards to the arc and direction of travel.

    The best process is CMT (Cold Metal Transfer)
    This is being used by several commercial WAAM systems.



  • Hey,

    thank you for your answers!

    @Phaedrux said in Slicer-adjustment, script or something else?:

    Sounds like a job for a post processor. Both cura and prusa slicer have pretty powerful find and replace scripting capabilities.

    Thats sounds good!

    I took a look to Cury scripting button before, but I don't understand something 😰

    Do you have a tip for me to get into scripting with Cura?

    I'd start with this:

    https://github.com/Ultimaker/Uranium/wiki/Creating-plugins

    but maybe you have a better site how to start πŸ™‚

    @OwenD said in Slicer-adjustment, script or something else?:

    You can just select laser mode using M452
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M452_Select_Laser_DeviceMode

    Use the pin defined in the P parameter to control a relay which in turn can be wired to your torch trigger.

    Your image appears to depict tig or plasma cold wire.
    this is a poor choice for WAAM using a printer base as you have no way of keeping the wire in the correct orientation with regards to the arc and direction of travel.

    The best process is CMT (Cold Metal Transfer)
    This is being used by several commercial WAAM systems.

    I work with M571 in usual printing mode actually.
    This way I got here:

    https://forum.duet3d.com/topic/20997/extruder-feed-just-0-1

    I'll take my new information into this thread at weekend maybe.

    Because the printer is running now, with M571 and a MIG/MAG torch.
    With TIG you're right, that would give some problems with wire orientation. But the graphic was the best I found πŸ˜‰

    CMT would be a dream, I'm working with an 25 year old TPS330 atm πŸ‘

    My next step is using 4 tact welding mode to fill the end crater at an end of the line. I thought to use a dwell time, but I think if I do it with the welding electric, I will get better quality.

    And thats why I have to modify the g code πŸ™‚

    If you have other ideas, it would be wonderful to hear them!

    Cedric



  • @CedricE said in Slicer-adjustment, script or something else?:

    I'd start with this:
    https://github.com/Ultimaker/Uranium/wiki/Creating-plugins

    It doesn't have to be a 'plugin', can be just a post processing program in your language of choice that reads the gcode file and generates a replacement one.

    If I got your requirements correctly, I would load the gcode lines into memory, classify each one of them as one of these cases:

    • First extrusion in a sequence.
    • Extrusion within a sequence.
    • Last extrusion in a sequence.
    • Other

    And them output the each line with a modification based on its classification.

    BTW, in the last extrusion line in your example, did you intend to have E1 or E0 (turn off)?



  • IceSL slicer does this with simple lua scripting. All G-Code is generated by a user-editable lua script. There are several ways to accomplish what you want to to, it's very flexible.

    Also, PrusaSlicer is easy to modify. I could point you to the area you'd need to modify. Likely, other open source slicers are easy to modify too, but I've no experience with them so I can't say for sure.

    If you wanna try IceSL or PrusaSlicer, I'd be happy to offer any help or advice.



  • @CedricE said in Slicer-adjustment, script or something else?:

    Hey,

    thank you for your answers!

    My next step is using 4 tact welding mode to fill the end crater at an end of the line. I thought to use a dwell time, but I think if I do it with the welding electric, I will get better quality.

    And thats why I have to modify the g code πŸ™‚

    If you have other ideas, it would be wonderful to hear them!

    Cedric

    With regards to end craters, if you have a Fronius TPS3200 you can set a start and end current time.
    Hold down the store key and press one of the arrows under the trigger selection LEDs.
    Use the arrows to scroll through- start current, end current, start time, end time.
    It's all in the manual (you've read the manual right? πŸ˜‰
    You should probably leave the trigger made to 2x
    If you use then you must issue both a high and low signal at the start and end of each line.
    Running 2x trigger mode will simplify things.
    You will need to add a delay at the end of each line to ensure the torch stays in place until after both the end time and the post gas flow.
    This could be done by a post processing script adding G4 S*

    Alternatively you could add a robot interface and insert conditional g-code which checked for the process active signal going low before proceeding to the next line.
    You'd still need post processing to do this and whilst you could then adjust settings on the welder without re-slicing, it's much more expensive.


Log in to reply