Jump to content

Is there any way to get cura to slice adjacent object boundaries each as "infill" rather than "skin?"


Fnor

Recommended Posts

Posted · Is there any way to get cura to slice adjacent object boundaries each as "infill" rather than "skin?"

I've started working on the pen colorizer post-processing script to make the script general-purpose by cleaning up some mishandled use-cases. The biggest issue I've encountered is that, in order to have a top and bottom boundary properly colored, the script does not exclude "skin" blocks in the gcode when it makes duplicate paint layers.

 

This runs into problems when your print contains multiple objects with horizontal abutments, as cura sees the boundaries between the two objects and generates x number of "skin" areas on each side of the boundary to make it look pretty, even if some (or all) of those areas are completely internal to the final printed product. This is not an issue when you are using a multiple extruder setup because the material will adhere normally. However, using the colorizer script this will result in 2x painted layers on top of each other, with extremely low adhesion and an unstable final print. I've attached a screenshot to illustrate the problem.

 

I have an extremely rough proof of concept to handle this in post-processing by looking ahead to figure out if any part of skin is "internal" (abuts another skin) and then doing a geometric intersect to exclude the intersect from the lower level's skin. The problem with this solution is that it requires rewriting the entire layer's gcode on the fly to account for the new gap in the skin. It also has to make assumptions about the fill pattern because that information isn't retained by the gcode file. In other words, this is possible but a terrible solution.

 

I was looking through the docs and I noticed that cura has this exact function but for vertical boundaries (skin removal width), which converts small skin blocks into infill. Since the function is designed in terms of width, this doesn't help with my problem, but it does suggest there might be a slicer-level solution to the issue. Is there a "skin removal height" or similar option that I'm not seeing? Is this something that is even feasible for the slicer? Is there another way to skin this cat that I've missed?

Screenshot from 2023-02-07 11-05-05.png

  • Heart 1
Link to post
Share on other sites

  • 2 weeks later...
Posted · Is there any way to get cura to slice adjacent object boundaries each as "infill" rather than "skin?"

Hey @Fnor,

 

Welcome to the Ultimaker Community 🎉
This. Is. Amazing. 🤩

 

Happy Little Girl GIF by Demic

 

This is very much outside of my field of expertise. The only thing that comes to mind is Skin Edge Support Layers, but that's not really what you need. If you want an easier way to search the available settings, this is usually the file I use

I'll bring it up to the team to see what they can do to help you. Fingers crossed 🤞 


 

  • Link to post
    Share on other sites

    Posted · Is there any way to get cura to slice adjacent object boundaries each as "infill" rather than "skin?"

    Hey @Fnor,

     

    I discussed your issue and we have two more solution directions for you. 

     

    Have you considered working with:
    A. Mesh modifiers? You can read more about them here: https://support.makerbot.com/s/article/1667417981430
    B. Ironing? I believe ironing only applies to the topmost layer and I believe it can be done with a different extruder. 
    C. The Cura fork from SmartAvionics has a number of slightly different settings there might be one that you are looking for https://github.com/smartavionics/Cura

     

    Let us know if there is anything else we can help with. 

  • 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.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
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...