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

×

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!