Great Sharing: Prusaslicer Profiles by Dylan and McGybeer

Here is the machine size table for 2.0 including bracing kit, I think you need to update the workspace size.

Prusa keeps showing this error until they merge my code. You can go to the installation folder, delete the snapmaker files, and overwrite them with the downloaded files.

3 Likes

I think im using a older version. Sorry ^.^;

; Model: Snapmaker J1 ({nozzle_diameter[0]}/{nozzle_diameter[1]})
; Update: 20240112
; Maintained by GitHub - macdylan/3dp-configs: My 3DP Configs
In this version it donā€™t do a G28 X at the end. Will check out the new version from 20240508

My issue wasnā€™t a missing G28 X at the start but when the printer starts the print.
If the left extruder started to print the right extruder wasnā€™t parked. Now the left extruder couldnā€™t reach all the way to the right.
And glancing at your newest start code it donā€™t do a G28 X before start printing. But i will try it out this evening or tomorrow.

I would like to ask if these settings are correct?
obraz
Why am I asking, because when I generate gcode and upload it to the printer, it does not display thumbnails of the detail implemented in this code.
If anyone knows how to improve these parameters, please share them.

This profile is awesomeā€¦ Thank you for sharing. I have modified mine for TPU and it is printing super nice. I do have a question thoughā€¦ In the start-up code, how can I reduce that purge temp from 250 to the normal print temp ?

Check your first layer temperature settings

The first layer temp is the operating temp. as the hotends warm up for the purge line, they hit 250 unless I manually set it back to operating temp. If I didnā€™t correct that, they would go to the first layer tempo set in the slicer. It is heating up to 250 just for the purge line which is I assume part of the startup gcode.

This is the code;
G0 Z5.6 F200
M107

G0 X{if 0 == 0}137.0{else}187.0{endif} F6840.0
G0 Z0.3 F240.0
M109 S{first_layer_temperature[0]} C3 W1
G1 E3 F200
G92 E0
G1 X{if 0 == 0}0{else}324{endif} E8.5437 F6840.0
G92 E0

G1 E-{retract_length_toolchange[0]} F200
G92 E0
G0 Y20 F6840.0

M104 S{is_nil(idle_temperature[0]) ? temperature[0] + standby_temperature_delta : idle_temperature[0]}
{endif}
{if is_extruder_used[1] and initial_extruder != 1}
T1
M104 S{max(250, min(290, first_layer_temperature[1] + 15))}; common flush temp
G0 Z1.6 F240.0
G0 X{if 1 == 0}147.0{else}177.0{endif} F6840.0
G0 Y0 F6840.0

M109 S{max(250, min(290, first_layer_temperature[1] + 15))} C2 W1; common flush temp
G1 E20 F80.0
G92 E0

M106 S{min(255, (max_fan_speed[1] + 10) * 2.55)}

M104 S{first_layer_temperature[1] + 5}

G1 E12.0 F200
G92 E0
G1 E8.0 Z4.6 F200
G92 E0

G0 Z5.6 F200
M107

G0 X{if 1 == 0}137.0{else}187.0{endif} F6840.0
G0 Z0.3 F240.0
M109 S{first_layer_temperature[1]} C3 W1
G1 E3 F200
G92 E0
G1 X{if 1 == 0}0{else}324{endif} E8.5437 F6840.0
G92 E0

G1 E-{retract_length_toolchange[1]} F200
G92 E0
G0 Y20 F6840.0

M104 S{is_nil(idle_temperature[1]) ? temperature[1] + standby_temperature_delta : idle_temperature[1]}
{endif}

T[initial_extruder]
M104 S{max(250, min(290, first_layer_temperature[initial_extruder] + 15))}; common flush temp
G0 Z1.6 F240.0
G0 X{if initial_extruder == 0}147.0{else}177.0{endif} F6840.0
G0 Y0 F6840.0

M109 S{max(250, min(290, first_layer_temperature[initial_extruder] + 15))} C2 W1; common flush temp
G1 E20 F80.0
G92 E0

M106 S{min(255, (max_fan_speed[initial_extruder] + 10) * 2.55)}

M104 S{first_layer_temperature[initial_extruder] + 5}

G1 E12.0 F200
G92 E0
G1 E8.0 Z4.6 F200
G92 E0

G0 Z5.6 F200
M107

G0 X{if initial_extruder == 0}137.0{else}187.0{endif} F6840.0
G0 Z0.3 F240.0
M109 S{first_layer_temperature[initial_extruder]} C3 W1
G1 E3 F200
G92 E0
G1 X{if initial_extruder == 0}0{else}324{endif} E8.5437 F6840.0
G92 E0

G1 E-{retract_length[initial_extruder]} F200
G92 E0
G0 Y20 F6840.0

; ready [physical_printer_preset]

Thereā€™s your problem, Iā€™m not sure why its written like that as the version Iā€™m using simply use first_layer_temperature[initial_extruder] instead.

So just replace 250 with the operating temp I want ?
This code is what was in place with the latest @macdylan profile

yes as the code will pick between 250, first layer temperature of the extruder or 290 if first layer temp is over 290, whichever is highest.

1 Like

I just installed the sm2Uploader successfully it seems to Orca Slicer, and can now send files to my machine, but they donā€™t print when I select the option ā€œupload and printā€ they just upload.

Also when I select upload and print then go to my device tab (in orca), itā€™s just command lines. Is this the expectation ? Or should I be able to print from my slicer now and control the machine from my slicer like Octoprint ? TIA

You can only upload files nothing more. You cant see more in devices tap.
You have to select and start the print manually on the printer. For the price of the printer (For the 1kā‚¬ now) i would say its ok but i would have paid 1-200ā‚¬ more for better compatibility for current slicers and not developing a own slicer like luban. Waste of money in my opinion.

2 Likes

Thanks to community contributors, especially macdylan (Dylan) and hliebscher (Heiko Liebscher) for creating initial profiles for Snapmaker machines. We can select Snapmaker machines directly from the default printer list in both Orca Slicer and PrusaSlicer. Read the relevant Wiki:

What Youā€™ll Find :

  • Download
  • Configuration Wizard
  • First Print
  • Reference

I have to drop in here - lengthy story, sorry.

I had my J1 running fine with Prusaslicer and smfix a year ago on a Windows PC. I had no chance to do anything 3D-wise since and only recently started setting up my environment again. This time I am running a Ubuntu 24.04 based Linux PC.

I installed Prusaslicer form the Ubuntu repository, 2.7.2 is the latest version available.

I tried once more with the @macdylan profiles, but had some problems with the end code not working as expected (print head would remain 30s over the printed item after print had finished, dropping a blob of plastic onto it.

I had thumbnails in my Gcode files, smfix would put them in.

To fix the blob issue I started again from scratch, deleted all J1-related stuff from Prusaslicer and installed the leandrolima profile bundle from Github ( @ne0xys ā€™ repository).

That worked, the print behaviour was as desired, no more blobs. But the setup somehow is colliding with smfix now, no more thumbnails in the Gcode files. Reason is, smfix is bailing out with an error:

Post-processing script /usr/local/bin/smfix on file /tmp/.21774.gcode.pp failed.
Error code: 1
Output:
2024/09/28 10:55:01 Parse params failed: Invalid G-Code file.

I have no idea what may be the cause, so I am asking for advice :wink:

No one seems to be caringā€¦ :cry:

I somewhat resolved the issue by using the standard J1 profiles that came with Prusaslicer (obviously the Snapmaker provided @macdylan ones) that do accept the smfix post processing.

But there I am encountering a new problem: the start code seems to be written to first move the extruder to a position at the front edge of the bed and staying there for some time before printing the purge line.

Since heating is already done, the nozzle will ooze a blob of filament onto the bed and be held in that blob. So residues of the blob are picked up and carried along the purge line. The very first part of the print proper then has too few filament, there is a gap of about 5cm before the filament is flowing again.

In general you could edit the gcode to what you want it to be or want the machine to do.

Unfortunately I canā€™t help you with smfix or sm2uploaderā€¦