Curl statement from simplify3d not working - Octoprint 1.3.7rc4 / Pi3 B+


#1

What is the problem?
Saving model with curl command in post processing doesn't work.
curl -k -H "X-Api-Key:vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" -F "select=true" -F "print=false" -F "file=@[output_filepath]" "http://192.168.1.14/api/files/local"

(real api key used, put vvvvvvv's just to show here)
This works on my other older pi3, im sure its having to do with new Pi3b+, Octopi 15, octoprint 1.3.7r4

What did you already try to solve it?
I made a new profile in simplify3d, new curl statement

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log, serial.log or output on terminal tab, ...)
2018-04-04_2018-03-13-octopi-stretch-lite-0.15.0
OctoPrint 1.3.7rc4
OctoPi 0.15.0
Pi3 B+
octoprint.log (166.6 KB)


#2

"doesn't work" can mean a whole ton of things. What happens instead? What error do you get when you run this command from the command line? Do you even get an error at all?


#3

Meaning - the spliced model from simplify3d doesnt show up in the files section of octoprint web ui. I have to manally upload the gcode by pressing the upload button and finding the file. Then it shows up in files section.

idk how to run this command manually. If i open a terminal and run:
curl -k -H "X-Api-Key:vvvvvvvvvvvvvvvvvvvvvvvvvv" -F "select=true" -F "print=false" -F "file=@[output_filepath]" "http://192.168.1.14/api/files/local"
how would the gcode actually be passed, because simplify3d isnt initiating the curl statement?


#4

Replace [output_filepath] with the path to a gcode file (that's all that s3d does internally as well).

Eg

curl -k -H "X-Api-Key:vvvvvvvvvvvvvvvvvvvvvvvvvv" -F "select=true" -F "print=false" -F "file=@test.gcode" "http://192.168.1.14/api/files/local"

#5

I copied gcode file to pi and run from terminal.... it works - ie files shows up in files section, ready to be printed

doesnt work from simplify3d - idk whats wrong. but this works on my other older pi3


#6

Another follow up. The api key => sending gcode to printer works with mk3 and prusa slic3r - 1.39.1


#7

I have been having the same issue as well for a while. Just decided to check it, still doesn't work. Curl commands work fine form command line. everything is correct in the command. Just does not work. Cannot troubleshoot to my knowledge. Is there a log that would point to anything?


#8

Working fine here.

  • S3D 4.0.0
  • curl 7.56.1 (x86_64-pc-win32) libcurl/7.56.1 OpenSSL/1.1.0g (WinSSL) zlib/1.2.11 WinIDN libssh2/1.8.0 nghttp2/1.27.0
    Release-Date: 2017-10-23

Things to try

  • Make sure "curl" is in your path statement if you aren't calling it with its full file path. If all else fails, make sure it's in both the system path and your user's path.
  • Make sure CORS is enabled in OctoPrint
  • Different version / build of curl. I've seen others have issues with a particular version of curl, while other versions work.

and in the interest of full disclosure, this is my full post processing script (minus actual api key):

curl -k -H "X-Api-Key: THISISOBVIOUSLYNOTANAPIKEY" -F "select=false" -F "print=false" -F "file=@[output_filepath]" "http://10.0.0.217:5000/api/files/local"
{STRIP ";   postProcessing"}
{STRIP ";   printerModelsOverride"}
{STRIP ";   startingGcode"}
{STRIP ";   endingGcode"}

#9

Well, I am totally at fault here. I got a new laptop, copied my factory files and installed curl. Totally forgot to change the command to only reference the curl command instead of using the full path. I guess I was using another version previously where I manually put the files in a location without adding to the path. But, I added it correctly this time, but it was pointing to the old location.

Thanks for the post