Jump to content
Ultimaker Community of 3D Printing Experts

extension working in 3.2 not working in 3.3


Recommended Posts

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.

  • 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

  • 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.

  • 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

  • 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
  • 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

     

  • 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 ?
  • 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
  • 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
  • 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

  • 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)]
    
  • 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...