Jump to content

Label objects for adaptive meshing and purging (KAMP)


OnCor

Recommended Posts

Posted · Label objects for adaptive meshing and purging (KAMP)

Hi all. I'm trying to use KAMP (Klipper Adaptive Meshing & Purging) on my printer. This requires "labeling objects" in the slicer to let the program know the position of each component in the G code. Most other slicers have a button that you can toggle for this. The post below on GitHub mentions that Cura always labels objects and even has a reference to its use in adaptive meshing. However, when I load a file I've sliced in Cura the program doesn't seem to recognize the position of the object and ends up running a mesh on the entire bed. KAMP does work properly when I slice in Orca Slicer, so I know it is configured correctly and that this is a slicer issue. Does anyone know what needs to be done to get Cura set up so that it will work with KAMP?

 

https://github.com/Ultimaker/Cura/issues/14243

  • Link to post
    Share on other sites

    Posted · Label objects for adaptive meshing and purging (KAMP)

    I'm not familiar with Klipper so I can't fully speak to its requirements, but Cura does label objects in gcode output by default. Is it possible it labels them in a way Klipper doesn't understand? If so it might be possible to fix it in a post-processor (though I'd need to see the Klipper documentation for it). If it's supposed to work straight out of the box in Cura but doesn't then that's an issue you should probably take to the Cura Github.

  • Link to post
    Share on other sites

    Posted · Label objects for adaptive meshing and purging (KAMP)

    The mesh names occur whenever the nozzle is going to move to a particular model. 

    MESH:Belt tensioner adapter.stl(3)
    or
    ;MESH:Belt tensioner adapter.stl(6)

    or

    ;MESH:Bellows.stl for the first instance.

     

    How does Klipper know that a model has failed and should be ignored?

  • Link to post
    Share on other sites

    Posted · Label objects for adaptive meshing and purging (KAMP)

    I'm still very new to Klipper and will have to do a little more investigating on this issue. In the config file for the printer you can enable a function called Exclude_Object which should allow you to cancel one or more items in a print in case something something goes wrong like a support breaking or the item coming loose from the build plate. That same function also apparently tells this KAMP program where to probe the build plate so that it can build a tighter mesh in the actual area you are printing in. Unfortunately I had to reset my printer back to stock and will need to reinstall KAMP again to do more testing. As long as Cura is labeling the items and giving their positions then KAMP should work. Another user on Reddit suggested I try to enable Exclude_Object first and start a multiple item print to see if it lets me cancel one. I think I will try that first and then move on to fixing the problem with KAMP not defining the print area. Thanks again for the input!

  • Link to post
    Share on other sites

    Posted · Label objects for adaptive meshing and purging (KAMP)

    "...As long as Cura is labeling the items and giving their positions..." 

    Cura names the sections of a gcode as I described.  It does not give the position of each model.  The models all get lumped together in the opening paragraph of a gcode.

    This is from a gcode file with 4 models on the build plate and each was placed in a corner of the build plate.

    ;Layer height: 0.2

    ;MINX:11.5
    ;MINY:6.5
    ;MINZ:0.2
    ;MAXX:218.5
    ;MAXY:223.5
    ;MAXZ:25

    Cura is describing the boundaries of the "entire print" on the build plate, rather than how much room is taken up by each individual model.

    A problem might be that this example is of only two of the models placed kitty-corner from each other.

    ;MINX:11.5
    ;MINY:6.5
    ;MINZ:0.2
    ;MAXX:218.5
    ;MAXY:223.5
    ;MAXZ:25

    It's the same because it's an orthogonal measurement.

  • Link to post
    Share on other sites

    Posted · Label objects for adaptive meshing and purging (KAMP)

    I wonder if the KAMP function uses the information in the G code for each labeled item to determine its position somehow? In Orca Slicer, these lines are written at the beginning of the code to define the positions of the objects:

     

    EXCLUDE_OBJECT_DEFINE NAME=Body1_id_0_copy_0 CENTER=150,150 POLYGON=[[144.5,148],[146.889,146.337],...

    EXCLUDE_OBJECT_DEFINE NAME=Body1_id_1_copy_0 CENTER=170.593,153 POLYGON=[[165.093,151],[167.482,149.337],...

    EXCLUDE_OBJECT_DEFINE NAME=Body1_id_2_copy_0 CENTER=191.361,162 POLYGON=[[185.861,160],[188.25,158.337],...

     

    There was a defect where Cura was labeling supports as MESH:NOMESH instead of MESH:NONMESH and that was causing issues with KAMP. You can see the details here. It looks like KAMP might append the G code to insert those EXCLUDE_OBJECT_DEFINE NAME lines above for Cura prints if I'm reading the replies on that GitHub page correctly.

  • 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...