Great Sharing: Prusaslicer Profiles by Dylan and McGybeer

@macdylan thanks for explaining!

In case anyone is interested: I still cannot upload any data here (and have given up asking…) but I uploaded an STL bed model and an updated print bed overlay that fits to the 324 x 214 mm size defined in the config files in the Druckktipps3D forum here for use with Prusaslicer and the J1.

Just eye candy, I know, but a small thanks to all the work done here to get Prusaslicer running with the J1 :smiling_face_with_three_hearts:

1 Like

If you have a NAS or OctoPi, maybe running sm2up in octoprint mode as a service process would be a better way.

NO sm2up!:see_no_evil: JUST have fun making! :tada:

  1. Run sm2uploader in -octoprint mode, pass a port like -octoprint :8844

  2. Add physcial printer(right panel - printer - gear icon) use URL like http://localhost:8844

  3. Slice, You will see a G icon appear to the right of the “Export G-Code” button

  4. Upload. You can review all tasks in “Print Host Upload Queue”

1 Like

Hooray, uploading works!

Some remarks for other users (@macdylan correct me if I am wrong):

  • smuploader should be placed somewhere where the user has write access. This means that e.g. an folder in “Program files” in Windows is not a good idea unless you want to edit the user access rights manually or want to add the “-knownhosts” parameter to the program call.
  • on the first start, smuploader seems to take ages to find the printer. Have patience and don’t keep killing and restarting it as I did…
  • you can speed up subsequent starts by adding the “-hosts” parameter as I did in the script below
  • here is a short Linux shell script that starts smuploader and lets it search the printer for a maximum of 24 hours in case it is not running, then starts Prusaslicer - and kills smuploader as soon as Prusaslicer is closed:
#!/bin/bash
trap "kill -9 -- -$$" ERR EXIT
   [path-to-smuploader]/sm2uploader-linux-amd64 -octoprint :8844 -timeout 86400s -host [printer ip] & [path-to-PrusaSlicer]/PrusaSlicer.AppImage

On Windows you can do the same using a batch or wsh script. The following batch script is untested since I do not have Prusaslicer on Windows any more, but it should work unless I overlooked something. Just create a text file, paste the following text into it, replace the placeholders (the rectagular brackets with everything in between them) with the correct values on your computer and change the “.txt” ending of the file with “.bat”:

@echo off

start "SM2-Uploader by MacDylan" "[path-to-smuplader]\sm2uploader-win64.exe" -octoprint :8844 -timeout 86400s -host [printer ip]
start /w "" "[path-to-PrusaSlicer]\PrusaSlicer.exe" 
taskkill /IM sm2uploader-win64.exe /F

Both scripts use port 8844 as suggested by MacDylan. Depending on your system you might need to change that one if another program already uses it.

In case someone wonders: the “upload and print” button from Prusaslicer just uploads the file as well - the print command is not forwarded (yet, at least - let’s see what MacDylan comes up with next :wink: )

Usually, discovering SM printers through UDP in LAN only takes a few seconds. If it takes more than 5 seconds and the printer is still not found, it is likely an issue elsewhere. I dont think that continuously searching for 24 hrs is good idea, as the default value in the program is 4s.

Preload the sm2up through a script is a great idea, The demo you have provided is very detailed. Don’t care that sm2up exists, Just enjoy making🍻

I appreciate the detailed instructions guys, @macdylan and @Mechanikus.

Based on my assessment, the sm2upload approach simply sends the file to the printer, but does not automatically start the print.

In my opinion, @kanocz script has been the most straightforward and hassle-free option to implement. It has worked seamlessly without any complications.

Apologize for my lack of understanding, but I’m still struggling to grasp the benefits of the sm2upload approach over the previous J1autoUpload postscript.

Can you provide more details about the advantages of one approach over the other?

I tried it yesterday and the extruder didn’t return home. → The profile does not work.

Strange - in my case it took well over two minutes for the program to discover the printer for the first time (pings worked perfectly fine at the same moment though). Then it wrote the YAML file, and that and the IP address added to the program parameters reduced subsequent discoveries to well below one second.

Unless my firewall betrayed me, the program seems to re-send its discovery packets only every 30 seconds, therefore I had no problems with letting it run even if the intervals might be longer. What are your concerns in that respect?

The reason behind this is that my usual workflow is

  1. design the part
  2. start Prusaslicer
  3. load the designed part, possibly find out that it needs to be slightly altered, alter it, load it again, etc until I am satisfied
  4. walk to the printer in my workshop on the other floor and on the opposite side of the house, turn it on, load the filament, and preheat the bed if needed
  5. walk to the computer, slice the part, upload it and click “upload and start printing”. With the J1 not having a decent web interface that allows remote start of prints, I currently then walk to the printer once more, select the file and start printing.

This means however smuploader needs to search for the printer for an extended time while I do my stuff. It would be great to have a parameter to define the time interval it searches as one attempt every 1…5min would be perfectly fine for me, but I admit I did not want to bother you with that.

Thanks :slight_smile: I am simply too lazy to care about starting (and possibly waiting for) extra tools at some time in my workflow, so I try to invest the time once and automate such things :wink:

You can still use sm2up in the same way as j1upload, but it offers more options as it support A-Series printers and has more compatibility with many slicing softwares(cura/ideamaker/simplify3d…) ues OctoPrint mode.

In any case, this just adds more flexibility. For my own use, I have two different SM printers with different file-transfer protocols, so I created this small tool hoping that it may help others as well.

Now I am finshed with building my own Prusaslicer profile based on the profile from ne0xys (basically just removing any printer / filament dependency conditions as I don’t need them and want to be able to use my own ones, updating the filament and print values to my settings and deleting any profiles I do not need). I did not touch the custom gcode apart from removing the printer detection “if” condition in the filament start gcode.

And: it works flawlessly so far! I have my favourite slicer back :slight_smile: A big thanks @ne0xys!

2 Likes

Didi it work that the home movement of the extruder is not written in the filament code, but in the tool change g code?
When I tested it, the print failed because the extruder did not return.

Yes, that is how it is set, and it worked as it should. I just took care to always use the presets marked with “ne0” in the name - I guess mixing those with the other ones would not work.

Sorry, I think I missed any settings last time. The specific gcodes from @ne0xys are working great! It’s only one filament profile necessary and the extruder changes are very fast! Many thanks

1 Like

@McGybeer Can I use your Prusa Profile also if I wanna print with just one head?
If no multicolour objeckt is loaded, it seems that the object is printed with one head an the support is printed with the other one.
I wanna just use the printer with singel head too.

What’s also strange: the initial amount of the right Extruder is always to much. It overextrudes. The left Extruder doesn’t do that.
Any suggestions?

Yes, but I recommend using my updated profile. I’ve actually upgraded it, now including compatibility with the SMFIX script by @macdylan which is really useful (you can easily disable it if you don’t want to use it). It’s available here: Snapmaker J1 - McGybeer.ini - Google Drive
It detects automatically the print size and works with all the modes. Also detects how many extruders are used, and only heats and purges the used ones.

1 Like

I have updated the SMFix to make it more compatible with J1.
Now it is compatible not only with PrusaSlicer/SuperSlicer but also with OrcaSlicer :beers:

2 Likes

I am getting an “error parsing file” on my printer when i try to print a file sent with SMuploader. Prusaslicer also shows “error:2”

what could be causing this? everything else works

Hi ,
i am using the Prusaslicer Profile from ne0xys.

but my left extruders part cooling is not working.
i didn`t managed it to run. Only the right one is working.
On Filament tab are booth typs set to 100 % but only the right one works…
is there an error ??

Does anyone else have the problem, that the filament is completely or partially retracting before the print starts!?