start gcode for CreatBot DX Plus
 
Notifications
Clear all

start gcode for CreatBot DX Plus  

  RSS
Sebastian Evridge Pope
(@sebastian-evridge-pope)
Member
start gcode for CreatBot DX Plus

Hello! I started printing not too long ago using the CreatBot DX Plus which uses its own slicer (CreatWare) that is based on Slic3r just like PrusaSlicer. I decided I would prefer to use PrusaSlicer because there is a number of features which the native slicer did not have, but that is besides the point. I could not find a profile for printer in the PrusaSlicer configuration, so I just started copying all of the settings from my old slicer, including its custom gcode: however, the slicing always fails due to invalid custom gcode:

start_gcode
Parsing error at line 8: Not a variable name
{if extruder_id_0} 

Here is the start gcode I use for reference:

G28 X0 Y0                ;move X/Y to min endstops
G28 Z0                   ;move Z to min endstops

;Add Clear Nozzle
G92 E0                   ;zero the extruded length
M83                      ;set E value is relative 
G0 F4200 X0 Y0 
{if extruder_id_0} 
T0 F400                  ;activate extruder NO.0 
G0 X10 Y0 Z0.4           ;move a bit while down the Z 
M221 T0 S200             ;set flow is 200% 
G1 F200 X30 E+8          ;extrude amont filament to clean the hotend 
M221 T0 S100             ;reset flow is 100% 
{if initial_extruder_id != 0}G1 F1000 Z1 E-2{endif}{endif}
{if extruder_id_1} 
T1 F400                  ;activate extruder NO.1 
G0 X40 Y0 Z0.4           ;move a bit while down the Z 
M221 T1 S200             ;set flow is 200% 
G1 F200 X60 E+8          ;extrude amont filament to clean the hotend 
M221 T1 S100             ;reset flow is 100% 
{if initial_extruder_id != 1}G1 F1000 Z1 E-2{endif}{endif} 
{if extruder_id_2} 
T2 F400                  ;activate extruder NO.2 
G0 X70 Y0 Z0.4           ;move a bit while down the Z 
M221 T2 S200             ;set flow is 200% 
G1 F200 X90 E+8          ;extrude amont filament to clean the hotend 
M221 T2 S100             ;reset flow is 100% 
{if initial_extruder_id != 2}G1 F1000 Z1 E-2{endif}{endif} 
M82                      ;set E value is absolute
G92 E0                   ;zero the extruded length again

;Add End
G0 Z15.0 F4200           ;move the platform down 15mm
;Put printing message on LCD screen
M117 Printing...

I have seen that there is a list of placeholders available for custom gcode, but I can't tell what they correlate to or which I should replace the invalid variable name with. Has anyone else dealt with this issue before?

Posted : 26/06/2023 11:08 pm
andrewyww
(@andrewyww)
Member
RE: start gcode for CreatBot DX Plus

Hey Sebastian,

Running into this issue myself. Have you found a fix since the time of your post?

Posted : 21/07/2023 5:46 pm
Morgan Bengtsson
(@morgan-bengtsson)
Member
RE: start gcode for CreatBot DX Plus

Added a D600 to try PrusaSlicer, and moved config files over from CreatWare folder which let me pick the printer in the wizard but I got the same issue as you did.

Found that the PrusaSliser doesn't like the code about multiple extruders.

I updated the code to this which resolved the error, will try to print today and see what happens.

G28 X0 Y0                                      ;move X/Y to min endstops

G28 Z0                                            ;move Z to min endstops

;Add Clear Nozzle

G92 E0                                            ;zero the extruded length

M83                                                ;set E value is relative

G0 F4200 X0 Y0

G0 X10 Y0 Z0.4                            ;move a bit while down the Z

M221 T0 S200                             ;set flow is 200%

G1 F200 X30 E+8                         ;extrude amont filament to clean the hotend

M221 T0 S100                             ;reset flow is 100%

M82                                                ;set E value is absolute

G92 E0                                            ;zero the extruded length again

;Add End

G0 Z15.0 F4200                          ;move the platform down 15mm

;Put printing message on LCD screen

M117 Printing...

Posted by: @sebastian-evridge-pope

Hello! I started printing not too long ago using the CreatBot DX Plus which uses its own slicer (CreatWare) that is based on Slic3r just like PrusaSlicer. I decided I would prefer to use PrusaSlicer because there is a number of features which the native slicer did not have, but that is besides the point. I could not find a profile for printer in the PrusaSlicer configuration, so I just started copying all of the settings from my old slicer, including its custom gcode: however, the slicing always fails due to invalid custom gcode:

start_gcode
Parsing error at line 8: Not a variable name
{if extruder_id_0} 

Here is the start gcode I use for reference:

G28 X0 Y0                ;move X/Y to min endstops
G28 Z0                   ;move Z to min endstops

;Add Clear Nozzle
G92 E0                   ;zero the extruded length
M83                      ;set E value is relative 
G0 F4200 X0 Y0 
{if extruder_id_0} 
T0 F400                  ;activate extruder NO.0 
G0 X10 Y0 Z0.4           ;move a bit while down the Z 
M221 T0 S200             ;set flow is 200% 
G1 F200 X30 E+8          ;extrude amont filament to clean the hotend 
M221 T0 S100             ;reset flow is 100% 
{if initial_extruder_id != 0}G1 F1000 Z1 E-2{endif}{endif}
{if extruder_id_1} 
T1 F400                  ;activate extruder NO.1 
G0 X40 Y0 Z0.4           ;move a bit while down the Z 
M221 T1 S200             ;set flow is 200% 
G1 F200 X60 E+8          ;extrude amont filament to clean the hotend 
M221 T1 S100             ;reset flow is 100% 
{if initial_extruder_id != 1}G1 F1000 Z1 E-2{endif}{endif} 
{if extruder_id_2} 
T2 F400                  ;activate extruder NO.2 
G0 X70 Y0 Z0.4           ;move a bit while down the Z 
M221 T2 S200             ;set flow is 200% 
G1 F200 X90 E+8          ;extrude amont filament to clean the hotend 
M221 T2 S100             ;reset flow is 100% 
{if initial_extruder_id != 2}G1 F1000 Z1 E-2{endif}{endif} 
M82                      ;set E value is absolute
G92 E0                   ;zero the extruded length again

;Add End
G0 Z15.0 F4200           ;move the platform down 15mm
;Put printing message on LCD screen
M117 Printing...

I have seen that there is a list of placeholders available for custom gcode, but I can't tell what they correlate to or which I should replace the invalid variable name with. Has anyone else dealt with this issue before?

 

Posted : 04/09/2023 6:37 am
Itamar foguel
(@itamar-foguel)
Member
RE:

i was banging my head just about the same thing.

got the d600 pro here in my lab. so i consulted with a friend and he provided a solution by deleting all the if extruder id parts.

try using this start g code, or adjust it in the same manner to your printer specs:

G28 X0 Y0 ;move X/Y to min endstopsG28 Z0 ;move Z to min endstops

;Add Clear NozzleG92 E0 ;zero the extruded lengthM83 ;set E value is relative G0 F4200 X0 Y0 T0 F400 ;activate extruder NO.0 G0 X10 Y0 Z0.4 ;move a bit while down the Z M221 T0 S200 ;set flow is 200% G1 F200 X30 E+8 ;extrude amont filament to clean the hotend M221 T0 S100 ;reset flow is 100%

;Add EndG0 Z15.0 F4200 ;move the platform down 15mm;Put printing message on LCD screenM117 Printing...

This post was modified 12 months ago by Itamar foguel
Posted : 04/09/2023 9:11 am
Marco Balestrini
(@marco-balestrini)
Member
RISPONDI: start gcode for CreatBot DX Plus

 

Posted by: @sebastian-evridge-pope

Hello! I started printing not too long ago using the CreatBot DX Plus which uses its own slicer (CreatWare) that is based on Slic3r just like PrusaSlicer. I decided I would prefer to use PrusaSlicer because there is a number of features which the native slicer did not have, but that is besides the point. I could not find a profile for printer in the PrusaSlicer configuration, so I just started copying all of the settings from my old slicer, including its custom gcode: however, the slicing always fails due to invalid custom gcode:

start_gcode
Parsing error at line 8: Not a variable name
{if extruder_id_0} 

Here is the start gcode I use for reference:

G28 X0 Y0                ;move X/Y to min endstops
G28 Z0                   ;move Z to min endstops

;Add Clear Nozzle
G92 E0                   ;zero the extruded length
M83                      ;set E value is relative 
G0 F4200 X0 Y0 
{if extruder_id_0} 
T0 F400                  ;activate extruder NO.0 
G0 X10 Y0 Z0.4           ;move a bit while down the Z 
M221 T0 S200             ;set flow is 200% 
G1 F200 X30 E+8          ;extrude amont filament to clean the hotend 
M221 T0 S100             ;reset flow is 100% 
{if initial_extruder_id != 0}G1 F1000 Z1 E-2{endif}{endif}
{if extruder_id_1} 
T1 F400                  ;activate extruder NO.1 
G0 X40 Y0 Z0.4           ;move a bit while down the Z 
M221 T1 S200             ;set flow is 200% 
G1 F200 X60 E+8          ;extrude amont filament to clean the hotend 
M221 T1 S100             ;reset flow is 100% 
{if initial_extruder_id != 1}G1 F1000 Z1 E-2{endif}{endif} 
{if extruder_id_2} 
T2 F400                  ;activate extruder NO.2 
G0 X70 Y0 Z0.4           ;move a bit while down the Z 
M221 T2 S200             ;set flow is 200% 
G1 F200 X90 E+8          ;extrude amont filament to clean the hotend 
M221 T2 S100             ;reset flow is 100% 
{if initial_extruder_id != 2}G1 F1000 Z1 E-2{endif}{endif} 
M82                      ;set E value is absolute
G92 E0                   ;zero the extruded length again

;Add End
G0 Z15.0 F4200           ;move the platform down 15mm
;Put printing message on LCD screen
M117 Printing...

I have seen that there is a list of placeholders available for custom gcode, but I can't tell what they correlate to or which I should replace the invalid variable name with. Has anyone else dealt with this issue before?

Try with this and let me know

G28 X0 Y0                ;move X/Y to min endstops
G28 Z0                   ;move Z to min endstops

; Add Clear Nozzle
G92 E0                   ;zero the extruded length
M83                      ;set E value is relative 
G0 F4200 X0 Y0 
(if extruder_id_0) 
T0 F400                  ;activate extruder NO.0 
G0 X10 Y0 Z0.4           ;move a bit while down the Z 
M221 T0 S200             ;set flow is 200% 
G1 F200 X30 E+8          ;extrude amount filament to clean the hotend 
M221 T0 S100             ;reset flow is 100% 
(if initial_extruder_id != 0) G1 F1000 Z1 E-2 (endif) (endif)
(if extruder_id_1) 
T1 F400                  ;activate extruder NO.1 
G0 X40 Y0 Z0.4           ;move a bit while down the Z 
M221 T1 S200             ;set flow is 200% 
G1 F200 X60 E+8          ;extrude amount filament to clean the hotend 
M221 T1 S100             ;reset flow is 100% 
(if initial_extruder_id != 1) G1 F1000 Z1 E-2 (endif) (endif) 
(if extruder_id_2) 
T2 F400                  ;activate extruder NO.2 
G0 X70 Y0 Z0.4           ;move a bit while down the Z 
M221 T2 S200             ;set flow is 200% 
G1 F200 X90 E+8          ;extrude amount filament to clean the hotend 
M221 T2 S100             ;reset flow is 100% 
(if initial_extruder_id != 2) G1 F1000 Z1 E-2 (endif) (endif) 
M82                      ;set E value is absolute
G92 E0                   ;zero the extruded length again

; Add End
G0 Z15.0 F4200           ;move the platform down 15mm
; Put printing message on LCD screen
M117 Printing...
Posted : 14/01/2024 7:19 pm
Naam
 Naam
(@naam)
Member
RE: start gcode for CreatBot DX Plus

This did not work for me. I don't think the Prusa Slicer does support conditional on which extruder is present. This is a custom variable in CreatBot's Slic3r fork. I'm not sure what's the best way to go from there. Are there any pointers you guys might have?

Thanks!

Posted : 29/02/2024 3:57 am
Naam
 Naam
(@naam)
Member
RE: start gcode for CreatBot DX Plus

It does not look like I can edit my previous post, but I've confirmed that the variable in the Gcode above is not in the available placeholder of Prusa slicer:

https://help.prusa3d.com/article/list-of-placeholders_205643

Posted : 29/02/2024 8:33 pm
Lillian Wilson
(@lillian-wilson)
Active Member
RE:

I have a Creatbot D600 Pro 2 that I moved to Prusaslicer. Here is my working code. I have nozzle 2 priming before the main nozzle so that there is no oozing.

G28 ; Home all axes
G92 E0 ; Zero the extruded length
M83 ; Set E value to relative

; Start mesh bed leveling
G29 ; Perform mesh bed leveling

{if is_extruder_used[1]}
T1 ; Select tool 1 (E2)
G0 X50 Y5 Z[first_layer_height] ; Move to cleaning position
M104 S[first_layer_temperature_1] ; Set nozzle temperature based on filament type
M109 S[first_layer_temperature_1] ; Wait for Tool 1 (E2) nozzle to heat up
M221 S200 ; Set flow rate to 200%
G1 X0 E8 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 100%

; Set nozzle 1 (E2) to idle temperature after cleaning

M104 S[idle_temperature_1] ; Set nozzle to idle temperature after cleaning
M109 S[idle_temperature_1] ; Wait for nozzle to cool down to idle temperature
{endif}

; Clean nozzle routine for Tool 0 (E1)

{if is_extruder_used[0]}
T0 ; Select tool 0 (E1)
G0 X55 Y5 Z[first_layer_height]. ; Move to cleaning position
M104 S[first_layer_temperature_0] ; Set nozzle temperature based on filament type
M109 S[first_layer_temperature_0] ; Wait for Tool 0 (E1) nozzle to heat up
M221 S200 ; Set flow rate to 200%
G1 X5 E8 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 125%
{endif}


M82 ; Set E value to absolute
G92 E0 ; Zero the extruded length again

; End G-code
M117 Printing... ; Display printing message on LCD screen

 

Here is my tool-change code too 🙂

; Tool change G-code script

{if next_extruder==0} ; Check if the new tool is Tool 0

{if layer_num<2}
T1; Select tool 1  (E2)
M104 S[idle_temperature_1] ; Set nozzle 2 to idle temperature

; Tool change to Tool 0 (E1)
T0 ; Select tool 0 (E1)
G92 E0 ; Zero the extruded length
M83 ; Set E value to relative

; Move Z axis up by 1mm and move to a safe spot
G0 Z{layer_z+2} ; Move Z axis up by 1mm relative to current layer height
G0 X260 Y175 ; Move to x & y positions of wipe object (adjust coordinates as needed)
M104 S[temperature_0] ; Set nozzle temperature based on filament type
M109 S[temperature_0] ; Wait for Tool 1 (E2) nozzle to heat up

; Clean nozzle routine for Tool 0 (E1)
M221 S200 ; Set flow rate to 200%
G1 E2 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 100%
{endif}

{if layer_num>=2}
T1; Select tool 1  (E2)
M104 S[idle_temperature_1] ; Set nozzle 2 to idle temperature

; Tool change to Tool 0 (E1)
T0 ; Select tool 0 (E1)
G92 E0 ; Zero the extruded length
M83 ; Set E value to relative

; Move Z axis up by 1mm and move to a safe spot
G0 Z{layer_z+2} ; Move Z axis up by 1mm relative to current layer height
G0 X260 Y175 ; Move to x & y positions of wipe object (adjust coordinates as needed)
M104 S[temperature_0] ; Set nozzle temperature based on filament type
M109 S[temperature_0] ; Wait for Tool 1 (E2) nozzle to heat up

; Clean nozzle routine for Tool 0 (E1)
M221 S200 ; Set flow rate to 200%
G1 E8 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 100%
{endif}

{endif}








{if next_extruder==1} ; Check if the new tool is Tool 1

{if layer_num<2}
T0; Select tool 0  (E1)
M104 S[idle_temperature_0] ; Set nozzle 1 to idle temperature

; Tool change to Tool 1 (E2)
T1 ; Select tool 1 (E2)
G92 E0 ; Zero the extruded length
M83 ; Set E value to relative

; Move Z axis up by 1mm and move to a safe spot
G0 Z{layer_z+2} ; Move Z axis up by 1mm relative to current layer height
G0 X282 Y175 ; Move to x & y positions of wipe object (adjust coordinates as needed)
M104 S[first_layer_temperature_1] ; Set nozzle temperature based on filament type
M109 S[first_layer_temperature_1] ; Wait for Tool 1 (E2) nozzle to heat up

; Clean nozzle routine for Tool 1 (E2)
M221 S200 ; Set flow rate to 200%
G1 E2 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 125%
{endif}

{if layer_num>=2}
T0; Select tool 0  (E1)
M104 S[idle_temperature_0] ; Set nozzle 2 to idle temperature

; Tool change to Tool 1 (E2)
T1 ; Select tool 1 (E2)
G92 E0 ; Zero the extruded length
M83 ; Set E value to relative

; Move Z axis up by 1mm and move to a safe spot
G0 Z{layer_z+2} ; Move Z axis up by 1mm relative to current layer height
G0 X282 Y175 ; Move to x & y positions of wipe object (adjust coordinates as needed)
M104 S[temperature_1] ; Set nozzle temperature based on filament type
M109 S[temperature_1] ; Wait for Tool 1 (E2) nozzle to heat up

; Clean nozzle routine for Tool 1 (E2)
M221 S200 ; Set flow rate to 200%
G1 E8 F200 ; Extrude filament to clean nozzle
M221 S100 ; Reset flow rate to 100%
{endif}

{endif}

; End of tool change G-code script

This post was modified 1 month ago by Lillian Wilson
Posted : 15/07/2024 3:22 pm
ssmith liked
Share: