I´ve have read an article to change different pattern depending on amount of layers, but my question is if is possible to have different infill in the same part? For example:

  • Base: has the infill of 25 % but the same base has some tabs for screws and mount the part for this area the infill need to be 40 % or greater.
  • The walls and forms: this has the same of the whole part and can be filled at 25 % but some areas need to be filled at 15 % or less.

Probably someone has seen or reviewed another software to achieve this, or I'm fooling myself.

  • 4
    $\begingroup$ @0scar's answer is certainly valid and is not limited to Cura. Simplify3D (paid, not free) supports different processes by layer, each process with independent parameters as you describe. $\endgroup$
    – fred_dot_u
    Commented Aug 1, 2018 at 9:41
  • 1
    $\begingroup$ As a note: The problem is similar to removing internal geometry, but pretty much the other way around. $\endgroup$
    – Trish
    Commented Feb 11, 2020 at 18:14

5 Answers 5


This answer explains that you can have different infill within the same part. Firstly the implementation in Ultimaker Cura is described, secondly how you can do this in Slic3r.

Ultimaker Cura

I've used a feature in Ultimaker Cura that can be used to alter the infill density locally. What you need to do is load your model into Cura, then load other objects (models) at the size of the area/volume you want your infill differently and position those at the position you want a different infill. Alternatively, you can add support blocker cubes that can be used as well. So basically, you use other models to intersect with your primary model to create intersections that can take a different infill percentage (please note that you can alter even more options, as long as you add these to the intersecting volume). This is extremely useful for lugs and brackets where you need some extra infill (e.g. extra stiffness for compression stresses) at the fastener holes. Note that this is an advanced feature which is not easy to use, but quite handy if you master it.

I could not find the video (on second thoughts, I think it was animated GIF) posted by Team Ultimaker, so I quote a section of one of their forum topics.

A short how-to: (italic font is not in the reference, but added to reflect recent version of Cura)

  • Unselect "keep models apart" (now called: "Ensure models are kept apart") and "drop models to build plate" (now called: "Automatically drop models to the build plate") in Cura preferences
  • Import a second object (for example a simple cube)
  • Put Cura in "custom mode"
  • Select the cube, and use the button "per object settings" on the left side
  • Select "Infill Mesh" (now called: "Modify settings for infill of other models") and enable that setting
  • The cube now turns transparent gray.
  • Position the cube to overlap part of your model. It should overlap with the section that you want to change the infill for.
  • Also with "per object settings" (now called: "Per model settings") select the option "infill density"
  • Set it to the desired value. All is more or less illustrated in the screenshot below
  • The picture shows a cube on the buildplate with infill 20 %. Locally, with a rotated 2nd cube, the infill % is raised to 100 %.
  • What happens is that the volume where the cube intersects with your object is locally sliced with different infill.

Example of a cube with different infill settings

Please find below another example of a simple bracket that has extra cylindrical objects loaded to create the intersections with the bracket at the fastener holes. In the example, the infill at the fastener holes is set to 99 %.

Example of local 99 % infill at bracket fastener holes

After slicing, you will see that the infill at the intersections is adjusted accordingly.

Detail of sliced bracket showing local infill percentage

Note: I've tested this in Ultimaker Cura 3.4.1, and confirm it works. I sliced a part with the inserts for fasteners and it actually is not very difficult, it just requires a little more work. You will have to make some STL's of cylinders and position them correctly. If you make your own 3D models it will be a very easy task to add extra components while you design, positioning will be a lot more easy then (as they align with your model). An example is the following linear Z rod bracket of a Hypercube Evolution CoreXY printer, this bracket requires local reinforcements for the bolts clamping the bracket onto the aluminum extrusion profile:

enter image description here

Inserts are modeled together with the development of the bracket:

enter image description here

When combined, it looks like this:

enter image description here

Now the infill can be modified locally to 100 % to increase compression strength.

Note that this will also work if you want a different infill percentage at the first X layers, just use a large cube (larger than the model) and position it correctly. Note that Cura already has an option called "Gradual Infill Steps" to adjust the density at the top layers.


This reference describes how to do this for Slic3r in detail.

The blog describes the use of a simple volume (the green volume loaded from an STL file). After loading:

Right-clicking on the main part brought up the object settings menu. From there, clicking "Load Modifier" and selecting the previously saved model adds it to the part as a modifier.

The green "+" was selected and "Fill Density" was added to modifier list and set to 100 %.

Part with box for alternative mesh infill

enter image description here This shows that the functionality in Slic3r is very similar to the functionality in Ultimaker Cura.

  • $\begingroup$ for anyone wondering "custom" mode is just the mode/menu where you can change the various print settings using your own ideas - not a special mode. $\endgroup$
    – user391339
    Commented Mar 21, 2020 at 17:49
  • 1
    $\begingroup$ Great answer, @0scar. In case if anyone interested to watch a video on how to add Support blocker and change the infill density using Cura, here is a link: youtu.be/su_m5zV9rvA?t=123 $\endgroup$
    – Nish
    Commented Jul 14, 2020 at 21:28

I don't particularly recommend the following, but it may be easier than 0scar's answer (which I would recommend implementing if you use Cura).

Slice your object twice, once at the lower infill and once at the higher infil. Then open both gcode files in a text editor and replace all per-layer code in one file with the code from the same layers in the other file. This certainly takes some care to ensure no bugs fall in, and you'll want to know the exact layers at which to change infill. Further, this only changes density on a per-layer basis, not on an X-Y region basis.

  • 1
    $\begingroup$ This is not working if the higher infill is not along layer lines, i.e. because a screw goes in on the side. $\endgroup$
    – TomTom
    Commented Oct 17, 2020 at 15:53
  • 2
    $\begingroup$ @TomTom Which is why I explicitly said that in my last sentence :-) $\endgroup$ Commented Oct 19, 2020 at 11:56

While you definitely can do this with custom slicing settings, if the "infill" is a design constraint necessary for the part to properly function, I prefer making it a part of the design rather than leaving it as something you can mess up at slicing time. This is particularly important if you will be sharing the design for use by others or using a 3D printing service that might not give you sufficient control over the slicing parameters. Moreover, when you say you want "higher infill" in particular parts, this is often an imprecise way of conveying what you really need, which is particular infill structure - usually additional walls - not just a denser version of the infill pattern.

To use your example of points that need to accept screws (either drilled/tapped after printing, or with printed threads), just having denser infill in that part of the print won't help unless it's 100%; drilling into infill pattern will not give you something solid that a screw can thread securely into.

What I do for things like this is create internal gaps in the model, narrower than the minimum clearance needed to avoid walls bonding to each other. For example, cutting out concentric cylindrical surfaces can make a great solid region to thread a screw into. As noted by Trish in a comment, 0.05 mm seems to be a good choice of gap width that's below the clearance needed for FDM printers to avoid bonding, but large enough not to get removed by slicing tools.

If you want to ensure the model is still logically one connected component, leave some gaps in the cut, something like:

reinforced hole model in openscad

There's a lot of room for experimentation with exactly what kind of gaps work best. As Trish suggested, varying the location of bridges between layers may help. Adjusting spacing based on expected extrusion line widths may also be a good idea. One approach i've used in strengthening bolts, that might also work for threaded holes, is repeating the inner and outer thread profiles as a gap in the model. Here's an example cut to show the gap:

bolt with 60 degree part cut away to show reinforcement in head

This particular reinforcement is mitigating the fact that roofing above infill is only supported by the infill, and thereby is able to sag slightly, preventing the layers from bonding as strongly and preventing the threaded walls from bonding strongly to the head.

  • 1
    $\begingroup$ a note about the wideness of these "slots" would be good. I had results with ca. 0.05 mm working. Also, it might be better not to line up the bridges but turn each ring a little to the one before into the direction of the threads. That seems to transmit the forces better to prevent shearing free. $\endgroup$
    – Trish
    Commented Feb 11, 2020 at 18:09
  • $\begingroup$ @Trish: Indeed, there are lots of advanced variations possible. I've actually used a clone of the internal and external thread profiles turned slightly. But I wonder if clean integral number of walls (vs zigzag fill here and there) isn't more beneficial. I haven't done sufficiently rigorous tests to know yet. $\endgroup$ Commented Feb 11, 2020 at 20:05
  • 1
    $\begingroup$ @Trish: I updated the answer with your suggestions and a good bit of new material based on my comment. $\endgroup$ Commented Feb 11, 2020 at 23:16

Yes, it's possible, and not just limited to Cura. If you use GrabCAD Print (for Stratasys printers), the Advanced FDM feature allows different infill in different regions of your part - not based on layers, but based on your CAD geometry. Because of this, you have to start the process in CAD, by creating a part with multiple bodies. (For example, in Solidworks, you do this by turning off "merge" when you add a second boss, or by making a cut from a sketch and turning on "keep both parts".)

Once you've done this, go into the Advanced FDM tab in GrabCAD Print, and add your CAD part (the CAD file itself, not an STL). The two or more bodies in your part will be shown separately in the project panel: select them all and choose "merge". Now they will all be printed as a single part, but you can select each one and give them different infill settings.

You can also select any CAD face (i.e. not individual triangles) and override its wall thickness.

You can read a full tutorial about Advanced FDM on the GrabCAD website.


Using Cura 4.8


5% infill

This is the Support Blocker button:

Support Blocker button

Drop anywhere on bed, then resize and move like any model, make sure to turn off uniform scaling

With support blocker selected, then click the Mesh Type button:

Mesh Type button

  • Modify settings for overlaps
  • Select settings
  • Type infill in the search
  • Select infill density


Infill density has now been changed to 100% for selected part only.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .