Jump to content
Tmirante

extension working in 3.2 not working in 3.3

Recommended Posts

Posted (edited) · extension working in 3.2 not working in 3.3

Good morning 

my extension perfectly working in 3.2 on Prusa I3 mendel printer and developed in Python as required with all files. perfectly working in 3.2 crashes at first command in 3.3 and 3.4

BedlevelPlugin.zip

Edited by Tmirante

Share this post


Link to post
Share on other sites
Posted · extension working in 3.2 not working in 3.3

Check the logs. They should tell you what went wrong.

 

Cura changes from version to version. That means you can't always use the same code in plugins between versions. Such is life.

Share this post


Link to post
Share on other sites
Posted · extension working in 3.2 not working in 3.3

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
Posted · extension working in 3.2 not working in 3.3

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
Posted · extension working in 3.2 not working in 3.3

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 

BedlevelPlugin.zip

Share this post


Link to post
Share on other sites
Posted (edited) · extension working in 3.2 not working in 3.3

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
Posted · extension working in 3.2 not working in 3.3
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
Posted · extension working in 3.2 not working in 3.3

what is the meaning of  

def _getPrinterOutputDevices(self) -> List[PrinterOutputDevice]: and why it seems listed out of the class also if tabs are right ?

Share this post


Link to post
Share on other sites
Posted · extension working in 3.2 not working in 3.3

what is the meaning of  

Plugin is missing a plugin metadata entry

Share this post


Link to post
Share on other sites
Posted (edited) · extension working in 3.2 not working in 3.3

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
Posted · extension working in 3.2 not working in 3.3
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
Posted · extension working in 3.2 not working in 3.3

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

×
×
  • Create New...

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!