Adaptive purge for every 3D printer: A simple slicer tweak

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 275

  • @wesc23
    @wesc23 2 หลายเดือนก่อน +262

    I made my purge a little lightening bolt. Takes a little more time but I like finding them all over the printer room.

    • @KieranShort
      @KieranShort 2 หลายเดือนก่อน +4

      😂

    • @sethgibbons80
      @sethgibbons80 2 หลายเดือนก่อน +1

      😂

    • @jes00456
      @jes00456 2 หลายเดือนก่อน +2

      Mind sharing?

    • @radish6691
      @radish6691 2 หลายเดือนก่อน +4

      Right on, Zeus! ⚡️

    • @ThePetaaaaa
      @ThePetaaaaa 2 หลายเดือนก่อน

      @@jes00456To my understanding some purge lines/brim things will bypass the trash bin and you’ll find them days/months later somewhere in your print room/living area.

  • @liamburgo23
    @liamburgo23 2 หลายเดือนก่อน +59

    For those with Bambu printers
    Click the edit button above plate type, (looks like pencil to paper)(when you hover over the button it says "click to edit preset")
    Click the second tab, "Machine Gcode".
    The top text box should be called "Machine start G-Code"
    At the bottom of that box, paste in:
    G92 E0.0; reset extruder
    G1 X{first_layer_print_min[0]-10} Y{first_layer_print_min[1]} Z0.8 F6000.0; position 10mm left from the lower left of the first layer
    G1 X{first_layer_print_min[0]-10} Y{first_layer_print_min[1]+30} E30 F360.0; extrude 30mm of filament in the Y direction
    G92 E0.0; reset extruder
    G1 E-0.5 F2100; small retraction
    G1 Y(first_layer_print_min[1]+40) f6000.0; move an aditional 10mm without extruding
    G92 E0.0; reset extruder
    ^ that will add the new fancy purge line talked about in the video. To remove the default purge line, remove the code (above but int he same text box) which says
    ;===== nozzle load line ===============================
    M975 S1
    G90
    M83
    T1000
    G1 X18.0 Y1.0 Z0.8 F18000;Move to start position
    M109 S{nozzle_temperature_initial_layer[initial_extruder]}
    G1 Z0.2
    G0 E2 F300
    G0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}
    G0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}
    G0 X239.5
    G0 E0.2
    G0 Y1.5 E1.166
    G0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}
    M400

    • @andrikurniawan531
      @andrikurniawan531 2 หลายเดือนก่อน

      nice

    • @josefno.1
      @josefno.1 2 หลายเดือนก่อน +1

      G-Code für ungültigen benutzerdefinierten G-Code konnte nicht erzeugt werden.
      machine_start_gcode Parsing error at line 247. Expecting a legacy variable expansion format
      G1 Y(first_layer_print_min[1]+40) f6000.0; move an aditional 10mm without extruding
      ^
      Bitte überprüfen Sie den benutzerdefinierten G-Code oder verwenden Sie den standardmäßigen
      benutzerdefinierten G-Code.

    • @josefno.1
      @josefno.1 2 หลายเดือนก่อน +1

      Error occuring while slicing in Orca

    • @liamburgo23
      @liamburgo23 2 หลายเดือนก่อน

      @@josefno.1 Ah yes I got the same error. Let me know if you manage to work out what the correct variable is.

    • @josefno.1
      @josefno.1 2 หลายเดือนก่อน

      @@liamburgo23 i am honest i dont know how to Coding. I thought you know how to

  • @Topsrek
    @Topsrek 2 หลายเดือนก่อน +36

    Thank you very much! Looking forward to seeing this easy improvement being picked up by the developer community and implemented in OrcaSlicer

    • @polycrystallinecandy
      @polycrystallinecandy 2 หลายเดือนก่อน

      Anything model-agnostic should be handled by your printer's start macro, like it is in KAMP, not your slicer

    • @_MicZ_
      @_MicZ_ 2 หลายเดือนก่อน +1

      @@polycrystallinecandy A regular purge line is model-agnostic, but an adaptive purge line means it's relative to the model, so not model-agnostic ...

    • @polycrystallinecandy
      @polycrystallinecandy 2 หลายเดือนก่อน

      @@_MicZ_ Only the position is dependent on the model, not other parameters. The position is already known to Klipper via the bounding box data, which is used to selectively cancel a single object and for the adaptive mesh

  • @Pacsuper7
    @Pacsuper7 2 หลายเดือนก่อน +38

    Ive been anoyed with having the purge line in The same place all the time.
    Thank you for sharing a solution to that problem!

  • @richard3365
    @richard3365 2 หลายเดือนก่อน +10

    I've always just used a skirt, but as you mentioned it gets to be a bit much, especially for larger prints, when the skirt completely surrounds the part. I'm definitely going to need to give this one a try. Thank you for this informative video.

    • @TheRealPlato
      @TheRealPlato 2 หลายเดือนก่อน +2

      I find two loops of skirt to be a quick early warning when the bed is out of level. It's easy to spot inconsistencies in the overall width

  • @3DPrintingNerd
    @3DPrintingNerd 2 หลายเดือนก่อน +26

    So awesome, thank you Michael.

  • @smorris12
    @smorris12 2 หลายเดือนก่อน +17

    I've just got into printing ABS and couldn't start printing the object without getting ball that would get caught in the fan duct, get pulled along and cause the entire line it was printing to be lifted. I wrote a CURA post processor specfically to read the first G0 co-ordinates (usually the move to the brim start point) and process them. It purges down one side in the normal way, across to the G0's X co-ordinate, then turns left and prints straight down the bed to the G0's Y co-ordinate. So in its initial printing it doesn't get a chance to run the duct over a stuck up tail. Works really well.

    • @Sharkbar_
      @Sharkbar_ 2 หลายเดือนก่อน +2

      Could you share your CURA post processor script/code please? I would like to try it. TY.

  • @john_beardon
    @john_beardon 2 หลายเดือนก่อน +2

    This is fab Michael. I was getting sick of the spindly little purges on the A1.
    Thanks so much!

  • @alexlux147
    @alexlux147 2 หลายเดือนก่อน +46

    I just realized it's possible to use the same variables for adaptive meshing in Marlin.
    G29 has the L, R, F, B parameters that control the scanning zone. This should be the command, I kept a 10mm margin, you can change them:
    SEE THE UPDATE
    I just tested it on my machine (Marlin 2.1.2.1), and it works.
    UPDATE:
    I rewrote the line to avoid values outside the bed limit. Such a value would make the printer completely ignore the G29 command.
    Here is the new line:
    G29 L{((first_layer_print_min[0]-10) < print_bed_min[0])? print_bed_min[0]:(first_layer_print_min[0]-10)} R{((first_layer_print_max[0]+10) > print_bed_max[0])? print_bed_max[0]:(first_layer_print_max[0]+10)} F{((first_layer_print_min[1]-10) < print_bed_min[1])? print_bed_min[1]:(first_layer_print_min[1]-10)} B{((first_layer_print_max[1]+10) > print_bed_max[1])? print_bed_max[1]:(first_layer_print_max[1]+10)}
    This will ensure all values are inside the bed limit.

    • @SirVergil
      @SirVergil 2 หลายเดือนก่อน

      Will this work for a bambulab p1p? if so, can you make a tutorial for dumb people like me? thank you.

    • @riba2233
      @riba2233 2 หลายเดือนก่อน +1

      ​@@SirVergil did you not watch the vide0? For p1p just follow the steps from it

    • @alexlux147
      @alexlux147 2 หลายเดือนก่อน

      ​@@SirVergil I don't have a Bambu printer, so I checked the print profile of the P1P. It looks like something similar was already implemented in the start G-code: G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}
      I'm not sure if this is correct, can someone with a Bambu machine check what I'm saying?

    • @TuringTest3
      @TuringTest3 2 หลายเดือนก่อน +2

      That's neat but adaptive bed meshing in Klipper also reduces the number of probes based on the first layer area to save time. This method wouldn't do that, but it would get a more precise mesh of the actual print area instead of the entire bed. Good job!

    • @Scrogan
      @Scrogan 2 หลายเดือนก่อน +2

      If it’s possible to perform integer division in your slicer’s g-code compiler, then you could set a fixed number of millimetres between each probe.
      Edit: on the Slic3r page for conditional g-code, it mentions that it supports functions from the C resource exprtk, which includes regular division and the modulo operator, so I think it’s possible. It would probably be easier to just use floor or ceiling or round using normal division, which it also supports.

  • @Pacsuper7
    @Pacsuper7 2 หลายเดือนก่อน +1

    Tried it today and it works perfectly on my Marlin Sovol SV06plus. Thanks for sharing your knowledge!

  • @derToblin
    @derToblin 28 วันที่ผ่านมา

    Oh, that's perfect! I also have my bed slightly bent upwards just at the last 20mm on the left side, right where my purge line is placed.
    But I use the skirt not only used for purging, but also for checking correct z-height right before the actual print.

  • @aspensareprettyneat4002
    @aspensareprettyneat4002 17 วันที่ผ่านมา

    Been using KAMP for a while now and it’s been awesome.
    Just got an X1C and the lidar reviewing the purge to adapt the flow is even more awesome

  • @ziffer90
    @ziffer90 2 หลายเดือนก่อน +7

    i'm really liking the purge method on my xl, so easy to take off. i added a bit to reduce the height near the end of the purge to kinda cut off the extrusion before moving away to help reduce stringing from the purge line

  • @legionjames1822
    @legionjames1822 2 หลายเดือนก่อน +1

    Since my p1s started ozzing a bit between purge and 1st model layer i started using skirt again. Its a wonderful feature.

  • @greenman360
    @greenman360 2 หลายเดือนก่อน +1

    Nice. I thought I would need to follow your video to do it on my two main printers, even though they have Klipper installed. Because it's a user-made beta version of Klipper on a machine with locked firmware. But as it turns out, I was able to install KAMP on them. Little bit of set up work and a lot of web searching little things, but I got it working.

  • @mikecrane2782
    @mikecrane2782 2 หลายเดือนก่อน +1

    I tweaked my purge macros on a Robox 3D printer years ago and it was always to get a no blob start print, then modded the native slicer to create. Skirt, but I can see your method of nixing KAMP is going to be more useful on my current 3D printers. Thank you for doing this.… have a beer on me.

  • @poppin_freshgaming4334
    @poppin_freshgaming4334 2 หลายเดือนก่อน +1

    This is great! I've definitely missed the KAMP purge feature with my Bambus. The delicate and hard to remove line along with the string and sometimes blob, have been one of largest (but still extremely minor) gripes. Can't wait to try this!

  • @TS_Mind_Swept
    @TS_Mind_Swept 2 หลายเดือนก่อน +2

    I'll probably give it a try because why not, seems better than the traditional type of purge line, with the added benefit of not having to travel as far after

  • @deankq4adj125
    @deankq4adj125 2 หลายเดือนก่อน +1

    Another great video. Just completed this and it works fantastic on my Sovol SV06!!

  • @JonLaRue
    @JonLaRue 2 หลายเดือนก่อน

    Ahhhhh this is how you do it. I got close working at it a few nights.Thank you Michael!

  • @timhoover1416
    @timhoover1416 2 หลายเดือนก่อน +3

    Brilliant. Thanks for sharing Michael.

  • @radish6691
    @radish6691 2 หลายเดือนก่อน +8

    I always added a skirt when printing with my Wanhao Duplicator i3 Plus, stopped when I switched to Bambu Lab printers. The new printers are definitely an upgrade but one thing I miss about printing with my i3 is watching it print. It moved at a nice even pace and watching it was relaxing, almost hypnotic. 😌
    The X1C and P1P are definitely not relaxing to watch so I’ve had settle for improved print quality and speed. 😂

    • @CrsMthw
      @CrsMthw 2 หลายเดือนก่อน +2

      Bruh 😂

  • @Golfboy-ze3le
    @Golfboy-ze3le 2 หลายเดือนก่อน

    amazing!! This should totally fix my biggest problem with my CR10 max! Thank you! You are always a life saver! :)

  • @MartynDerg
    @MartynDerg หลายเดือนก่อน

    thank you so much for showing this off! I'm so adding this to my printer

  • @DanielSanPedro
    @DanielSanPedro 2 หลายเดือนก่อน +1

    This is actually REALLY nifty! Thank you!

  • @stefanNT_1008
    @stefanNT_1008 2 หลายเดือนก่อน +1

    I have been looking for something like this forever! Thank you!

  • @Art_Of_Sound
    @Art_Of_Sound 2 หลายเดือนก่อน +1

    Great stuff! Would have been cool to have the gcode fragment in the description for a quick cut & paste for those a little familiar with gcode :-) Thanks
    EDIT: While I didnt find a great deal of diff on small prints/layer heights etc, this has been amazing for large models eg >400mm and nozzle sizes > 0.6...thanks again for the condensed info

  • @briannewman6216
    @briannewman6216 2 หลายเดือนก่อน +2

    A brim and/or tabs help with adhesion as well as purging the filament from the nozzle.

  • @josbouten
    @josbouten 2 หลายเดือนก่อน

    Sublime! Exactly what the doctor ordered.

  • @OldCurmudgeon3DP
    @OldCurmudgeon3DP 2 หลายเดือนก่อน +2

    I'm still using a variation of your start code for purge from around '19.
    May I recommend using layers of blue tape under your flex plate to build up low areas. It's about 0.12mm thick. I have 3 layers in a couple of areas on my Ender 3. Thermal camera shows no adverse effect in heating of the flex sheet due to the tape. I haven't needed to run a mesh in months; just recall the stored mesh {55 & 70C have their own) and go.

  • @CharlieBaes
    @CharlieBaes 2 หลายเดือนก่อน

    Amazing video, I just thought of one flaw…
    When you purge close to the model, you will either have to use your finger to remove it (adding oil to the build plate) or a sharp pit of tweezers or a knife which could scratch the bed
    I do like the advantage of it reducing the travel from the purge line to the print. I love to see new techniques. Thank you for the hard work you do for the community

    • @n3m37h
      @n3m37h 2 หลายเดือนก่อน +1

      Guitar pick, spudger both work, can print your own too

    • @CharlieBaes
      @CharlieBaes 2 หลายเดือนก่อน

      @@n3m37h guitar pick is a great suggestion!
      I find any printed tools do not have a sharp edge that lasts, you’ve really gotta be able to get the tool underneath to begin with before you lift everything up
      Thank you for taking the time to suggest a great idea

  • @terryclair2914
    @terryclair2914 2 หลายเดือนก่อน

    I'm trying this today on my Bambu printers, Thank you!!!

  • @coledavidson5630
    @coledavidson5630 2 หลายเดือนก่อน +1

    Ugh i hate not having Klipper. Don't want to bother with Klipperizing ny current printer since I'm planning to get a new one by the end of the year, but it has sucked missing out on stuff like this, adaptive temperature script, good resonance compensation, all the perks of Fluidd, etc. I really appreciate you doing this to give us Marlin users access to some of the good stuff lol. I'm definitely going to try it bc my purge lines often fail to clean the nozzle and instead just cause the oozed filament to fold or curl up onto the sides of it.

  • @kevinlantw
    @kevinlantw 2 หลายเดือนก่อน +2

    Interesting! I have a Cetus 3D printer, and its dedicated slicer has used the same purge line for many years. But I never thought it could be applied to other 3D printers. Good job!

  • @DanLo-tube
    @DanLo-tube 2 หลายเดือนก่อน +11

    A few questions that came to me while watching :
    - have you taken into account in this custol gcode to avoid having the purge line out of the print plate boundaries ? This is a real risk by printing pieces close to the border of the plate. From the video it does not look like this is checked.
    - how does this interract with print settings like "print by object" ?
    - do you think it would be possible to merge this method with the official purge lines from bambu printers, which does more that just purging 30mm of filament ? (Dynamic calibeation flow is done at the same time typically). I.e. the purge line frol A1s printers typically alrernates between 3 flows settings during this process. Would be really really good to allow just to move this purge line closer to the print onstead of doing a more basic one :)

    • @lucaspeltie
      @lucaspeltie 2 หลายเดือนก่อน +1

      1. The slicer checks moves against defined boundaries. So while slicing it would throw up an error if the line was outside of the build plate (if the origin and bed shape and size are set correctly).
      2. It simply prepends some gcode before any actual generated gcode is initiated. So it would do the purge line once, and continue with the rest of the objects one by one.
      3. I don't know how bambu printers work, but I assume the calibration is done with a baked in macro in firmware. So I think the location of it will be hardcoded. Not 100% sure though.

    • @DanLo-tube
      @DanLo-tube 2 หลายเดือนก่อน

      @@lucaspeltie thanks for the answers, it's clearer :)
      I will try to dig on my side regarding Bambulab calib code

  • @KevinDC5
    @KevinDC5 2 หลายเดือนก่อน

    I just got a K1C after having my E3v2 for 3 years, and tbh....I dont feel like messing with it at all!....The factory Klipper prints at speed and basic plug and print with fantastic results....Its The total inverse of my experience with the 3v2, where I spent a year upgrading almost every weakness I could...(octopi/w webcam, direct feed, CRtouch,full spyder hotend,etc) just to get accurate results.
    Its great yet sad to see the industry advancements over the years, yet still plagued by such minutia as custom purge lines. Cheers from Texas!

  • @jonhoyles714
    @jonhoyles714 2 หลายเดือนก่อน +2

    thanks micheal i have kamp and klipper setup although didnt get adaptive purge to work correctly must of missed something thanks 🙏 will take another look 😊

  • @henrilahteenmaki3838
    @henrilahteenmaki3838 2 หลายเดือนก่อน +1

    I've worked around this for years by just printing closer to the lower left corner and placing the seam also in the same position on the first layer. Its stupid but it works.

  • @christophe_decenon
    @christophe_decenon หลายเดือนก่อน

    Thank you Michael, thank you for this extremely informative sharing ;-)

  • @Rulusto
    @Rulusto 2 หลายเดือนก่อน +1

    it's so simple, yet so useful!

  • @puncherdavis9727
    @puncherdavis9727 2 หลายเดือนก่อน

    Mynew flashforge 5m does this and wow it saved me from some bad prints the crap it purged

  • @themrmad
    @themrmad 2 หลายเดือนก่อน

    Thanks so much, kamp wasn't working for me and this solved my issue

  • @maks-i3b
    @maks-i3b 2 หลายเดือนก่อน +1

    Thank you for the solution. I am going to try it on my creality ender 5 with biqu H2 V2S extruder.

  • @soggynode
    @soggynode 2 หลายเดือนก่อน +8

    I like the KAMP purge line in Klipper but it doesn't seem to account for organic supports or wide brims. I don't know if this slicer gcode version does or not but knowing how to change the location is a good thing to know.

    • @sleep_200
      @sleep_200 2 หลายเดือนก่อน +3

      It works. I tested some ridiculous brims and supports in Prusaslicer and this purge always stays outside of it.

  • @pirobot668beta
    @pirobot668beta 2 หลายเดือนก่อน

    Oh, neat!
    I recently picked up (and got rid of!) an Anycubic Kobra 2.
    When it worked, it was printing a purge-line across the width of the 'handle' of the print-sheet.
    I looked: it was built-in to the starting G-Code.
    I got rid of the printer because the print-bed was warped way beyond what leveling could deal with...more than 0.6 mm from center to 'best corner'. Worst was nearly 0.9 mm!
    The flexible sheet wasn't the issue, it was the frame that held the heating-plate under the print-bed that was warped. Looks like some bad or out of place spot-welds...
    It was trying to print on a 'Pringles chip'!
    I am so done with 'the printer is the hobby'!
    Got a Bambu X1 Carbon coming in a few days...get some work done.

  • @noggin73
    @noggin73 2 หลายเดือนก่อน +7

    Klipper already supports adaptive bed meshing natively. I wonder how long until it supports adaptive purge?

  • @Jokemeister1
    @Jokemeister1 2 หลายเดือนก่อน

    Thanks again for another valuable video. Qidi Xmax3 and Q1 Pro do this out of the box.

  • @Oznz-m5c
    @Oznz-m5c 2 หลายเดือนก่อน

    For those using Marlin and Cura I use the following start code which can be set up in Cura
    Start code
    G28 ;Home
    G1 Z5.00 F3000 ;move table down
    G1 X10.0 Y10.0 Z0.25
    ; Prime the nozzle
    G92 E0
    G1 X100.0 E22 F400
    G1 Z5.00 F3000
    M900 K0 ;Set linear advance K factor
    G92 E0
    extrudes 100 mm line and adjust E value to suit.

  • @newmonengineering
    @newmonengineering 2 หลายเดือนก่อน

    I have an IDEX printer, and it has brushes on both sides. So I just put an extruder gcode in the start up and let it purge off the side of the printer and then the brush cleans ir on the way to the print bed. It saves so much filament and no brims needed. I only use a brim on something very tall and skinny to give it better adhesion. I wish more printers worked like that. I used to use lines on the front for the other printers

  • @nashchhatwal
    @nashchhatwal 2 หลายเดือนก่อน +1

    thanks! very helpful video!😄

  • @ScottLahteine
    @ScottLahteine 2 หลายเดือนก่อน

    The purge line is the first opportunity to adjust the nozzle height by baby-stepping, so for that it can help to make the line a little longer and/or slower.

  • @searchingseekanddestroy4053
    @searchingseekanddestroy4053 2 หลายเดือนก่อน

    300*300 square 1 line skirt takes 30s and 35mm of filament. It cleans your nozzle in 4 directions, you see your bed leveling while printing it and if your extralarge print will fit your bed.
    Set skirt to:
    1 line
    2mm away (if you like 215mm pieces on a 220mm bed)
    10mm min extruded( seems yours extrude 9mm). All under 45mm radius will take 2 loops to reach 10mm extruded filament.

  • @Kato0909
    @Kato0909 2 หลายเดือนก่อน

    Just as I wanted to do something like this myself, thanks!

  • @chris993361
    @chris993361 2 หลายเดือนก่อน

    I just made this change on my x1c. Getting ready to try my first print with it but if it even makes the line easier to remove it'll be worth it.

  • @Liberty4Ever
    @Liberty4Ever 2 หลายเดือนก่อน

    I kept meaning to do something like this. I wanted an up, right, down three sided rectangle a few mm from the bottom left corner of the print to maximize the ability to leave an nozzle drool bugger or blob in the purge line and not have it fall into the print. I want the purge line to be easy to remove and discard. Thanks!

  • @paulmarsman8758
    @paulmarsman8758 2 หลายเดือนก่อน

    I decided to make the prime line change position as needed based on the first layer size and location. This goes through the 4 sides and uses the first one it finds as valid in this order:
    left vertical line
    front horizontal line
    right vertical line
    back horizontal line
    if the print is within 10 of all 4 sides it doesn't do a prime line
    ;prime line
    G92 E0.0 ; reset extruder
    {if first_layer_print_min[0] - 10 > print_bed_min[0]} ; check left valid
    G1 X{first_layer_print_min[0] - 10} Y{first_layer_print_min[1]} Z0.8 F6000.0 ; position 10mm left of print
    G1 X{first_layer_print_min[0] - 10} Y{first_layer_print_min[1]+30} E30 F360.0 ; extrude 30mm of filament in the y direction
    G92 E0.0 ; reset extruder
    G1 E-0.5 F2100 ; small retraction
    G1 Y{first_layer_print_min[1]+40} F6000.0 ; move an additional 10mm without extruding
    G92 E0.0 ; reset extruder
    {elsif first_layer_print_min[1] - 10 > print_bed_min[1]} ; check front valid
    G1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]-10} Z0.8 F6000.0 ; position 10mm front of print
    G1 X{first_layer_print_min[0]+30} Y{first_layer_print_min[1]-10} E30 F360.0 ; extrude 30mm of filament in the x direction
    G92 E0.0 ; reset extruder
    G1 E-0.5 F2100 ; small retraction
    G1 X{first_layer_print_min[0]+40} F6000.0 ; move an additional 10mm without extruding
    G92 E0.0 ; reset extruder
    {elsif first_layer_print_max[0] + 10 < print_bed_max[0]} ; check right valid
    G1 X{first_layer_print_max[0] + 10} Y{first_layer_print_min[1]} Z0.8 F6000.0 ; position 10mm right of print
    G1 X{first_layer_print_max[0] + 10} Y{first_layer_print_min[1]+30} E30 F360.0 ; extrude 30mm of filament in the y direction
    G92 E0.0 ; reset extruder
    G1 E-0.5 F2100 ; small retraction
    G1 Y{first_layer_print_min[1]+40} F6000.0 ; move an additional 10mm without extruding
    G92 E0.0 ; reset extruder
    {elsif first_layer_print_max[1] + 10 < print_bed_max[1]} ; check back valid
    G1 X{first_layer_print_min[0]} Y{first_layer_print_max[1]+10} Z0.8 F6000.0 ; position 10mm back of print
    G1 X{first_layer_print_min[0]+30} Y{first_layer_print_max[1]+10} E30 F360.0 ; extrude 30mm of filament in the x direction
    G92 E0.0 ; reset extruder
    G1 E-0.5 F2100 ; small retraction
    G1 X{first_layer_print_min[1]+40} F6000.0 ; move an additional 10mm without extruding
    G92 E0.0 ; reset extruder
    {endif}

  • @king_james_official
    @king_james_official 2 หลายเดือนก่อน

    oh that's radical, thank you a lot. i hate these things, long purge lines and skirts. always a pain to collect them

  • @jessg7311
    @jessg7311 2 หลายเดือนก่อน

    Great video! Love your content bro!

  • @JanVokas
    @JanVokas 2 หลายเดือนก่อน +2

    I made it slightly touching the model, just 0.3mm distance. When I release the model from the build plate, purge line is attached to the model with a tiny bit, which could be snapped off easily. I won't forget to remove purge line then.

  • @GianlucaO
    @GianlucaO 2 หลายเดือนก่อน +3

    I believe there’s an option for max length for a skirt. That would also be a viable solution. I do something to 2:44 for my ender 3.

    • @stewartarmitage6095
      @stewartarmitage6095 2 หลายเดือนก่อน

      There is a similar thing on the FlashForge slicer where you can set the length of the skirt. It means on big prints its not doing a massive skirt round the whole print

    • @richard3365
      @richard3365 2 หลายเดือนก่อน

      I use OrcaSlicer. There is a MINIMUM length for the skirt, if it's not at least that long it adds another loop. But I cannot find any maximum length where it stops if it gets too long. So I'm hoping that this "adaptive purge line" thing can help simulate that.

  • @FilamentFriday
    @FilamentFriday 2 หลายเดือนก่อน +12

    I must be missing something but doesn’t a skirt essentially do the same thing since is just outside the 3D Print?

    • @stuart_fisher
      @stuart_fisher 2 หลายเดือนก่อน +5

      I will stick with a skirt, as it's also a good way to check/dial in the first layer if you need to without affecting the actual printed object.

    • @JacobScherer
      @JacobScherer 2 หลายเดือนก่อน +1

      💯

    • @kimmotoivanen
      @kimmotoivanen 2 หลายเดือนก่อน

      Skirt length and total extrusion depends on first layer perimeter. Might be more personal preference than actual printing issue what to use 😉
      (I'm running both long traditional 2-way purge _and_ 2 skirt lines - 1 seems too easy to get loose and interfere - and don't feel like I'm wasting too much time or filament 😅)

    • @lucaspeltie
      @lucaspeltie 2 หลายเดือนก่อน +1

      Skirts are obnoxiously big and flimsy and hard to take off the bed. Also as other comments have said they aren't always the same size, so if you only do one loop it might not be enough, and if your print is big it might be way too much.

    • @JacobScherer
      @JacobScherer 2 หลายเดือนก่อน +1

      @@lucaspeltie how are they any harder to take off than other prime lines? You can change the number skirt lines with a single click in the slicer.

  • @riba2233
    @riba2233 2 หลายเดือนก่อน

    Very useful, thanks 😊

  • @chuckthetekkie
    @chuckthetekkie 2 หลายเดือนก่อน +1

    In my experience with prime lines, 30mm isn't enough, at least on my v0 where I sometimes have to increase the amount of skirt or the nozzle isn't primed enough.
    I've heard you mention KAMP before and had no idea what that was and I always thought I was mis-hearing you and thought you were saying CAM.

  • @Cerololo
    @Cerololo 2 หลายเดือนก่อน +1

    Thank you!

  • @Alaorath
    @Alaorath 2 หลายเดือนก่อน

    Just made this change to my "base" profile for my Bambu P1S. Mostly love it, one thing I dislike is the shorter purge blob is PEERFECTLY sized to flick off and send itself straight down the opening for the rear Z-screw. If you planned this, you're diabolical... :D
    -----
    Just discovered a issue with this change, if the print is "huge" you need to add a conditional to not have the head try and move beyond the limits of the print area.... I just tore off the front of my P1S because it (stupidly) tried to move blindly outside the total area... 😢
    something like:
    {if (first_layer_print_min[0]-10 > print_bed_min[0]) && (first_layer_print_min[1]+50 < print_bed_max[1])}
    then... use TT purge
    {else} use the default purge logic

  • @leafprints3d
    @leafprints3d 2 หลายเดือนก่อน

    I really like this idea - I do wonder how supports would be handled, though... I suppose as long as you account for that with the placement/distance of the new purge...

  • @djheavenly80
    @djheavenly80 2 หลายเดือนก่อน +2

    @10:40 Maybe this only works in OrcaSlicer, but would it be better to set the retraction line to use machine settings? something like...: G1 E-{retraction_length[0]} F{retraction_speed[0]*60}

  • @TheRealPlato
    @TheRealPlato 2 หลายเดือนก่อน +1

    I was having trouble with molten plastic remaining on the _side_ of the nozzle in between prints. I modified my purge line to back up after purging, lower 0.04mm, then draw a triangle through the purge line. It knocks the plastic off the nozzle side like those little silicone boot scrapers.

  • @raaty25
    @raaty25 2 หลายเดือนก่อน

    Super idea!

  • @slick8086
    @slick8086 16 วันที่ผ่านมา

    Go Team Solidoodle!!!

  • @LaurentNoiret
    @LaurentNoiret 2 หลายเดือนก่อน

    Merci beaucoup pour cette vidéo 👍

  • @johang1293
    @johang1293 2 หลายเดือนก่อน

    Nice, good stuff.

  • @shanold7681
    @shanold7681 4 วันที่ผ่านมา

    i have a ender 3 and a flashforge at work I'll have to do this on.

  • @platinums99
    @platinums99 2 หลายเดือนก่อน

    Donuts are cool too:
    G1 E35 F300 ; Extrude 25mm of filament at 300mm/min
    G4 P1000 ; Dwell for 1000ms (1 second)
    G1 E-0.200 Z5 F600 ; Retract 0.2mm and raise Z by 5mm at 600mm/min

  • @Valerie_is_doing_stuff
    @Valerie_is_doing_stuff 2 หลายเดือนก่อน

    going to use this thank you> :)

  • @stewartarmitage6095
    @stewartarmitage6095 2 หลายเดือนก่อน

    This is a bit like the pre-extrusion setting in Flashprint slicer. It's like a skirt but you can specify the length between 50mm and 200mm and the offset distance so it doesn't do a full loop around of your print. It doesn't do a traditional purge line unless you add it to the start gcode.

  • @Anziilife
    @Anziilife 2 หลายเดือนก่อน

    Ooooh, was your second ever video with a Solidoodle Printer? 🤩

  • @Doyle69
    @Doyle69 2 หลายเดือนก่อน +1

    Is that a clear A1 mini? How?

    • @Poke-Punch
      @Poke-Punch 2 หลายเดือนก่อน +1

      I think they were given out to 3D printing influencers before the machine was released.

  • @silvernull
    @silvernull 23 วันที่ผ่านมา

    @TeachingTech the line at 9:50 is because the purge for pause is also showing up, I think, and I am unsure if you can just replace the purge line with the adaptive purge twice, for the initial and on pause one,
    with that in mind does it purge properly after a pause? or does it collide?

  • @tristanlint7775
    @tristanlint7775 2 หลายเดือนก่อน +1

    I followed the directions for my A1 mini using orca slicer. It does, however, do the initial purge line like what happened to you in the first round. I deleted the same portion (extrusion cali line). What could be the issue? Is there another portion of the start g code I should be deleting?

  • @MisterkeTube
    @MisterkeTube 2 หลายเดือนก่อน

    Adaptive meshing is available in Klipper itself, you no longer need KAMP for it. I don't really find the purge line of KAMP that great. It purges quite a lot and I often had PETG from that purge sticking to the nozzle and because of the short distance to the print drawing an annoying and relatively thick string connecting it with the part. I actually went back to a purge line at the front of the bed, first extruding a blob in the air then moving the nozzle down and right laying that blob on the edge of the bed and attaching it due to some more extrusion on that bed edge, finally quickly moving away further to the riht with tiny retract and then quickly moving to the actual print.

  • @3DJapan
    @3DJapan 2 หลายเดือนก่อน

    The other day I was trying to figure out how to remove the purge line because I was proton on a t-shirt amber didn't want the line on the shirt. I ended up putting down a piece of tape where the line will be so I could just remove the tape later.

  • @trevordeemie674
    @trevordeemie674 2 หลายเดือนก่อน +2

    I've been using this for a while... only problem I've discovered is that the purge line will intersect the brim if your using a large brim.... not sure how to fix it but its been great

    • @0Gotland4Ever0
      @0Gotland4Ever0 2 หลายเดือนก่อน

      You can adjust the purge distance from object.

    • @trevordeemie674
      @trevordeemie674 2 หลายเดือนก่อน

      @@0Gotland4Ever0 how?? I actually like the idea of removing KAMP and just using Orca

  • @davidolsson
    @davidolsson 2 หลายเดือนก่อน

    Super! Is it also possoble to have adaptive mesh bed lvl on the bambu printers aswell?

  • @MarkFraserWeather
    @MarkFraserWeather 2 หลายเดือนก่อน +1

    Does the code need to check if the purge coordinates are off the bed? I know with KAMP that it sends a message to the console if you need to remove the purge line before printing.

    • @imonseii
      @imonseii 2 หลายเดือนก่อน

      your slicer will give you an area about a toolpath outside the print area

  • @daylen577
    @daylen577 2 หลายเดือนก่อน +2

    The purge line has never really bothered me, I keep my bed leveled to ~0.2 maximum offset across and that's always worked well. What bothers me more is that when it homes it always touches the bed at 0,0 and that leaves a small divot plus there's always a little blob of filament there before it starts printing if I don't push it off once it's ready to go.

  • @darrennew8211
    @darrennew8211 2 หลายเดือนก่อน

    The only problem is now the purge line is off the plate of the model is too close to the edge. We'll need to fiddle with the start g-code each time, or figure out some way of deciding on different purge lines depending on where the model is or how big it is. Nice version, though. Definitely food for thought. Maybe a horizontal or vertical purge line just at the edge of the object, or the -1 if the model is too far forward.

  • @BudgeProjects
    @BudgeProjects หลายเดือนก่อน

    Very cool. Is it possible to mimic the other feature of camp to have the printer only probe the print area? I get frustrated at how long my ender 3 takes to probe the whole bed

    • @TeachingTech
      @TeachingTech  หลายเดือนก่อน

      G29 in Marlin can take left/right/top/bottom arguments. It wouldn't be as smart but you could get close. Klipper had adaptive probing natively now.

  • @crazyformat
    @crazyformat 2 หลายเดือนก่อน

    The issue I had with such fat purge line very close to the print is that it can obstruct the way of the BL-touch sensor making print head jump every time probe bumps into purge line.
    Just be cautious about your configuration and put purge line further away from the print.

  • @JonathanPoulin-fz6wc
    @JonathanPoulin-fz6wc 13 วันที่ผ่านมา

    Hi. Nice work.
    Is there a way to make sure the purge stay within le limit of the bed area. I had a out of range error cause the purge was trying to do it outside the print area with a bed full of parts to print.

  • @TheNamelessOne12357
    @TheNamelessOne12357 2 หลายเดือนก่อน +2

    Such thick purge line is taller than first layer. Fan ducts may collide with it.

    • @THusbands
      @THusbands 2 หลายเดือนก่อน

      There's more clearance than 0.8mm on fan ducts

    • @paulhuckaby
      @paulhuckaby 2 หลายเดือนก่อน +1

      I think your trying to hard to find something to comment about - fans are not that low.

  • @Sun0faBeach1
    @Sun0faBeach1 2 หลายเดือนก่อน +1

    What if my print is so large or positioned so close to the edge of the bed that there is no place 10 or 20mm to the side?
    What if I have multiple objects being sliced? Since its in the start g code it will do the purge line only once, right before starting the print of the first object, right?

    • @imonseii
      @imonseii 2 หลายเดือนก่อน

      Your slicer will throw up an error about a toolpath outside the print area. Yes, it will only do one purge even if you have multiple objects on the build plate. Also only one purge line when you have "complete individual objects" turned on.

  • @mvadu
    @mvadu 2 หลายเดือนก่อน

    Not sure if everyone knows this.. Prusa mk4 does actually measure the bed level on two points where it purges before the print. I was wondering how it will work in back to back prints and was relieved to see it just measures the existing purge height and adds another layer there

  • @jackykoning
    @jackykoning 2 หลายเดือนก่อน

    Remember to offset yiour variable_purge_margin by at least the probe offset. But probably do 2x that just in case. Or do that + 5mm.
    Because the probe will scrape over the line if you don't since the purge line is much higher than your first layer.

  • @brucemedic8601
    @brucemedic8601 หลายเดือนก่อน

    You mentioned the XL. How would you apply this to the 5H XL?

  • @swoldoge
    @swoldoge 2 หลายเดือนก่อน

    Question: what would happen if you made a print that take up the whole square build plate? What I mean is, on my A1 Mini, the build plate has that bit sticking out at the front where the default purge line normally goes that isn’t really part of the print surface. For max-size prints, is there a way to dynamically swap between the adaptive and default purge line?

  • @dachmachunabachuna123
    @dachmachunabachuna123 2 หลายเดือนก่อน

    my 3d printer came with a slightly modified version of KAMP adaptive purge that CAN be seen in the slicer

  • @funkytizzletelevizzl
    @funkytizzletelevizzl หลายเดือนก่อน

    You can see that the nozzle travels after purging still pretty long distance all over the model. Can you automatically put the purge line to the initial starting point of the first layer?

  • @EMILE12345678901
    @EMILE12345678901 หลายเดือนก่อน

    feels like using a skirt with "min extrusion length" set to a proper value would achieve the same result

  • @dennik8374
    @dennik8374 2 หลายเดือนก่อน +1

    idk tried on ender 3 using marlin and orca slicer couldn't get it to work :(