Jump to content
Ultimaker Community of 3D Printing Experts
Sputnick

Plugin Development, String issue

Recommended Posts

Hi there,

currently i'm trying to port the SwapAtZ Plugin to 2.X. Therefore i need an String input filed. So i created, as mentioned in the Doku(Cura Settings Data Model) and the Example Script, an Json Object(a_swap_file) with "type=str"

def getSettingDataString(self):
       return """{
           "name":"Swap at Z """ + self.version + """",
           "key": "SwapAtZ",
           "metadata": {},
           "version": 2,
           "settings":
           {
              "a_swap_file":
               {
                   "label": "Swap File",
                   "description": "Your second G-Code File",
                   "type": "str",
                   "default_value": ""
               },
               "a_swap_start":
               {
                   "label": "Swap start",
                   "description": "At what layer should the swap occur",
                   "unit": "layer",
                   "type": "float",
                   "default_value": 1
               },
               "b1_Tweak_swap_end":
               {
                   "label": "Swap end",
                   "description": "Select if swap should end(optional)",
                   "type": "bool",
                   "default_value": false
               },
               "b2_swap_end":
               {
                   "label": "Swap end(optional)",
                   "description": "At what layer should the swap end (optional)",
                   "unit": "layer",
                   "type": "float",
                   "default_value": 0,
                   "enabled": "b1_Tweak_swap_end"
               }
           }
       }"""

But the Only input this filed(a_swap_file) takes is numeric. Or ain't it possible to enter a string value in the post processing section?

The other question is do i have access to the actual printing settings and is it possible to call the slicing engine on the fly? Do i have access to a slicing engine object at this point? The Goal is to avoid uising a pre generated gcode file and slice the object with different settings on the fly and merge the needed layers together.

Is there a Doku?

Greetings Sputnick

Share this post


Link to post
Share on other sites

There is currently no way to enter a string. The "textfield" widget is hardcoded to validate numbers.

A "PostProcessing script" (what you call a plugin) is called when writing gcode files, after all slicing is done. It does not call the slicing engine by itself.

The files you see in the "plugins" folder are much more than postprocessing scripts. Almost everything in Cura is implemented as a "plugin", from the tools (move, scale, mirror, rotate) to the connection with USB and the UM3, from the model display and layer view to the connection with CuraEngine. The PostProcessing of gcode itself is also handled by a plugin.

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

  • Our picks

    • Introducing Ultimaker Cura 3.6 | Beta
      Ultimaker Cura 3.6 | Beta is available. It comes with new features, bug fixes, and UX improvements. We would really like to have your feedback on it to make our stable release as good as it can be. As always, you can download the beta for free from our website, for Windows, MacOS, and Linux.
        • Like
      • 95 replies
    • Print Core CC | Red for Ruby
      Q: For some users, abrasive materials may be a new subject matter. Can you explain what it is that makes a material abrasive when you are not sure which print core to use?
      A: Materials which are hard in a solid piece (like metals, ceramics and carbon fibers) will generally also wear down the nozzle. In general one should assume...
        • Like
      • 30 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

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!