Jump to content
UltiMaker Community of 3D Printing Experts

Documentation to develop plugin?


simmonsstummer

Recommended Posts

Posted · Documentation to develop plugin?

As far as I know there is already a plugin doing this: The PauseAtZ... it's included in Cura right from the start. But to be honest, I never used it so far. If you want to pause on the fly, you anyway have to use the Ulticontroller. All plugins are 'only' post-processors up to now...

If you want to write your own plugins best thing to do is probably to analyse an existing plugin assuming you are a bit familiar with Python (otherwise you get familiar while analysing the plugin). For the header, there is some information http://wiki.ultimaker.com/How_to_write_a_Cura_plugin.

 

  • Link to post
    Share on other sites

    Posted · Documentation to develop plugin?

    I've seen the plugin you are talking about but i think is for a pre defined pause at some z. I would like to pause printing in any moment i want. In another topic seems that is possible but sincerely i do not have tried yet on the Um2.

    Anyhow ,i will take a look to the page you show me. Thank you.

     

  • Link to post
    Share on other sites

    Posted · Documentation to develop plugin?

    The plugin architecture in Cura is restricted to reading and modifying gcode files after they were created. It has to do that by reading the code in as a text file, parsing it, and then writing out the original and/or modified gcodes.

    If you want to pause on demand during a print, then you need a firmware modification that will provide that - such as allowing you to select a pause option on the Ulticontroller. Or, are you wanting to stream gcode over USB and then pause from Cura's UI during the print (although that's not how you're supposed to print on the UM2)?

    Alternatively, if you are saying that you want to be able to pause at a pre-defined point, but it's not a layer change... then I'm not sure how you will define that in your interface? The reason that layer changes are used as the trigger points in most plugins is because its an easy thing to spot happening as you read through the gcode file to process it with your plugin.

    A simpler approach might jsut be to manually edit the gcode file and insert whatever special pause you want, because that may be a lot easier than finding a way to define that point in a generic way that would allow the plugin to spot it as it parses the code. That said, I'm not sure that the UM2 firmware even supports the pause-and-wait-for-user gcode yet.

     

  • Link to post
    Share on other sites

    Posted · Documentation to develop plugin?

    That's not really a plugin as such - just a change to the code. Marlin - the firmware - doesn't have a concept of 'plugins'. And to be honest, yes, it is a surprisingly difficult thing to add to the firmware. I mean conceptually it is simple, but the problem is that there are four queues of data being read by the firmware that need to be kept properly in sync. 1) Text commands coming over USB, 2) Text on the SD Card, 3) Commands read from either of those places waiting to be processed and 4) the list of movements that have already been planned out, and are waiting for the head to make them. Keeping all of those properly in sync when you could potentially jump into the middle of them all and say ' hold on, hold on ... go do this instead, right now... but make sure you can carry on again flawlessly when I tell you to'... well, it's tricky. Not impossible. Just tricky. These were exactly the sort of issues that caused the problems with aborting and/or ending prints gracefully in recent firmwares.

    I think that the way Marlin currently architects its queues probably needs to change, in order to make this easier to do. It's a good idea, and a much needed feature, but not easy to do in a robust way, with the current way things work.

     

  • Link to post
    Share on other sites

    Posted · Documentation to develop plugin?

    Hello, I see this discussion happened in 2014. Are the plugins still only post-process? I am working on a specialized printing software that will run on a 6 axis robotic arm and need to get directly to the surface normals (to help guide the robotic arm orientation). I also need to have access to the slicing plane orientation so I can print slices at multiple orientations. If the capabilities to make a plugin that can do this exist, can someone please guide me to the internal data-structures and documentation that can get me on the right path? Thank you!

  • Link to post
    Share on other sites

    Posted · Documentation to develop plugin?

    Nope, plugins are now full Python code plugins. More details: https://github.com/Ultimaker/Cura/wiki/Plugin-Directory.

    • Like 1
    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
    • Our picks

      • UltiMaker Cura 5.3 stable released
        In this stable release, Cura 5.3 achieves yet another huge leap forward in 3D printing thanks to material interlocking! As well as introducing an expanded recommended print settings menu and lots of print quality improvements. Not to mention, a whole bunch of new printer profiles for non-UltiMaker printers!
          • Thanks
          • Like
        • 31 replies
      • Here it is. The new UltiMaker S7
        The UltiMaker S7 is built on the success of the UltiMaker S5 and its design decisions were heavily based on feedback from customers.
         
         
        So what’s new?
        The obvious change is the S7’s height. It now includes an integrated Air Manager. This filters the exhaust air of every print and also improves build temperature stability. To further enclose the build chamber the S7 only has one magnetically latched door.
         
        The build stack has also been completely redesigned. A PEI-coated flexible steel build plate makes a big difference to productivity. Not only do you not need tools to pop a printed part off. But we also don’t recommend using or adhesion structures for UltiMaker materials (except PC, because...it’s PC). Along with that, 4 pins and 25 magnets make it easy to replace the flex plate perfectly – even with one hand.
         
        The re-engineered print head has an inductive sensor which reduces noise when probing the build plate. This effectively makes it much harder to not achieve a perfect first layer, improving overall print success. We also reversed the front fan direction (fewer plastic hairs, less maintenance), made the print core door magnets stronger, and add a sensor that helps avoid flooding.
         

         
        The UltiMaker S7 also includes quality of life improvements:
        Reliable bed tilt compensation (no more thumbscrews) 2.4 and 5 GHz Wi-Fi A 1080p camera (mounted higher for a better view) Compatibility with 280+ Marketplace materials Compatibility with S5 project files (no reslicing needed) And a whole lot more  
        Curious to see the S7 in action?
        We’re hosting a free tech demo on February 7.
        It will be live and you can ask any questions to our CTO, Miguel Calvo.
        Register here for the Webinar
          • Like
        • 18 replies
      • UltiMaker Cura Alpha 🎄 Tree Support Spotlight 🎄
        Are you a fan of tree support, but dislike the removal process and the amount of filament it uses? Then we would like to invite you to try this special release of UltiMaker Cura. Brought to you by our special community contributor @thomasrahm
         
        We generated a special version of Cura 5.2 called 5.3.0 Alpha + Xmas. The only changes we introduced compared to UltiMaker Cura 5.2.1 are those which are needed for the new supports. So keep in mind, this is not a sneak peek for Cura 5.3 (there are some really cool new features coming up) but a spotlight release highlighting this new version of tree supports.  
          • Like
        • 25 replies
    ×
    ×
    • Create New...