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
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.
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.
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.
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