Jump to content
Ultimaker Community of 3D Printing Experts
Tmirante

extension working in 3.2 not working in 3.3

Recommended Posts

yes i have the answer but i don't understand reason . what is changed in the object ??????

 

2018-07-11 18:14:48,582 - INFO - [MainThread] cura.Machines.MachineErrorChecker._setResult [181]: Error check finished, result = False, time = 2.9s
2018-07-11 18:14:49,082 - DEBUG - [MainThread] CuraEngineBackend.CuraEngineBackend.slice [210]: Starting to slice...
2018-07-11 18:14:49,082 - DEBUG - [MainThread] CuraEngineBackend.CuraEngineBackend.slice [227]: Going to slice build plate [0]!
2018-07-11 18:14:49,082 - DEBUG - [MainThread] CuraEngineBackend.CuraEngineBackend.slice [235]: Build plate 0 has no objects to be sliced, skipping
2018-07-11 18:14:52,540 - DEBUG - [Thread-7] USBPrinting.AutoDetectBaudJob.run [37]: Checking COM11 if baud rate 250000 works
2018-07-11 18:14:54,062 - WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [277]: file:///C:/Program Files/Ultimaker Cura 3.3/resources/qml/SidebarHeader.qml:20: TypeError: Cannot read property 'length' of undefined
2018-07-11 18:14:54,417 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [66]: An uncaught error has occurred!
2018-07-11 18:14:54,419 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: Traceback (most recent call last):
2018-07-11 18:14:54,420 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "X:\3.3\build\inst\lib\python3.5\site-packages\UM\Qt\Bindings\ExtensionModel.py", line 51, in subMenuTriggered
2018-07-11 18:14:54,421 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "X:\3.3\build\inst\lib\python3.5\site-packages\UM\Extension.py", line 38, in activateMenuItem
2018-07-11 18:14:54,422 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "C:\Program Files\Ultimaker Cura 3.3\plugins\BedlevelPlugin\BedLevelMachineAction.py", line 133, in startBedLeveling

2018-07-11 18:14:54,423 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     printer_output_devices[0].moveHead(0, 0, 10)
2018-07-11 18:14:54,425 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: AttributeError: 'USBPrinterOutputDevice' object has no attribute 'moveHead'
2018-07-11 18:15:07,514 - DEBUG - [MainThread] UM.PluginRegistry._savePluginData [122]: Saving plugin data to file 'C:\Users\tommy\AppData\Roaming\cura\3.3\plugins.json'
2018-07-11 18:15:07,514 - INFO - [MainThread] UM.PluginRegistry.loadPlugin [404]: Loaded plugin FileLogger

Share this post


Link to post
Share on other sites

A lot changed between Cura 3.2 and Cura 3.3:

https://github.com/Ultimaker/Cura/compare/3.2...3.3#diff-1ffa6abbfcca423f5309011d0cce73ee

Specifically for your plugin, moveHead (and other jogging functionality) was moved from the outputdevice to a "controller".

 

Best you can do is look again at the Ultimaker BedLevelMachineAction and see how it has changed.

https://github.com/Ultimaker/Cura/blob/3.3/plugins/UltimakerMachineActions/BedLevelMachineAction.py

So for example, instead of calling moveHead on printer_output_devices[0] you have to call it on printer_output_devices[0].activePrinter. There may be other changes required.

 

Making plugins requires ongoing work to keep up with changes in Cura.

Share this post


Link to post
Share on other sites

Updated version ( there was an error in last i sent) i did changings according to new methods of printers changing but when i do testing extension not appears in menu ,If i load old version i modified instead it appers , hard job!!!!  attached new  NOT visible on Menu version. only the calling to printers and commands  was changed .  i continue analisys . on log i find this error 

 

2018-07-16 12:22:11,177 - ERROR - [MainThread] UM.Qt.Bindings.PluginsModel._update [63]: BedlevelPlugin is missing a plugin metadata entry

????????? if i load the old version with the same name it appear

 

i think the error is here ibut i don't know why 

 

def _getPrinterOutputDevices(self) -> List[PrinterOutputDevice]:
    return [printer_output_device for printer_output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices() if isinstance(printer_output_device, PrinterOutputDevice)]

this list is not seen internally to the class i think for the" ->" sign

 
 

 

BedlevelPlugin (2).zip

Edited by Tmirante

Share this post


Link to post
Share on other sites
On 7/16/2018 at 12:16 PM, Tmirante said:

Updated version ( there was an error in last i sent) i did changings according to new methods of printers changing but when i do testing extension not appears in menu ,If i load old version i modified instead it appers , hard job!!!!  attached new  NOT visible on Menu version. only the calling to printers and commands  was changed .  i continue analisys . on log i find this error 

 

2018-07-16 12:22:11,177 - ERROR - [MainThread] UM.Qt.Bindings.PluginsModel._update [63]: BedlevelPlugin is missing a plugin metadata entry

????????? if i load the old version with the same name it appear

 

i think the error is here ibut i don't know why 

 


def _getPrinterOutputDevices(self) -> List[PrinterOutputDevice]:
    return [printer_output_device for printer_output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices() if isinstance(printer_output_device, PrinterOutputDevice)]

this list is not seen internally to the class i think for the" ->" sign

 
 

 

BedlevelPlugin (2).zip

 

Share this post


Link to post
Share on other sites

ok boys let me say that installation of cura actually is a BLOB. I installed my plugin on 3.4 and it seems to work . I have no answers, i removed 3.3 version. i see that there is a problemi in installation about missing plugin metadata entry and to solve is required reinstall erasing appdata. i don't know if it is real may be somebody knows  

Edited by Tmirante

Share this post


Link to post
Share on other sites
19 hours ago, Tmirante said:

ok boys let me say that installation of cura actually is a BLOB. I installed my plugin on 3.4 and it seems to work . I have no answers, i removed 3.3 version. i see that there is a problemi in installation about missing plugin metadata entry and to solve is required reinstall erasing appdata. i don't know if it is real may be somebody knows  

any hint appreciated

Share this post


Link to post
Share on other sites

ok new test made as ahoeben said to do but at the row in the plugin when i add  -> List[PrinterOutputDevice]: the plugin stop to appear in menu as there is an error , if a get out -> List[PrinterOutputDevice]: it is right may you help me to understand what -> List[PrinterOutputDevice]: means and why there wasn't in previous versions?????

 

def _getPrinterOutputDevices(self) -> List[PrinterOutputDevice]:
    return [printer_output_device for printer_output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices() if isinstance(printer_output_device, PrinterOutputDevice)]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!