Jump to content

BoostedGcode

Member
  • Posts

    15
  • Joined

  • Last visited

Posts posted by BoostedGcode

  1. 2 hours ago, eldrick said:

    You can already print thicker infill in Slic3r or Kisslicer.

    Have you done any testing with Slic3r or Kisslicer in terms of how much time is saved?

    I looked at the gcode Slic3r produced (settings are not exactly same as Cura - I'll try to see if I can do a better job) but it seems Slic3r does not put the extra dots Uhlhorn was talking about thus "combine infill" printing time is greatly reduced compared to Cura's "Infill Layer Thickness" feature...

  2. I assume the idea is that you print outer perimeters at 0.1mm but print infill with 0.3mm only every 3rd layer.

    If so this had already been implemented in cura; see "Infill Layer Thickness" option.

    Since I don't know what your proposal is about below linked thread might be similar:

    (note that #ctbeke explained that for good structural integrity walls need to be kept at same layer height - and I assume that's the reason why only infill thickness is configurabel but not inner walls.)

    But the devil in the details so I'd definitely be interested in your idea - I myself do experiment with developing a post processing script that more-or-less does what I described above.

     

     

  3. 38 minutes ago, Tone said:

    I see that setting but I don't believe it lets you print fewer infill layers, it just lets you print thicker ones. 

    I want to double the thickness AND half the number of layers.

    If you slice it with 0.1mm layer height and set the infill thickness to 0.2mm look at the layer view and compare two consecutive layers. One will not have infill the other will have infill (with extrusion roughly doubled to produce twice as thick infill in Z direction)

    image.thumb.png.cd98da654c3669fb879d5a4c70060a17.pngimage.thumb.png.147439393c6fdca3aaba72f474659b3b.png

    image.png.55bc12255290f7b5a8cc9a35092aad5b.png

    • Like 1
  4. Hi ctbeke,

     

    I absolutely agree with what you wrote. I'm doing this because there are a number of cases when "perfect" structural integrity is not a must. (E.g. table top gaming figurines, decoration, rapid prototyping).

    I was able to reduce print speed significantly with my experimental post processing. E.g. benchy sliced at 0.1mm but everything except outer wall and skin having 0.3mm layer height would result close to 2.5-3x speedup.

    Using a 0.4 nozzle I even tried to do 0.4 with a bit of over-extrusion that is also promising.

    Again this is not for functional part but in the creative process you end up printing the same thing with little changes here and there and being able to do that 3 more times on one printer in the same amount of time is worth the effort for me.

     

    In theory it is possible to completely redo the infill just based on outer walls and shells in post processing especially that Cura labels structural block per layer in gcode which is really, really nice! (I very much appreciate the clean gcode Cura produces!)

    The idea is that melted plastic does flow a bit and if you force it into gaps it would fill the space even under tiny overhangs. (and again I know this would not give the same level of structural integrity as printing everything at each layer...) 

  5. I experimented with cura's infill layer thickness previously and found that it did not affect inner walls which I wanted to change also (meaning only the outer perimeters would be printed for each layer).

    That's why I started to write my own post processing script...

  6. I'm working on a post processing script to achieve exactly what you described in the first part of your post. I'm still iterating over the implementation and so far managed to produce ok-ish prints at half the printing time, but have couple issues I need to work out. If you're interested let me know...

    • Like 1
  7. Very helpful information! Below code did the trick for me:

    from cura.Settings.ExtruderManager import ExtruderManager

    retraction_distance_from_config = ExtruderManager.getInstance().getActiveExtruderStacks()[0].getProperty("retraction_amount", "value")

     

    I just hard coded to use the first extruder - works in my case.

     

    Regarding development cycle I'm doing exactly what you are right now.

    Briefly looked at how hard it would be to modify PostProcessingPlugin.py to load the scripts dynamically upon adding them and unload it if you remove the script but seemed more than just a change here and there... 

    OTOH what I did was for the actually post processing algorithm development is to extract the actual processing out into a separate .py file that I could run independently from Cura and feed the input from a file.

    But I know this is not that useful when you're fiddling with how you can get the right settings carried over into your script...

  8. This is something I wanted to add to my PostProcessingPlugin Script as well so I looked at it a bit more.

     

    In my case I wanted to retrieve retraction_amount and while I'm getting a value it is not returning the value for the latest slicing but what is set for the machine profile.

     

    Note: I've tweaked the parameters so now I have a custom tab.

    So I guess there are multiple settings for the same parameter and you have to grab the correct container stack to get what really is in use.

  9. from UM.Application import Application

    (I believe "machine_start_gcode" is the parameter you're looking for which I looked up by looking at Cura/resources/definitions/printrbot_simple.def.json)

    then anywhere in your script you can get a property by calling:Application.getInstance().getGlobalContainerStack().getProperty("machine_start_gcode", "value")

×
×
  • Create New...