Bypassing the Forced 3rd Layer Clump Detection

I am putting this here as an all-in-one stop for how to deal with this issue.

First it appears that BL is attempting to force this option to still function at least once at the 3rd layer. Many of us disagree with this choice of action. While I personally understand the motivation to “improve safety and the machine” I feel the end result is not in the interest of the community at large.

Here is a comment in the Git Hub declaring this as intended

I work in the aerospace industry, and we work with complex machinery on a daily basis. The greatest lesson learned is that when a complex machine is made in a way that oversimplifies its use, the user becomes complacent. I understand the desire to make this hobby safe and user friendly, and for one I commend them, but it should not promote complacency nor remove usability and customization.

Enough of the soap box ranting.

The issue at hand is the nozzle clump detection process. With the A1 and A1 mini, at least, it seems that BL has decided to force this process to run at the minimum for the 3rd layer. Even if you select in the printer option to turn it off.

This is forced in the Timelapse Gcode.

With this setting intact slices look like this.


The yellow highlighted section is the timelapse travel moves. The green is the 3rd layer clump detection moves. If timelapse is off the printer will disregard the timelapse moves but will still make the clump detection move.

There are ways to get around this if you’re having print quality issues due to this forced feature.

You should have a default printer setting for each nozzle type you use.
Printer_Settinf_PerNozzle

The green highlighted area will take you to the setting screen and under the machine code tab you can alter or erase the timelapse gcode. Remember if you do this, timelapse will not function, as the travel moves will not be created in the slicer.

As for altering the code User Eried suggest adding “false &&” to the beginning of the timelapse gcode.
ifFalse

Either way you are negating the timelapse gcode from functioning. Once done save this as a user profile for quick future use.
Printer_Settinf_PerNozzle_new

Now when you slice plates with the modified Gcode it will look like this.

I will say I am concerned that BL will find another way to lock this feature in. If they do, I personally will work hard to get around it or sell the printer and move to a more open platform. SO… If you’re reading this BL reconsider the direction you are going.

I hope this helps others.

6 Likes

Brilliant post on which I could not agree any further. :+1:

Hi,
First I have to mention that I agree, it doesn´t make sense to put a feature (clump detection) inside another feature (timelapse). Even worst because there is no easy option (a tick mark for example in Bambu Studio) to deactivate either or both.

Regarding disabling each or both features, this is another possible way to do it.

As mentioned in the original post, timelapse gcode has two functions running - the timelapse itself and the clump detection.

→ If you want both, you keep the gcode as it is originally.

→ If you want just timelapse and not the clump detection, you can delete this part of the gcode:

M622.1 S1
M1002 judge_flag g39_3rd_layer_detect_flag
M622 J1
; enable nozzle clog detect at 3rd layer
{if layer_num == 2}
M400
G90
M83
M204 S5000
G0 Z2 F4000
G0 X261 Y250 F20000
M400 P200
G39 S1
G0 Z2 F4000
{endif}

M622.1 S1
M1002 judge_flag g39_detection_flag
M622 J1
  {if !in_head_wrap_detect_zone}
    M622.1 S0
    M1002 judge_flag g39_mass_exceed_flag
    M622 J1
    {if layer_num > 2}
        G392 S0
        M400
        G90
        M83
        M204 S5000
        G0 Z{max_layer_z + 0.4} F4000
        G39.3 S1
        G0 Z{max_layer_z + 0.4} F4000
        G392 S0
      {endif}
    M623
{endif}
M623

M623

→ If you just want clump detection and not timelapse, you delete these two parts of the gcode:

;===================== date: 20240606 =====================
{if !spiral_mode && print_sequence != “by object”}
; don’t support timelapse gcode in spiral_mode and by object sequence for I3 structure printer
M622.1 S1 ; for prev firware, default turned on
M1002 judge_flag timelapse_record_flag
M622 J1
G92 E0
G17
G2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little
G1 Z{max_layer_z + 0.4}
G1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos
G1 X-48.2 F3000 ; move to safe pos
M400 P300
M971 S11 C11 O0
G92 E0
G1 X0 F18000
M623

and these two lines in the end:

M623
{endif}

→ If you don’t want any, timelapse and clump detection, you just delete all the timelapse gcode:

Timelapse on the printer is easy to disable by not selecting it when we are sending to print but if the code is there, it messes with the times when we are slicing - it will take into account the travel times to the print head parking position and back.

NOTE 1: As already mentioned, keep always the original printer and nozzle settings and create a new printer and nozzle profile for these modifications. This way you can always come back to the original gcode.

NOTE 2: Take care when changing gcode - what we put there, the machine will try to do it no matter what so, I think you get the picture.

So please, be carefull and do all the modifications at you’re own risk.

Best regards

1 Like

Great addition, and I agree be very mindful when editing any of the Gcode.

1 Like

So, to eliminate the 3rd layer issue, we can change the GCODE from
{if layer_num == 2}
to
{if layer_num == 20000}

and it will never go into the check, since I bet nobody will produce something with 20 thousand layers, right?

Yes, I would say so.
And you can simulate it in Bambu Studio.