Seems pretty straightforward. The only thing I think would be difficult is the discovery process.
https://github.com/foosel/OctoPrint/wiki/REST-API
Seems pretty straightforward. The only thing I think would be difficult is the discovery process.
https://github.com/foosel/OctoPrint/wiki/REST-API
Keep in mind though that the API is still in the process of being fleshed out and thus things might change there until further notice!
That's a bit scary. There is also the "current" and "develment" api which are vastly different...
Still, would be possible to implement, with the doodle3d as example:
https://github.com/daid/Cura/blob/SteamEngine/Cura/util/printerConnection/doodle3dConnect.py
Discovery would be indeed an issue. But could be solved with:
http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
Would be good, even if we could just upload via Cura.. i.e. save to sd, or upload to printer.
Isn't this already possible with octoprint? (I should test it tonight if i have time)
You can upload gcode directly via the web interface (even directly to the printer SD) from what i saw on the website
Isn't this already possible with octoprint? (I should test it tonight if i have time)
You can upload gcode directly via the web interface (even directly to the printer SD) from what i saw on the website
Yes, but the idea proposed here, is to have a button in Cura to upload&start the print, so you do not need to go to the webinterface.
We, geeks are really lazy ^^, but it's true you get used to the button to save directly to the sd card in cura so why not. Just one or two clicks more and this is done by the octoprint web interface ^^
I know this thread is a little old, but I found it in the process of determining that noone has created an integration of this sort.
So I made one, because while we geeks are lazy, we are quite willing to spend many hours coding something that will save us 30 seconds doing a repetative task (save gcode, upload, hit print)
https://github.com/scotthraban/octoprint-printer-connection-plugin-for-cura
It won't work with the current Cura, as there are a couple of modifications that would need to be made to the Printer Connection and Plugin instantiation code, for which I have created pull requests.
If someone more familiar with Python UI would be willing to offer some help, that would be awesome, currently the plugin requires putting the OctoPrint API Key in the source code, which is, um, sub optimal.
Thanks!
Ooh, nice. I'm tempted to jump in and experiment, but I won't have time until april.
There is also this one which I have tested and it works OK:
https://github.com/quillford/OctoUpload
I'm not sure if either is derived from the other.
How about a program that scans a folder and automatically sends new gcode files to octoprint? Would run completely separate from Cura.
Keep in mind though that the API is still in the process of being fleshed out and thus things might change there until further notice!
That's a bit scary. There is also the "current" and "develment" api which are vastly different...
Now that Octoprint 1.2 has been released, there is one stable API.
Actually you can use the cura engine to slice your model directly on your raspberry pi running octoprint. You have to set the path to the cura engine and define a config setting in octoprint's parameters.
You may find this usefull too : https://github.com/foosel/OctoPrint/wiki/Cura-Integration
Actually you can use the cura engine to slice your model directly on your raspberry pi running octoprint.
In my opinion, slicing is better done on the desktop. More control over parameters, and lots more processing power.
I guess it is smarter to wait for Pink Unicorn to try doing a proper "Send to Octoprint" plugin in Cura.
Hy all
If anyone want that i can share it on my git hub account
Alex
Edited by Guest
@Alex, looks good! Yes, please...
@Alex, looks good! Yes, please...
put that on cura file in C/programefileX86/cura15.04
Nice!
Creating the octo.gcode tempfile wasn't working for me, so I changed that bit by using the tempfile module to create a file in the temp folder (should work cross-platform). This file is then also cleanly disposed of after sending the file to OctoPrint.
http://f.fld.vu/temp/cura_octoprint_tempfile.patch
One issue is that this implementation locks up the UI thread, so the UI cannot show the progress.
Hey i know is in not fully what you wanted but it is close.
It is a cura plugin that once uploads it sends it to OctoPrint. I have been using it and it works well.
For the sake of people finding this thread and wondering about the state of integrating OctoPrint into Cura 2.3 and newer, have a look at this plugin:
https://github.com/fieldofview/OctoPrintPlugin
It features ZeroConf/Bonjour enabled discovery, printing directly from Cura without having to store a gcode file, monitoring the progress, and even a view of the webcam, all nicely integrated into Cura.
For the sake of people finding this thread and wondering about the state of integrating OctoPrint into Cura 2.3 and newer, have a look at this plugin:
https://github.com/fieldofview/OctoPrintPlugin
It features ZeroConf/Bonjour enabled discovery, printing directly from Cura without having to store a gcode file, monitoring the progress, and even a view of the webcam, all nicely integrated into Cura.
Nice plugin. I used it successfully in Cura 2.3 release connected to Octoprint and an Ultimaker 2+. Unfortunately, I had to add a new custom Printer with Ultimaker 2+ details to change machine settings to Marlin/RepRap g-code, because the standard printer profile for UM2+ doesn´t seem to allow changes of g-code flavor anymore. I tried to edit/copy json defintions file but failed. Any hint or idea?
The only issue I found with this is that the Plugin streams video (if you have a camera attached to your Pi) even if you don't have that window open in Cura.
This really impacts (degrades) network performance with the megabytes of data flowing all the time.
Just an FYI.
The only issue I found with this is that the Plugin streams video (if you have a camera attached to your Pi) even if you don't have that window open in Cura.
Yeah, that's true. Same thing for the UM3 though (Fun fact: the UM3 uses the same software for streaming the camera image. Another fun fact: the OctoPrint plugin is a fork of the UM3NetworkPrinting plugin).
Streaming stops when you switch to another printer though.
This really impacts (degrades) network performance with the megabytes of data flowing all the time.
Serious question: is it really impacting network performance? I would say that (on an internal network), it should be hardly noticable; it's not *that* much data.
Unfortunately the plugin currently can't tell if you are looking at the monitor tab or not. I would rather not implement a hack in the OctoPrintPlugin for something that really needs to be fixed in Cura itself. As a quick fix I can add an option to not display the video stream (at all) when connecting to OctoPrint.
Note that I have code ready to display the streaming video instead of the current high-speed slide-show, but this issue is the reason I have not merged that yet.
I tried to edit/copy json defintions file but failed. Any hint or idea?
I have added some notes on UltiGCode to the readme of the plugin:
https://github.com/fieldOfView/OctoPrintPlugin/blob/master/README.md
Let me know if that works for you.
Recommended Posts
Daid 304
Don't know if Octoprint provides an API. If it does, then this can be made.
It's already done for the Doodle3D wifibox, which allows printing trough wifi with Cura.
Link to post
Share on other sites