Jump to content

Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)


Design8Studio

Recommended Posts

Posted (edited) · Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)

I am on MacOS 10.14.6, and I'm using Cura 4.11.0.

 

I have an Ender 3 v2, which I modified using an Ender Extender 400 XL kit.

 

I created a custom machine definition json file for the modified version of this printer. It worked perfectly.

 

Originally I was using binder clips with plate glass for my print bed, so my initial machine definition file had machine_disallowed_areas values designated.

 

However, I recently upgraded the print bed to a PEI coated steel flex sheet, with magnetic base. Accordingly, I edited the machine definition file and removed the machine_disallowed_areas values in between the brackets, yet leaving the brackets, as illustrated in this CHEP video: 

 

 

Now whenever I restart Cura, the restricted "non printable" gray areas are gone, as expected. See first screen shot.

 

1512883041_Screen-Shot-2022-12-09-at-1_35.11-AM---Cura-caching-issue-(BEFORE-importing-model-no-machine_disallowed_areas).thumb.jpg.85e013ef23954aae66a3fa8bee00f086.jpg

 

However, the moment I import a model for slicing, the old, deleted restricted "non printable" gray areas reappear, and Cura won't slice any model touching the restricted areas that should not even be shown. See second screen shot.

 

1582500105_Screen-Shot-2022-12-09-at-1_35.46-AM---Cura-caching-issue-(AFTER-importing-model-OLD-machine_disallowed_areas-SHOWS).thumb.jpg.b8d31687dbb38e4a5fdb5abb0059b781.jpg

 

It's as though Cura suddenly switches to a "cached" version of the old machine definition json file stored somewhere (who knows).

 

Can anyone help me know how to get Cura to actually respect the revised definition json file properly?  Thanks for any tips!

 

Edited by Design8Studio
corrected typos
  • Link to post
    Share on other sites

    Posted (edited) · Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)

    OK, so on the chance that Cura was viewing the custom machine definition as inheriting values from the base Ender 3 definition, as though it was a parent and the custom was a child that derived attributes from it, I deleted the machine_disallowed_areas values from the base Ender 3 definition, and now the problem seems to have gone away. 

     

    However, if I had another Ender machine that had binder clips and glass, I'd need (and expect) the base definition to be able to have machine_disallowed_areas values without them cascading down to the custom machine's attributes. 

     

    So... I tried something else. I put the machine_disallowed_areas values back into the base Ender 3 definition, and I also added them into the custom definition, but changed all the values in the arrays to zeroes ("[0, 0]"). That also did not get a workable custom definition that had no non-printable areas.

    Edited by Design8Studio
  • Link to post
    Share on other sites

    Posted · Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)

    Hey @Design8Studio,

     

    Your buildvolume can also be limited by settings like

    • Build plate adhesion
    • Travel avoid distance
    • Z-hop
    • Support horizontal expansion
    • Infill wipe distance
    • Prime blob

    That might be why you only see the disallowed area show up when a model is loaded. 

    You can read more about them here:

    https://support.makerbot.com/s/article/1667337565436

    I'm super curious 🤔, what are you trying to print that requires the complete volume of the printer? 

  • Link to post
    Share on other sites

    Posted · Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)

    @MariMakes

     

    Thanks, however, as you can see from my documented post, the issue clearly is the machine_disallowed_areas values being improperly cascaded from an Ender 3 machine profile into my custom machine profile, as illustrated and proved by the fact the problem goes away when I remove the machine_disallowed_areas values from the Ender 3 profile as well.

     

    Whenever anyone spends time and money customizing their printer for a larger build volume, they certainly are not being unreasonable to expect to be able to use the full volume they've worked and paid for. I've already had need of the full bed, and used it, for a sign. My full bed allows just over 16" x 16" in x and y.  I have a small maker shop with 8 printers, 2 laser cutters, 2 CNC router cutters and 1 CNC plasma cutter. 

  • Link to post
    Share on other sites

    Posted · Cura 4.11.0 mistakenly "remembering" deleted machine_disallowed_areas upon import of a model (as though accessing cached machine definition somewhere)

    First: We _really_ don't recommend the method CHEP is advocating here. Especially since we cache the definitions these days in an on disk database for faster loading. Further more, exchanging files between users may be compromised, since we expect the same definitions to be the same between the same versions of Cura. (... and we send some profile values along if a project is saved as a .3mf, so if you've opened an older file from before the edit via that method, I'm not sure what expected behaviour is then.)

     

    Instead, if you (aren't developing a new profile/for Cura and) want to change those definitions for a specific machine, instead of editing the existing machine (def.json), copy it to `<appdata>/cura/<version>/definitions/` (you may need to make the definitions folder and don't confuse it with definition_changes) -- Within the copied (and suitably renamed) file, rename the printer-defintion itself (change the value of the "name" key).

     

    So in essence, make a new machine. After all, this is the one of the purposes of this mechanism, to not open up files on printers that can't handle it (or have a different way of handling things).
     

    Don't forget to not just disable adhesion (in the recommended settings), but _also_ set it to 'None' (in the custom settings view). Otherwise skirt will still be printed, and will be added to the disallowed areas (which is a more general thing than the machine ones of course) -- The complexity of this last bit (how adhesion interacts with disallowed areas) will fortunately be largely solved with the upcoming 5.3.

  • 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 the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Thanks
          • Like
        • 3 replies
      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 26 replies
    ×
    ×
    • Create New...