Ultimaker Cura 2 Mooraker Upload Plugin

Overview

Klipper & Cura - Cura2MoonrakerPlugin

  • Allows you to upload Gcode directly from Cura to your Klipper-based 3D printer (Fluidd, Mainsailos etc.) using the Moonraker API.
  • Uploading thumbnails via UFP (Ultimaker Format Package) is supported
  • You can also start a print job using the upload process

How to Install

The installation of this plugin is straightforward ... no compiling etc.

  1. Download this repository as zip file (https://github.com/emtrax-ltd/Cura2MoonrakerPlugin/archive/main.zip) and unzip it
  2. Find your Cura plugins directory:
    • Windows:
      • The default installation path is C:\Program Files\Ultimaker Cura [version number]\plugins.
      • The user based installation path is C:\Users\<Your Username>\AppData\Roaming\cura\[version number]\plugins (no admin privileges needed)
    • macOS:
      • Right-click on Ultimaker Cura.app in your Applications folder then click on Show Package Contents. The default installation path is Ultimaker Cura.app -> Contents -> Resources -> Plugins -> Plugins.
  3. Copy the extracted Cura2MoonrakerPluginfolder into the Cura plugins folder you located in step 2. Attention: In the user based windows installation you have to copy the unzipped plugin directory into a parent directory with the same name. Looks like ...\cura\[version number]\plugins\Cura2MoonrakerPlugin\Cura2MoonrakerPlugin.

How to Configure

To configure your Moonraker 3D printer...

  1. Go to Settings -> Printer -> Manage Printers
  2. Select and click on 'Connect Moonraker'
  3. Fill in the URL and select your preferred output format
  4. Click 'Save Config'

How to Upload

  1. Open your STL model in Cura and click Slice.
  2. Click the small up arrow on the right and select Upload to <Your Printername>:
  3. Now you can modify the filename, select the option to create a print job and finally... click Upload :)

Buy Me A Coffee

Comments
  • 5.0 support

    5.0 support

    I'm really in love with this plugin! Thanks for a great job! Recently Cura released 5.0 beta but looks like they brake something and plugin stopped to work. While loading Cura says that plugin need to be reinstalled

    opened by devolf92 28
  • error: 204 host requires authorisation

    error: 204 host requires authorisation

    Hi there,

    Does anyone know or could help with this issue?

    Screenshot 2021-10-06 at 18 58 35

    Get an error when trying to upload to Klipper from cura. I have added the IP address of my PC to the authorized list of addresses in moonraker.config.

    UPDATE: #7 does not fix it for me!? Where can i find "~/.moonraker_api_key" ??

    One other question is, for the section in the cura config "name of Moonraker power device". i am assuming this refers to the power device such as a TP link smart plug?

    cheers

    opened by Kieraneasdale 12
  • Crash when file upload CURA 5.1

    Crash when file upload CURA 5.1

    Hi, Cura crashed whenever i upload a file.

    Traceback (most recent call last): File "UM\TaskManagement\TaskManager.py", line 142, in event call_event.callFunction() File "UM\TaskManagement\TaskManager.py", line 33, in callFunction self._function(*self._args, **self._kwargs) File "C:\Users\Ludovic\AppData\Roaming\cura\5.1\plugins\MoonrakerConnection\MoonrakerConnection\MoonrakerOutputDevice.py", line 305, in _checkPrinterStatus status = response['result']['state'] TypeError: string indices must be integers

    opened by CrownFlash 10
  • Fix to original PR - Now sends FIRMWARE_RESTART before powering on printer, queries

    Fix to original PR - Now sends FIRMWARE_RESTART before powering on printer, queries "webhooks" printer object, sends model when state == 'ready'

    Before this fix, if the user requested the model to start printing immediately, the plugin might upload the model before the printer was ready to accept the print job. This change should fix that issue -- it now queries the "webhooks" printer object and waits until state == 'ready' before sending the model.

    At the moment, the queries occur every 0.5 seconds for a total of 10 seconds before a timeout occurs.

    Thanks again for a great plugin!

    opened by truckershitch 9
  • [FR] replacing dots and whitespace in filenames with an underscore or dash

    [FR] replacing dots and whitespace in filenames with an underscore or dash

    it would be really nice if the Plug-in could replace dots and whitespaces/spaces with an underscore or a dash instead of cutting/stripping the Filename.

    Examples: i have a .stl file with the filename "test_head_v1.4 (small).stl" current filename handling is like "test_head_v1.[gcode | ufp]" (file extension doesn't really matter in thsi example)

    would i would like is something like this "test_head_v1_4_small.gcode" or "test_head_v1_4-small.gcode"

    EDIT i would really like to inplement it by myself but unfortunately i dont know python that well.

    opened by itCarl 8
  • Upload the plugin to the marketplace.

    Upload the plugin to the marketplace.

    I think this would be much easier to find if this was uploaded to the marketplace! You can do that via https://contribute.ultimaker.com

    Even if you don't want that, you can use it to generate .curapackage files which can be drag & dropped into Cura, making installing it a lot less error prone.

    opened by nallath 7
  • Unable to save configured plugin settings

    Unable to save configured plugin settings

    Unable to save configured plugin settings

    Despite typing text in all fields, "Connect Moonraker" window shows only "Close" button, and no "Save Config" button at all. In Cura, printing buttons show "Moonraker Plugin", and clicking it displays message to Configure Moonraker in Preferences.

    System information:

    Gentoo Linux Python 3.8 Cura 4.9.1

    opened by agrohn 6
  • Upload timeout too short

    Upload timeout too short

    Hello,

    Thank you again for the "Fire and Forget" feature. Is it possible to adjust the time before error? When I first send a file, the printer turns on via relay and the firmware loads. That take longer than the current delay before an error is displayed, and load is cancelled. This could either be longer or a configurable option. Other than this minor inconvenience, the plugin has worked very well.

    Best, Mujeeb

    enhancement 
    opened by mujeebbasit 5
  • Cura 5.2.1: object of type settingfunction is not json serializable

    Cura 5.2.1: object of type settingfunction is not json serializable

    when i upgrade cura i get: object of type settingfunction is not json serializable

    in old version all is fine

    2022-10-30 17:11:17,530 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: Exception: Unable to write to file CFFFP_Peppa_Wutz: Object of type SettingFunction is not JSON serializable 2022-10-30 17:11:17,531 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: Traceback (most recent call last): 2022-10-30 17:11:17,532 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "UM\Qt\Bindings\OutputDeviceManagerProxy.py", line 150, in _writeToDevice 2022-10-30 17:11:17,532 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: device.requestWrite(nodes, file_name, limit_mimetypes, file_handler, **kwargs) 2022-10-30 17:11:17,533 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "C:\Users\phil2sat\AppData\Roaming\cura\5.2\plugins\MoonrakerConnection\MoonrakerConnection\MoonrakerOutputDevice.py", line 94, in requestWrite 2022-10-30 17:11:17,533 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: if not meshWriter.write(self._stream, None): 2022-10-30 17:11:17,534 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "cura\Utils\Threading.py", line 31, in _call_on_qt_thread_wrapper 2022-10-30 17:11:17,534 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: return func(*args, **kwargs) 2022-10-30 17:11:17,535 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "C:\Program Files\Ultimaker Cura 5.2.1\share\cura\plugins\UFPWriter\UFPWriter.py", line 88, in write 2022-10-30 17:11:17,535 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: json.dump(self._getSliceMetadata(), setting_textio, separators=(", ", ": "), indent=4) 2022-10-30 17:11:17,536 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\__init__.py", line 179, in dump 2022-10-30 17:11:17,536 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 431, in _iterencode 2022-10-30 17:11:17,537 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 405, in _iterencode_dict 2022-10-30 17:11:17,537 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 405, in _iterencode_dict 2022-10-30 17:11:17,538 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 405, in _iterencode_dict 2022-10-30 17:11:17,538 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 438, in _iterencode 2022-10-30 17:11:17,539 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: File "json\encoder.py", line 179, in default 2022-10-30 17:11:17,539 - ERROR - [MainThread] UM.Qt.Bindings.OutputDeviceManagerProxy._writeToDevice [163]: TypeError: Object of type SettingFunction is not JSON serializable

    opened by phil2sat 4
  • "Could not find plugin UFPWriter" error when attempting to use "UFP with Thumbnail" option

    Cura version: 4.13.1

    When I select the "UFP with Thumbnail" option in the "Connect to Moonraker" settings, and then attempt to send a sliced model to my printer, it just results in an error pop-up at the bottom of the Cura window that says: "Error

    Could not find plugin UFPWriter"

    Changing the Moonraker option to send GCODE instead makes it work just fine. Might be due to breaking changes in Cura 4.13 as seems to be implied by https://www.reddit.com/r/Cura/comments/s5i0bg/cura_413_fails_to_loaf_plugin_ufpwriter/.

    opened by scramsby 4
  • Display not large. And port number is required for connect to printer.

    Display not large. And port number is required for connect to printer.

    Using CURA 4.8 Fluidd with Klipper

    For the display image The button cropped. but i already adjust actionDialog.minimumHeight = screenScaleFactor * 320; and it seams fit nicely. image

    IP address need to put including port number. If only IP address without port, the file cant be uploaded.

    http://192.168.9.112:7125/

    Anyway thanks for great plug-in!

    opened by rexstor 4
  • Cura 5.2 uses a different plugin directory

    Cura 5.2 uses a different plugin directory

    Hello,

    It seems, that in the current Cura 5.2, a different plugin directory is used. In Cura 5.x or newer, the default installation path is Ultimaker Cura.app -> Contents -> Resources -> share -> cura -> plugins.

    But this Plugin-Directory seems to be for bundled Plugins only. Cura can´t find additional Plugins here.

    I had to put the plugin in the directory: /Library/Application Support/cura/5.2/plugins to get it to work.

    There is a readme file in the old plugins directory that points this out. Maybe the correct directory will be added here in the readme from Cura 5.2

    Greetings, Daniel

    opened by daniel-volz 1
  • Unknown command:

    Unknown command:"SDCARD_PRINT_FILE"

    Hi

    I was unable to connect Moonraker by using URL http://192.168.1.69/, was timing out I can however connect using http://192.168.1.69:7125

    However, when I send a gcode to Klipper, Cura advises 'succesfully completed and job started', but in Klipper i get the error:

    Unknown command:"SDCARD_PRINT_FILE"

    Originally suspected an unknown character but happens even if filename is 'test6' for example

    opened by ryangillett1 0
  • Thumbnail not showing up

    Thumbnail not showing up

    I did a fresh install of Klipper and Mainsail using KIAUH V5 and followed all the instructions on this page, but no matter what, I can't get the thumbnail to display.

    I'm using Cura 5.2.1 klipper v0.10.0-615-g96ea871b moonraker v0.7.1-747-g779997c mainsail v2.3.1

    Can anyone help

    opened by larie438 0
  • UFP

    UFP

    upload with UFP was working, then when I tried uploading a file, it would pause for a moment and i would get the following error: "object of type SettingFunction is not JSON serializable"

    if i change it to Gcode it works fine. This issue just started happening last night.

    opened by Roho81 9
  • Timeout-all the time

    Timeout-all the time

    Installed plugin in Cura 5.0.0 on a Windows 11 system with plenty of resources. Configured as instructions. Uploaded successfully on the first try, then failed to upload with a timeout error on each subsequent occasion. Uninstalled plugin, rebooted, checked IP allocation, reinstalled, reconfigured and it continues to time out each time. Thanks for the work on this plugin.

    enhancement 
    opened by andycrane 3
  • Cancel the changed information when closing or pressing Escape

    Cancel the changed information when closing or pressing Escape

    Not sure if this is possible using the close button of the dialog.

    I would like to see another dialog asking if you want to discard the changed settings whenever you try to close the dialog or when pressing Escape.

    This FR is the result of #46 after figuring out pressing Escape saves the settings.

    enhancement 
    opened by GerdonAbbink 2
The project that powers MDN.

Kuma Kuma is the platform that powers MDN (developer.mozilla.org) Development Code: https://github.com/mdn/kuma Issues: P1 Bugs (to be fixed ASAP) P2

MDN Web Docs 1.9k Dec 26, 2022
MkDocs plugin for setting revision date from git per markdown file

mkdocs-git-revision-date-plugin MkDocs plugin that displays the last revision date of the current page of the documentation based on Git. The revision

Terry Zhao 48 Jan 06, 2023
OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python

AutoRest The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API usin

Microsoft Azure 4.1k Jan 06, 2023
An interview engine for businesses, interview those who are actually qualified and are worth your time!

easyInterview V0.8B An interview engine for businesses, interview those who are actually qualified and are worth your time! Quick Overview You/the com

Vatsal Shukla 1 Nov 19, 2021
NoVmpy - NoVmpy with python

git clone -b dev-1 https://github.com/wallds/VTIL-Python.git cd VTIL-Python py s

263 Dec 23, 2022
This is a repository for "100 days of code challenge" projects. You can reach all projects from beginner to professional which are written in Python.

100 Days of Code It's a challenge that aims to gain code practice and enhance programming knowledge. Day #1 Create a Band Name Generator It's actually

SelenNB 2 May 12, 2022
Hasköy is an open-source variable sans-serif typeface family

Hasköy Hasköy is an open-source variable sans-serif typeface family. Designed with powerful opentype features and each weight includes latin-extended

67 Jan 04, 2023
The sarge package provides a wrapper for subprocess which provides command pipeline functionality.

Overview The sarge package provides a wrapper for subprocess which provides command pipeline functionality. This package leverages subprocess to provi

Vinay Sajip 14 Dec 18, 2022
pytorch_example

pytorch_examples machine learning site map 정리자료 Resnet https://wolfy.tistory.com/243 convolution 연산 정리 https://gaussian37.github.io/dl-concept-covolut

injae hwang 1 Nov 24, 2021
🐱‍🏍 A curated list of awesome things related to Hugo themes.

awesome-hugo-themes Automated deployment @ 2021-10-12 06:24:07 Asia/Shanghai &sorted=updated Theme Author License GitHub Stars Updated Blonde wamo MIT

13 Dec 12, 2022
A complete kickstart devcontainer repository for python3

A complete kickstart devcontainer repository for python3

Viktor Freiman 3 Dec 23, 2022
Leetcode Practice

LeetCode Practice Description This is my LeetCode Practice. Visit LeetCode Website for detailed question description. The code in this repository has

Leo Hsieh 75 Dec 27, 2022
Swagger Documentation Generator for Django REST Framework: deprecated

Django REST Swagger: deprecated (2019-06-04) This project is no longer being maintained. Please consider drf-yasg as an alternative/successor. I haven

Marc Gibbons 2.6k Jan 03, 2023
Xanadu Quantum Codebook is an experimental, exercise-based introduction to quantum computing using PennyLane.

Xanadu Quantum Codebook The Xanadu Quantum Codebook is an experimental, exercise-based introduction to quantum computing using PennyLane. This reposit

Xanadu 43 Dec 09, 2022
A plugin to introduce a generic API for Decompiler support in GEF

decomp2gef A plugin to introduce a generic API for Decompiler support in GEF. Like GEF, the plugin is battery-included and requires no external depend

Zion 379 Jan 08, 2023
Explicit, strict and automatic project version management based on semantic versioning.

Explicit, strict and automatic project version management based on semantic versioning. Getting started End users Semantic versioning Project version

Dmytro Striletskyi 6 Jan 25, 2022
Fully reproducible, Dockerized, step-by-step, tutorial on how to mock a "real-time" Kafka data stream from a timestamped csv file. Detailed blog post published on Towards Data Science.

time-series-kafka-demo Mock stream producer for time series data using Kafka. I walk through this tutorial and others here on GitHub and on my Medium

Maria Patterson 26 Nov 15, 2022
MkDocs Plugin allowing your visitors to *File > Print > Save as PDF* the entire site.

mkdocs-print-site-plugin MkDocs plugin that adds a page to your site combining all pages, allowing your site visitors to File Print Save as PDF th

Tim Vink 67 Jan 04, 2023
DocumentPy is a Python application that runs in a command-line interface environment, made for creating HTML documents.

DocumentPy DocumentPy is a Python application that runs in a command-line interface environment, made for creating HTML documents. Usage DocumentPy, a

Lotus 0 Jul 15, 2021
Dev Centric Tools for Mkdocs Based Documentation

docutools MkDocs Documentation Tools For Developers This repo is providing a set of plugins for mkdocs material compatible documentation. It is meant

Axiros GmbH 14 Sep 10, 2022