Jump to content

Area of g-code before "Custom Code"


Recommended Posts

Posted · Area of g-code before "Custom Code"

Hello All, I'm fairly new to 3d printing and new to Cura.  I have spent 25 years programing & running CNC machines including customizing their post processors, so I'm familiar with working with g-codes.   So I just loaded a profile for an Ender3 pro.  When I create a gcode file, I noticed that it heats the bed & tip before the homing function. this is leading to filament

oozing during the homing.  This code is place before the area where the custom codes are entered. 


;Generated with Cura_SteamEngine 4.13.1
M140 S60
M190 S60
M104 S205
M109 S205
M82 ;absolute extrusion mode
; Ender 3 Custom Start G-code

G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Bed Leveling


Is there a cfg file that can be edited that I can change this?  I would like to end up with doing the Home (G28) and the Auto Bed Leveling (G29) before the command to turn the heaters on.

  • Link to post
    Share on other sites

    Posted · Area of g-code before "Custom Code"

    Here ya go.  You can copy and paste this into the StartUp Gcode box in your machine settings.  By heating the hot end part-way (I used 160°) before leveling it avoids oozing, but takes up some of the possible expansion of the hot end parts.  The purge lines speeds (F3000) are suitable for PLA but not so much for PETG or TPU.  You would need to make adjustments if you print those materials.  The words in curly brackets {} are replacement patterns.  Cura will insert the numbers when the gcode is created.  When Cura sees the replacement patterns in the Startup Gcode then it won't insert those early temperature lines.


    ; E3Pro StartUp


    M82 ;Absolute extrusion

    G90 ;Absolute movement

    G21 ;Metric units

    M140 S{material_bed_temperature_layer_0} ;start to heat the bed

    M109 S160 ;start to heat the hot end and wait for it

    M190 S{material_bed_temperature_layer_0} ;wait for the bed

    G92 E0 ; Reset E

    G28; Home all axes

    G29 ;Auto-level

    M109 S{material_print_temperature_layer_0} ;final heating of the hot end and wait

    M220 S100 ;reset the feed rate in case of tuning during a previous print

    M221 S100 ;reset the flow rate in case of tuning during a previous print

    G1 Z10.0 F3000 ; Move Z

    G1 X1.0 Y20 ;Move to start of purge

    G1 X1.0 Y20 Z0.3 F5000.0 ; Move down

    G1 X1.0 Y200.0 Z0.3 F3000.0 E12 ; First purge line

    G1 X3.0 Y200.0 Z0.3 F5000.0 ; Move

    G1 X3.0 Y20 Z0.3 F3000.0 E24 ; Second purge line

    G1 E22 F1800 ;short retraction

    G92 E0 ; Reset Extruder

    G1 Z12.0 F3000 ; Move Z Axis up

    G1 X20 Y35 F5000.0 ; Move over


    ;End of StartUp



  • Link to post
    Share on other sites

    Posted · Area of g-code before "Custom Code"

    I just answered another post regarding this same thing and I realized I missed a couple of lines in there.

    Change this:

    G29 ;Auto-level

    M109 S{material_print_temperature_layer_0} ;final heating of the hot end and wait


    to this:

    G29 ;Auto-level

    G1 Z15 F1000

    G1 X1 Y1 F6000

    M109 S{material_print_temperature_layer_0} ;final heating of the hot end and wait

    That will raise the Z and then park the head in the LF corner so it oozes over there instead of over the build plate.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
        • 16 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
        • 0 replies
    • Create New...