Zum Inhalt gehen

👋 Hallo zusammen! Dieser Thread ist öffentlich, also lasst es uns nett und respektvoll halten. Keine Werbung, kein Spam oder unangenehme Dinge!
🇹🇭 Benutzerland: Thailand
🌐 Bevorzugte Sprache des Mitglieds: Englisch. Sie können online über DeepL übersetzen.
💡 Beziehen Sie sich auf ein bestimmtes Modell? Fügen Sie den Link, den Titel oder die Modellnummer hinzu.
🖼️ Möchten Sie Fotos einstellen? Verwenden Sie einen kostenlosen Host wie ImgBB und fügen Sie die Links in die Nachricht ein.
✍️ Schreibtipps: Verwenden Sie das Markdown-Format, um Ihre Texte zu strukturieren und lesbarer zu machen.

Schreibe deine Nachricht:

2 Kommentare

Hi! Just realizing the need for the z tensioner on my new 3 s1 pro printer. will this design need to be modified or can it be used as is for that printer? Thanks

Hi. It will not work without modifications as the extrusions of the CR-10 S Pro are different to the Ender 3 S1...

Good morning,

I hope you don't mind me messaging you on here I've got a question about a post on your blog but I couldn't fine the contact details.

Hi Steve. No issue at all. What is your question though??? Cheers

I've tried your start Gcode, but when it starts it doesn't actually do a purge line, I'm sure it's a tiny part i don't understand though. What should I change to get it actually doing the purge line? It's a great macro by the way, in fact, the whole blog is good.

Hi Steve. Sorry for the delayed response due to Easter and a ton of work right after. I just saw that my blog is down. Need to check what happened there. I was planning to post the "correct" Gcode there...I guess when I was posting it, some part didn't copy...Not sure which part is missing. Maybe you can do a comparison wirth the code you copied...

Anyways, to not hold you up from trying it out, here is the GCode I'm running (make sure that you change the name of the bed mesh profile to your printer name...):

[gcode_macro START_PRINT]
gcode:
#Get Printer built volume dimensions
{% set X_MAX = printer.toolhead.axis_maximum.x|default(100)|float %}
{% set Y_MAX = printer.toolhead.axis_maximum.y|default(100)|float %}
{% set Z_MAX = printer.toolhead.axis_maximum.z|default(100)|float %}

    #Get Nozzle diameter and filament width for conditioning
    {% set NOZZLE = printer.extruder.nozzle_diameter|default(0.4)|float %}
    {% set FILADIA = printer.extruder.filament_diameter|default(1.75)|float %}

    #Set Start coordinates of priming lines
    {% set X_START = 10.0|float %}
    {% set Y_START = 20.0|float %}

    #Calculate Primer line extrusion volume and filament length
    {% set PRIMER_WIDTH = 0.75 * NOZZLE %}                          #Calculate Nozzle-dependent Primer width
    {% set PRIMER_HEIGHT = 0.70 * NOZZLE %}                         #Calculate Nozzle-dependent Primer height
    {% set PRIMER_SECT = PRIMER_WIDTH * PRIMER_HEIGHT %}            #Calculate Primer section
    {% set PRIMER_VOL = PRIMER_SECT * (X_MAX - 3 * X_START) %}      #Calculate Primer line volume
    {% set FILA_SECT = 3.1415 * ( FILADIA / 2.0)**2 %}              #Calculate Filament section
    {% set FILA_LENGTH = 1.55 * PRIMER_VOL / FILA_SECT %}           #Calculate Extrusion length with 55% overextrusion

    #Get Bed and Extruder temperature from Slicer GCode
    {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
    {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %}

    #Preheat nozzle and bed
    M104 S{EXTRUDER_TEMP} T0                        #start heating T0 to what is set in Cura
    M140 S{BED_TEMP}                                #start heating the bed to what is set in Cura

    #Clear bed mesh and reload it
    BED_MESH_CLEAR
    BED_MESH_PROFILE LOAD=CR10SPRO

    #Home
    G28

    #Move up to clean bed
    G0 Y{Y_MAX - 20} Z{Z_MAX/4.0} F6000                  #Move toolhead to 1/3 of the build volume height and bed forward for cleaning

    #Heat nozzle and bed
    M190 S{BED_TEMP}                                #Wait to heat the bed to what is set in Cura
    M109 S{EXTRUDER_TEMP} T0                        #Wait to heat T0 to what is set in Cura

    #Precondition extruder
    G92 E0                                                                                  #Reset Extruder
    G0 X{X_START} Y{Y_START} Z{PRIMER_HEIGHT} F6000.0                                       #Move to start position
    G1 X{X_MAX - 2 * X_START} Y{Y_START} Z{PRIMER_HEIGHT} F2000.0 E{FILA_LENGTH}            #Draw the first line
    G0 X{X_MAX - 2 * X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT} F6000.0            #Move to side a little
    G1 X{X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT} F2000.0 E{2*FILA_LENGTH}       #Draw the second line
    G92 E0                                                                                  #Reset Extruder
    G0 Z2.0 F600                                                                            #Move Z Axis up
    G0 Z0.2 F600                                                                            #Dip the Nozzle
    G0 Z2.0 F600                                                                            #Move Z Axis up

Thats awesome, thanks.

  • 1 like

Hi Steve. Let me know if it works for you so that I can update the code posted on the blog (which online again...)

Will do, sadly real life keeps getting in the way.

I used the website code and added the FILA_LENGTH} command to the end of a couple of lines and it worked, but now it's printing the line off my bed. I assume I can change the printer build volume dimensions to change this. Would reducing the number by 5 drag it in?

#Precondition extruder
G92 E0

G1 X{X_START} Y{Y_START} Z{PRIMER_HEIGHT} F6000.0 E{FILA_LENGTH}

G1 X{X_MAX - 2 * X_START} Y{Y_START} Z{PRIMER_HEIGHT} F2000.0
G1 X{X_MAX - 2 * X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT}
G1 X{X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT} F2000.0 E{2*FILA_LENGTH}
G92 E0

G1 Z2.0 F600

G1 Z0.2 F600

G1 Z2.0 F600

Hi. I would guess that you have a x/y offset issue. Check this: https://youtu.be/r7xHNO10H_8

Cheers

It turned out to be even easier than that.

I just adjusted the following lines and it now works perfectly.

#Set Start coordinates of priming lines
{% set X_START = 25.0|default(10.0)|float %}
{% set Y_START = 40.0|default(20.0)|float %}

Just for the record the working macro looks like this. Prints great by the way.

######################################################################

Start Print and End Print

######################################################################

Replace the slicer's custom start and end g-code scripts with

START_PRINT and END_PRINT.

[gcode_macro START_PRINT]
gcode:
#Get Printer built volume dimensions
{% set X_MAX = printer.toolhead.axis_maximum.x|default(100)|float %}
{% set Y_MAX = printer.toolhead.axis_maximum.y|default(100)|float %}
{% set Z_MAX = printer.toolhead.axis_maximum.z|default(100)|float %}

  #Get Nozzle diameter and filament width for conditioning
  {% set NOZZLE = printer.extruder.nozzle_diameter|default(0.4)|float %}
  {% set FILADIA = printer.extruder.filament_diameter|default(1.75)|float %}

  #Set Start coordinates of priming lines
  {% set X_START = 25.0|default(10.0)|float %}
  {% set Y_START = 40.0|default(20.0)|float %}

  #Calculate Primer line extrusion volume and filament length
  {% set PRIMER_WIDTH = 0.75 * NOZZLE %}                    
  {% set PRIMER_HEIGHT = 0.70 * NOZZLE %}           
  {% set PRIMER_SECT = PRIMER_WIDTH * PRIMER_HEIGHT %}    
  {% set PRIMER_VOL = PRIMER_SECT * (X_MAX - 3 * X_START) %}    
  {% set FILA_SECT = 3.1415 * ( FILADIA / 2.0)**2 %}          
  {% set FILA_LENGTH = 1.55 * PRIMER_VOL / FILA_SECT %}      

  #Get Bed and Extruder temperature from Slicer GCode
  {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
  {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %}
  #Preheat nozzle and bed
  M104 S{EXTRUDER_TEMP} T0                        
  M140 S{BED_TEMP}                                

  #Home
  G28
  Bed_Mesh

  #Move up to clean bed
  G1 Y{Y_MAX - 20} Z{Z_MAX/4.0} F6000                

  #Heat nozzle and bed
  M190 S{BED_TEMP}                               
  M109 S{EXTRUDER_TEMP} T0                       

  #Precondition extruder
  G92 E0     
  G1 X{X_START} Y{Y_START} Z{PRIMER_HEIGHT} F6000.0 E{FILA_LENGTH}    
  G1 X{X_MAX - 2 * X_START} Y{Y_START} Z{PRIMER_HEIGHT} F2000.0 
  G1 X{X_MAX - 2 * X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT} 
  G1 X{X_START} Y{Y_START + PRIMER_WIDTH} Z{PRIMER_HEIGHT} F2000.0 E{2*FILA_LENGTH}
  G92 E0            
  G1 Z2.0 F600        
  G1 Z0.2 F600        
  G1 Z2.0 F600

[gcode_macro END_PRINT]
gcode:
#Get Printer built volume dimensions
{% set X_MAX = printer.toolhead.axis_maximum.x|default(100)|float %}
{% set Y_MAX = printer.toolhead.axis_maximum.y|default(100)|float %}

    #Fix-up extruder
    G91                                            
    G1 E-2 F2700                                    
    G1 E-1.5 Z0.2 F2400                        
    G1 X5 Y5 F6000                               
    G1 Z10                                     
    G90                                        

    #Present print
    G1 Z{printer.toolhead.position.z + 10} F600
    G1 X{X_MAX / 2} Y{Y_MAX} F6000
    M106 S0                                      
    M104 S0                                       
    M140 S0                                 

    #Disable Steppers
    M84 X Y E  

    #Save Config
    Save_Config

Great! Have fun. I'll have to fix up these issues on the blog. Worked flawlessly for me ever since... BTW, there is more to come on the blog. Working on a huge project.... Stay tuned =)

Will do, keep up the great work.