MK4IS Printer definition for Cura Slicer
I would like to add my new MK4IS printer to an older version of the Cura slicer. Planeprint.com sells RC airplanes .stl files that take advantage of a specific release of Cura (4.12.1) that slice his designs correctly.
I need help creating a definition file (something like "prusa_mk4is.def.json") so that Cura can slice the .stl files with the appropriate settings and output the gcode for my printer.
Thanks in advance.
RE: MK4IS Printer definition for Cura Slicer
I looked at a Prusa Slicer generated gcode file and noticed code to enable the Input Shaper. Are there other special codes that need to be inserted to use all the features of the MK4IS?
RE: MK4IS Printer definition for Cura Slicer
Can I modify the original Cura profiles for the i3_MK3 printer to create an MK4IS profile? I have the "Original_Prusa_i3_MK3S_MK3.def.json" file as well as the printer_extruders, meshes, layerheight and materials files. I feel like I'm talking to myself. Probably just try making MK4IS clones of the i3_MK3S files and change the name to MK4IS. I asked Prusa for help, but they only support the Prusa Slicer.
RE:
Not exactly Cura 4.2, but this could be helpful for you. I'm working on a set of Cura 5.x G-Code Start/End. Cura still can't be beat for slicing RC plane parts. Here's what I have so far. I'd love others take on it.
Notes
- Since Cura doesn't support the Jinja2 syntax PrusaSlicer uses (all the If/Then trees)
- Made a few basic assumptions
- 0.4mm nozzle
- preheat nozzle temp @170c
- Switched End G-Codes to using relative. If you print really tall objects, may want to comment out G1 Z10 F720 ; Move print head up
- Commented out the M201-205 commands, but left them here if you want to try enabling faster printing.
- Made a few basic assumptions
- It currently skips M555, as it's a little unclear how bed leveling size is calculated for me. This means the printer defaults to a full bed 49 point probe. You can get this generated for you each time via throwing your object in PrusaSlicer and manually updating it. A pain in my opinion.
- Uses M82 for the print itself, as is the standard in Cura (absolute extrusion numbers). This is the opposite of files created in PrusaSlicer, which defaults to relative extrusion.
I'll be continuing to work with the different variable library for Cura to try and match functionality.
Start G-Code
;M201 X4000 Y4000 Z200 E2500 ; sets maximum accelerations, mm/sec^2 ;M203 X300 Y300 Z40 E100 ; sets maximum feedrates, mm / sec ;M204 P4000 R1200 T4000 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2 ;M205 X8.00 Y8.00 Z2.00 E10.00 ; sets the jerk limits, mm/sec ;M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec ;TYPE:Custom M17 ; enable steppers M862.1 P0.4 ; nozzle diameter check M862.3 P "MK4" ; printer model check M862.5 P2 ; g-code level check M862.6 P"Input shaper" ; FW feature check M115 U5.0.0+12061 ;M555 X1e-06 Y-4 W250 H214 ; Tells MBL what size of print area. These values assume a 250x210x210 cube. G90 ; use absolute coordinates M83 ; extruder relative mode M140 S[first_layer_bed_temperature] ; set bed temp M104 S170 ; set extruder temp for bed leveling M109 R170 ; wait for temp M84 E ; turn off E motor G28 ; home all without mesh bed level G1 X42 Y-4 Z5 F4800 M302 S160 ; lower cold extrusion limit to 160C G1 E-2 F2400 ; retraction M84 E ; turn off E motor G29 P9 X10 Y-4 W32 H4 G0 Z40 F10000 M190 S{material_bed_temperature_layer_0} ; wait for bed temp M107 ; ; MBL ; M84 E ; turn off E motor G29 P1 ; invalidate mbl & probe print area G29 P1 X0 Y0 W50 H20 C ; probe near purge place G29 P3.2 ; interpolate mbl probes G29 P3.13 ; extrapolate mbl outside probe area G29 A ; activate mbl ; prepare for purge M104 S{material_print_temperature_layer_0} G0 X0 Y-4 Z15 F4800 ; move away and ready for the purge M109 S{material_print_temperature_layer_0} G92 E0 M569 S0 E ; set spreadcycle mode for extruder ; ; Extrude purge line ; G92 E0 ; reset extruder position G1 E2 F2400 ; deretraction after the initial one before nozzle cleaning G0 E7 X15 Z0.2 F500 ; purge G0 X25 E4 F500 ; purge G0 X35 E4 F650 ; purge G0 X45 E4 F800 ; purge G0 X48 Z0.05 F8000 ; wipe, move close to the bed G0 X51 Z0.2 F8000 ; wipe, move quickly away from the bed G92 E0 M221 S100 ; set flow to 100% G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; absolute extrusion mode
End G-Code
G91 ; use relative coordinates G1 Z10 F720 ; Move print head up M104 S0 ; turn off temperature M140 S0 ; turn off heatbed M107 ; turn off fan G90 ; use Absolute G1 X250 Y210 F3600 ; park G1 Z210 F300 ; Move print head up G4 ; wait M572 S0 ; reset PA M593 X T2 F0 ; disable IS M593 Y T2 F0 ; disable IS M84 X Y E ; disable motors
RE: MK4IS Printer definition for Cura Slicer
Thank you for the g-code. That is exactly what I needed help with. I'll give this a try in the next few days.
RE: MK4IS Printer definition for Cura Slicer
Did anyone try the above g-code with their MK4 and did it work ok?
RE:
I might be biased, as I created the g-code. That being said, I've used it successfully for about 100 prints out of Cura on my MK4 with no issues (related to the g-code, lol). I've been using it to print plane parts. I still use PrusaSlicer as my primary slicer for all other prints.
I never did get around to using the the different variable library for Cura, maybe someone else wants to take a crack at it?
RE: MK4IS Printer definition for Cura Slicer
Cool, thanks! 💯
RE: MK4IS Printer definition for Cura Slicer
One question, I know cura 4.2 is often recommended for plane parts. Are your codes specifically for cura 5.x?
Thanks 👍
RE: MK4IS Printer definition for Cura Slicer
I made them in cura 5.x, but in theory it should work in 4.2. The g-code commands are for the printer, not Cura. I would just check to see if the commands sliced are relative vs absolute coordinates.
RE: MK4IS Printer definition for Cura Slicer
Hallo Crashoverride
Ich habe deinen Start G-Code und End G-Code jetzt im Cura 4.12.1 kopiert und habe noch einige probleme. Ich verwende den MK4 mit dem neuesten update 6.1.3.
Zum Start G-Code 2 Fragen: 1, Bett Heizt erst wenn die Nozzel heiß ist, kann man die Bett Heizung früher Einschalten ? 2, mein MK4 fängt mit 250 grad an zu Drucken, obwohl ich 233 grad eingestellt habe, ist da noch was falsch im Start Code ?
Zum End G-Code eine Frage, Die Nozzel fährt ganz nach oben auch bei einem kleinen Druck, kann man das ändern durch löschen der Zeile :G1 Z210 F300 ; Move print head up ? Das kostet nur unnötig Zeit, da die Nozzel beim nächsten Druck auch wieder von ganz oben wieder runterfahren muss.