start gcode for CreatBot DX Plus
 
Avisos
Vaciar todo

start gcode for CreatBot DX Plus  

  RSS
Sebastian Evridge Pope
(@sebastian-evridge-pope)
Miembro
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?

Respondido : 26/06/2023 11:08 pm
andrewyww
(@andrewyww)
Miembro
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?

Respondido : 21/07/2023 5:46 pm
Morgan Bengtsson
(@morgan-bengtsson)
Miembro
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?

 

Respondido : 04/09/2023 6:37 am
Itamar foguel
(@itamar-foguel)
Miembro
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...

Esta publicación ha sido modificada el hace 1 year por Itamar foguel
Respondido : 04/09/2023 9:11 am
Marco Balestrini
(@marco-balestrini)
Miembro
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...
Respondido : 14/01/2024 7:19 pm
Naam
 Naam
(@naam)
Miembro
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!

Respondido : 29/02/2024 3:57 am
Naam
 Naam
(@naam)
Miembro
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

Respondido : 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

Esta publicación ha sido modificada el hace 4 months por Lillian Wilson
Respondido : 15/07/2024 3:22 pm
Mitja K y ssmith me gusta
Mitja K
(@mitja-k)
Miembro
RE: start gcode for CreatBot DX Plus

 

Posted by: @lillian-wilson

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

 

Hi, this G-code works great!

I'm having a lot of trouble operating D600 pro 2... Would you be willing to share some profiles, possibly for ABS? 

I also believe that Z active compensation is not working at all, so a lot of clogging occure because sometimes it is too close to the bed, on other side it is too far and poor adhesion happens.

Any advice would be appreciated greatly. Thanks.

Best regards, Mitja 

Respondido : 21/11/2024 9:12 am
Compartir: