Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a
 
Notifications
Clear all

Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a  

  RSS
stonefisher
(@stonefisher)
New Member
Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a

Hello,

I have a xyz davinci 1.0a 3d printer. A couple years ago the printer stopped being able to talk to my computer and I spent a long time on and off trying to work out what was wrong. Turns out the something has blown on the motherboard which can be seen by the computer but not communicate.

Anyway recently I managed to get my printer to print again by installing a micro sd card ribbon extension cable so i can easily access the micro sd and then print by replacing the sample print files on the card.

Using some slic3r profiles from an ancient youtube video and then tweaking some gcode so i could fill data at the start of the gcode faster I can now print using slic3r.

But there are some nice features in prusaslicer that I am interested in using and i can also generate a gcode file faster with prusaslicer (as it tells you the layer count). I imported settings from a gcode file made in slic3r and sliced a configuration cube, filled in the data in the header. 

When i try to print it the printer crashes and restarts after a few seconds.

Looking between the files the only difference I can find is that prusaslicer has cropped numbers like 0.1 becomes .1 and less decimal places in some areas.

Can someone help me to try work out how to get the printer running with prusa slicer?

 

Not really sure where i should dump gcode files so that you can compare them so here is the first bit from both slicers:

From slic3r

; filename = 0.40mm-nozzle-0.80mm-walls.stl
; machine = daVinciF10
; material = abs
; layer_height = 0.3
; total_layers = 67
; total_filament = 560.2
; extruder = 1
; --- END SECTION ---

M140 S90	;bed temperature - DONT WAIT
M104 S220		;extruder temperature - DONT WAIT
G21								;metric values
M107							;start with the fan off
M106 S255						;start with the fan off
G90								;absolute positioning
G92 E0							;zero the extruded length
M82								;set extruder to absolute mode
G1 F9000 E-0.05					;retract filament
G92 E0							;zero the extruded length again
M190 S90	;bed temperature - DO WAIT
M109 S220		;extruder temperature - DO WAIT
; Filament gcode

G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
;0.3 
G1 E-1.00000 F1800.00000
G92 E0
G1 Z0.300 F3600.000
G1 X80.057 Y77.552 F3600.000
G1 E1.00000 F1800.00000
G1 F1200
G1 X83.073 Y75.653 E1.13053
G1 X86.436 Y74.472 E1.26106
G1 X90.000 Y74.068 E1.39239
G1 X110.000 Y74.068 E2.12479
G1 X113.542 Y74.467 E2.25532
G1 X116.907 Y75.643 E2.38585
G1 X119.926 Y77.538 E2.51638
G1 X122.448 Y80.057 E2.64691
G1 X124.347 Y83.073 E2.77744
G1 X125.528 Y86.436 E2.90797
G1 X125.932 Y90.000 E3.03930
G1 X125.932 Y110.000 E3.77169
G1 X125.533 Y113.542 E3.90222
G1 X124.357 Y116.907 E4.03275
G1 X122.462 Y119.926 E4.16328
G1 X119.943 Y122.448 E4.29381

From prusaslicer

; filename = 0.40mm-nozzle-0.80mm-walls.gcode
; machine = daVinciF10
; material = abs
; layer_height = 0.3
; total_layers = 67
; total_filament = 566.31
; extruder = 1
; --- END SECTION ---

M140 S90	;bed temperature - DONT WAIT
M104 S220		;extruder temperature - DONT WAIT
G21								;metric values
M107							;start with the fan off
M106 S255						;start with the fan off
G90								;absolute positioning
G92 E0							;zero the extruded length
M82								;set extruder to absolute mode
G1 F9000 E-0.05					;retract filament
G92 E0							;zero the extruded length again
M190 S90	;bed temperature - DO WAIT
M109 S220		;extruder temperature - DO WAIT
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
; Filament gcode
M107
;LAYER_CHANGE
;Z:0.3
;HEIGHT:0.3
;0.3 

G1 E-1 F1800
G92 E0
G1 Z.3 F3600
G1 X75.199 Y75.199
G1 E1 F1800
;TYPE:Skirt/Brim
;WIDTH:0.375
G1 F1200
G1 X76.663 Y73.734 E1.07584
G1 X79.45 Y71.512 E1.20637
G1 X82.661 Y69.964 E1.3369
G1 X86.136 Y69.169 E1.46743
G1 X87.929 Y69.068 E1.5332
G1 X112.071 Y69.068 E2.41728
G1 X115.613 Y69.467 E2.54781
G1 X118.978 Y70.643 E2.67834
G1 X121.997 Y72.538 E2.80887
G1 X123.337 Y73.734 E2.87464
Posted : 11/01/2023 8:40 pm
Neophyl
(@neophyl)
Illustrious Member
RE: Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a

If the davinci cant handle the trimming of the leading zeroes (which has been discussed as a 'bug' on the PS github and the dev's don't think it is so its not changing) then the only way will be for you to post process the file to add in leading zeroes.  You might be able to use the built in G-code substitutions ability in Print Settings>Output Options>G-code substitutions.

Cant help you with specifics of that though but maybe someone else can work out what find/replace expressions you would need.

The post process field to activate an external post processor (python or similar) is also located in the same section.

The other option is to re-flash the davinci firmware with a more standard based version of Marlin.

 

Personally I would upgrade to a better printer, the xyz 1.0 was my first one and I gave it away when I got a Mk3 as it just wasn't worth the trouble.

Posted : 11/01/2023 8:57 pm
Neophyl
(@neophyl)
Illustrious Member
RE: Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a

As I ran out of edit time on my post....

The post of github discussing this that I remembered is located here https://github.com/prusa3d/PrusaSlicer/issues/6996   

The important part though is this image from one of the developers

that shows what to put in the gcode replacement fields to get it to add back in the leading zeros.

Posted : 11/01/2023 9:22 pm
stonefisher
(@stonefisher)
New Member
Topic starter answered:
RE: Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a

Thanks for the info, That gcode substitution works somehow.

Unfortunately if my printer was having problems with missing leading zeros, something else is also stopping it working.

As for updating the firmware to something better, I have found many youtube videos on upgrading the firmware to repetier but they all require a working usb connection to the printer. I have yet to find a way to flash the firmware via sd card.

Course I can always buy a replacement motherboard off ebay but its a obsolete closed system printer and the motherboard likes dieing first. So replacements are rare and sometimes at eye watering prices.

I could always install a different motherboard but I'm not sure the added prusaslicer features are worth that much time, effort and money. 

 

 

I think I will go paste first 50 lines of working file and see if it behaves with that and if that works try it with the prusaslicer deleting one line at a time till it works.

Posted : 11/01/2023 10:26 pm
stonefisher
(@stonefisher)
New Member
Topic starter answered:
RE: Help wanted going from slic3r to prusaslicer on xyz davinci 1.0a

Well i am baffled,

I made a simple 2cm line that bends in the middle and is 0.3mm wide and two layers high.

I have tried adding the missing 0 before the decimal and adding missing 0 after the decimal places to match the output of slic3r,

I have deleted the two duplicate m107,

i have deleted all commented lines except the required stuff at the start,

I noticed that all code between the header code and ending code of the slic3r file ended with a extrusion or flowrate number so I have tried adding to a flowrate number to the lines that have neither.

At this rate I am going to see the difference printing a 0.3mm cube and see if that would print.

Any ideas what i could try doing to the code below?

 

slic3r code:

; filename = simple model.stl
; machine = daVinciF10
; material = abs
; layer_height = 0.3
; total_layers = 2
; total_filament = 1.1
; extruder = 1
; --- END SECTION ---

M140 S90	;bed temperature - DONT WAIT
M104 S220		;extruder temperature - DONT WAIT
G21								;metric values
M107							;start with the fan off
M106 S255						;start with the fan off
G90								;absolute positioning
G92 E0							;zero the extruded length
M82								;set extruder to absolute mode
G1 F9000 E-0.05					;retract filament
G92 E0							;zero the extruded length again
M190 S90	;bed temperature - DO WAIT
M109 S220		;extruder temperature - DO WAIT
; Filament gcode

G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
;0.3 
G1 E-1.00000 F1800.00000
G92 E0
G1 Z0.300 F3600.000
G1 X105.000 Y95.150 F3600.000
G1 E1.00000 F1800.00000
G1 F600
G1 X95.300 Y95.150 E1.26944
G1 X95.238 Y95.163 E1.27121
G1 F600
G1 X95.176 Y95.176 E1.27335
G1 X95.150 Y95.300 E1.27765
G1 F600
G1 X95.150 Y105.000 E1.54709
;0.6 
;layer z = 0.6 layer_count = 1 +1
G1 E0.54709 F1800.00000
G92 E0
G1 Z0.600 F3600.000
G1 X105.000 Y95.150 F3600.000
G1 E1.00000 F1800.00000
G1 F600
G1 X95.300 Y95.150 E1.26944
G1 X95.238 Y95.163 E1.27121
G1 F600
G1 X95.176 Y95.176 E1.27335
G1 X95.150 Y95.300 E1.27765
G1 F600
G1 X95.150 Y105.000 E1.54709
G1 E0.54709 F1800.00000
G92 E0
; Filament-specific end gcode 
;END gcode for filament

M104 S0		;extruder heater off
M140 S0		;heated bed heater off (if you have it)
G1 Z185		;move to end position before cooling starts
G92 E0		;reset extruder count
M107		;fan off
M84			;steppers off

prusaslicer code:

; filename = simple model.stl
; machine = daVinciF10
; material = abs
; layer_height = 0.3
; total_layers = 2
; total_filament = 1.55
; extruder = 1
; --- END SECTION ---

M140 S90	;bed temperature - DONT WAIT
M104 S220		;extruder temperature - DONT WAIT
G21								;metric values
M107							;start with the fan off
M106 S255						;start with the fan off
G90								;absolute positioning
G92 E0							;zero the extruded length
M82								;set extruder to absolute mode
G1 F9000 E-0.05					;retract filament
G92 E0							;zero the extruded length again
M190 S90	;bed temperature - DO WAIT
M109 S220		;extruder temperature - DO WAIT
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
; Filament gcode
M107
;LAYER_CHANGE
;Z:0.3
;HEIGHT:0.3
;0.3 

G1 E-1 F1800
G92 E0
G1 Z.3 F3600
G1 X95.15 Y104.85
G1 E1 F1800
;TYPE:External perimeter
;WIDTH:0.404381
G1 F600
G1 X95.15 Y95.268 E1.38409
G1 X95.17 Y95.17 E1.38808
G1 X95.268 Y95.15 E1.39208
G1 X104.85 Y95.15 E1.77617
;LAYER_CHANGE
;Z:0.6
;HEIGHT:0.3
;0.6 

G1 E.77617 F1800
G92 E0
G1 Z.6 F3600
G1 X104.331 Y95.265
G1 X95.295 Y95.295
G1 X95.295 Y104.231
G1 X95.265 Y104.331
G1 X95.15 Y104.85
G1 E1 F1800
G1 F600
G1 X95.15 Y95.268 E1.38409
G1 X95.17 Y95.17 E1.38808
G1 X95.268 Y95.15 E1.39208
G1 X104.85 Y95.15 E1.77617
G1 E.77617 F1800
G92 E0
M107
;TYPE:Custom
; Filament-specific end gcode 
;END gcode for filament
M104 S0		;extruder heater off
M140 S0		;heated bed heater off (if you have it)
G1 Z185		;move to end position before cooling starts
G92 E0		;reset extruder count
M107		;fan off
M84			;steppers off
Posted : 13/01/2023 11:58 pm
Share: