metalman3797/Cura-Dremel-Printer-Plugin

Add your plugin to the ToolBox

Closed this issue · 9 comments

Hi,

If you want us to add your plugin to the Cura ToolBox (we would like to :) ):

https://github.com/Ultimaker/Cura/wiki/Plugin-Directory#checklist

Hi Mark

I'd love to get this plugin into Cura - I might need a bit of help from you guys, as it seems that the 3.3 update changed the way quality definitions work, and I can't seem to get that working anymore. Additionally something else has changed in the 3.4 update so that the plugin no longer works (Cura crashes with the plugin) and I haven't yet had a chance to dig into what's causing the issue - any insight that you or the Cura team has would be appreciated

You can find more info on how to create a 3.4 compatible package here: https://github.com/Ultimaker/Cura/wiki/Creating-Packages

  1. You need to create a new .curapackage the structure (e.g. including a package.json file).
  2. function Preferences.getInstance at 0x105703400> is deprecated (since 3.3): Please use the getPreferences function in Application

Hi Mark
Thanks for the info. I appreciate your willingness to work with me 😀

I've reached down the crash to something related to the quality profiles. If I remove the line

has_machine_quality": true,

From the printer definition json file then the plug-in no longer crashes cura. Is there any documentation on the quality definitions?

You are welcome, we really like that people are creating plugins that help other users with their 3D printing challenges! We are currently working on some documentation to explain this better, I'll notify you when that is done.

Awesome - thanks again!

For completeness I'll include the crash report here of what happens when I do include the has_machine_quality": true, line in my printer json (edit: replacing Preferences.getInstance with Application.getpreferences() doesn't solve the issue. I'm pretty sure there's something that I'm missing in the quality profiles, or something that's interconnected with them.)

The quality profiles that I'm using are here: https://github.com/timmehtimmeh/Cura-Dremel-3D20-Plugin/tree/master/resources/quality/dremel_3d20

Below are two logfiles that might help:
stderr.log
cura.log

And below are the contents of Cura's crash reporting tool:

image

Error Traceback:

Traceback (most recent call last):
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CuraApplication.py", line 898, in getQualityProfilesDropDownMenuModel
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\Machines\Models\QualityProfilesDropDownMenuModel.py", line 47, in __init__
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\Machines\Models\QualityProfilesDropDownMenuModel.py", line 70, in _update
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\Machines\Models\QualityProfilesDropDownMenuModel.py", line 97, in _fetchLayerHeight
AttributeError: 'NoneType' object has no attribute 'getContainer'

Logs:

Thread 0x00000500 (most recent call first):
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\Backend\Backend.py", line 159 in _storeStderrToLogThread
  File "threading.py", line 862 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00003cf4 (most recent call first):
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\Backend\Backend.py", line 151 in _storeOutputToLogThread
  File "threading.py", line 862 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00001970 (most recent call first):
  File "C:\Program Files\Ultimaker Cura 3.4\plugins\USBPrinting\USBPrinterOutputDeviceManager.py", line 82 in _updateThread
  File "threading.py", line 862 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00003fac (most recent call first):
  File "threading.py", line 293 in wait
  File "threading.py", line 424 in acquire
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 87 in _nextJob
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 117 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x0000468c (most recent call first):
  File "threading.py", line 293 in wait
  File "threading.py", line 424 in acquire
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 87 in _nextJob
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 117 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00002184 (most recent call first):
  File "threading.py", line 293 in wait
  File "threading.py", line 424 in acquire
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 87 in _nextJob
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 117 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00001924 (most recent call first):
  File "threading.py", line 293 in wait
  File "threading.py", line 424 in acquire
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 87 in _nextJob
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\JobQueue.py", line 117 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00002658 (most recent call first):
  File "threading.py", line 297 in wait
  File "zeroconf.py", line 1569 in wait
  File "zeroconf.py", line 1153 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00000e9c (most recent call first):
  File "threading.py", line 297 in wait
  File "zeroconf.py", line 1569 in wait
  File "zeroconf.py", line 1017 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00005f88 (most recent call first):
  File "zeroconf.py", line 946 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x00001478 (most recent call first):
  File "threading.py", line 297 in wait
  File "threading.py", line 549 in wait
  File "C:\Program Files\Ultimaker Cura 3.4\plugins\UM3NetworkPrinting\UM3OutputDevicePlugin.py", line 287 in _handleOnServiceChangedRequests
  File "threading.py", line 862 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Thread 0x0000175c (most recent call first):
  File "C:\Program Files\Ultimaker Cura 3.4\plugins\RemovableDriveOutputDevice\RemovableDrivePlugin.py", line 61 in _updateThread
  File "threading.py", line 862 in run
  File "threading.py", line 914 in _bootstrap_inner
  File "threading.py", line 882 in _bootstrap

Current thread 0x0000354c (most recent call first):
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CrashHandler.py", line 310 in _logInfoWidget
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CrashHandler.py", line 160 in _createDialog
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CrashHandler.py", line 81 in __init__
  File "X:\3.4\build\inst\bin\cura_app.py", line 105 in exceptHook
  File "X:\3.4\build\inst\lib\python3.5\site-packages\UM\Qt\QtApplication.py", line 270 in initializeEngine
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CuraApplication.py", line 795 in runWithGUI
  File "X:\3.4\build\inst\lib\python3.5\site-packages\cura\CuraApplication.py", line 719 in run
  File "X:\3.4\build\inst\bin\cura_app.py", line 145 in <module>
  File "Console.py", line 24 in <module>
  File "<frozen importlib._bootstrap>", line 634 in _load_backward_compatible
  File "<frozen importlib._bootstrap>", line 664 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 958 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 969 in _find_and_load
  File "__startup__.py", line 12 in <module>
  File "<frozen importlib._bootstrap>", line 634 in _load_backward_compatible
  File "<frozen importlib._bootstrap>", line 664 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 958 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 969 in _find_and_load

Hi @timmehtimmeh , we have created wiki page explaining those machine/extruder definition files. You can find the link here:
https://github.com/Ultimaker/Cura/wiki/Definition-Files-Explained

@LipuFei - thank you so much! That page is super helpful =) I've been scrounging through code and other example files in your repo trying to understand the various options. I sincerely appreciate you taking the time to document one of the more complex examples =)

Cheers!

Hi @Appesteijn - Thanks to you and the rest of the engineering team at Ultimaker I've finally gotten the plugin in good enough shape for me to be happy to press the "send" button on the email to plugins@ultimaker.com for inclusion in your plugin repository. Many thanks to you, @LipuFei and @Ghostkeeper for the help you've given me!

The plugin is now part of Cura's plugin browser - huge thanks to the Ultimaker team for their efforts!

image