Preventing Warping of Resin Printed Pieces: Alternative Way of Fighting Resin Shrinkage

Share via

In the previous blog post, we started the topic of resin shrinkage. We showed how serious it is and we presented a simple yet effective method of measuring the shrinkage amount and compensating for it.

However, the problem is more complex than the two numbers. Anyone who has ever worked with plastic injection molding can confirm this. There is a number of papers, models, and algorithms that deal with modeling shrinkage of plastics after molding. The same, unfortunately, applies to 3D printing as our material shrinks as it cures. What effects does it have? Is there something we can do about it? Yes, there is as we see at the end of the post!

Just to illustrate what we are trying to fight, there are a couple of posts from a single FB resin printing group:

Why simple shrinkage compensation is not enough

You might be wondering: if the shrinkage is linear, why should I bother? There is a nice 90-second video by Stefan from CNC kitchen about warping. Please, watch it before continuing reading. And don’t get scared or confused – the video is about FDM printing. I will explain how it is connected to resin printing right after the video.

Though the video is about FDM printing, the same applies to resin printing as we print layer by layer, and each layer shrinks (just as we observed and measured in the previous post). Though the source of shrinkage is different (plastic cooling vs. curing chemistry) it shrinks the layers and yields the same effect. Just try the tape experiment for yourself.

You probably experienced this – the corners of your model lifted out of the build plate or, even worse, the model was perfect and it warped after a day or two. The last effect is especially noticeable on thin walls. You might have also noticed that sometimes people with magnetic build plates suffer from the steel sheet being bent under the stress of the printed model.

All these phenomena have a common root as explained in the video – the printed layer shrink and thus introduces inner stress to the model.

Fighting the inner stress using common means

When you want to mitigate the lifting corners, there is one pretty straightforward solution on resin prints: put your model on dense, but lightweight supports. The supports are thin and soft so they act as a spring that can compensate for the warping model. In that case, when the model wraps, the supports slightly bend, but they stay attached to both model and build plate.

Why dense supports? People often tend to use sparse but thick supports as they think that will have less clean-up. However, this has a problem – when the model warps and there is a large bridge between supports, the model will be already bend up and it will not properly attach to the support. This, in combination with too cold temperature and insufficient rest times, is the “holy trio of printing failure” people experience according to my findings.

Per-partes layer curing to reduce warping

When you do traditional resin casting, you can add filler to the resin to alter its properties. A filler is usually some powder you mix in. One effect of the filler is that it reduces shrinkage as there is less resin in any dimension to shrink. Similarly like you add gravel to concrete to reduce shrinkage.

Another view on the problem comes from my previous post where I mentioned that there is no shrinkage in the Z-axis direction as we print layer-by-layer and each new layer compensates for the previous one.

Inspired by this, we can actually change the way we expose the layers of our models to reduce warping. The idea is as follows:

  • expose the layer per-partes. We will use 3 exposures for a single layer.
  • 1. exposure exposes only a number of disjoint dots in the layer pattern (further referenced as seeds or cores),
  • 2. exposure exposes bridges between the dots to form a lattice structure,
  • 3. exposure exposes the full layer to cure the rest.

The first exposure builds small islands of cured resin. These cores slightly shrink, however, since they are not connected to each they don’t introduce any stress to the model. Then we connect them by short bridges that compensate for the shrinkage of the cores. They also ensure there won’t be any long continuous strands of resin to cure in the last step (as otherwise, they would shrink and we would gain nothing). The last step exposes the rest. See it on example:

1st exposure
2nd exposure
3rd exposure

To illustrate it on the filler example from the introduction, we first build the filler particles/gravel. Then we add resin/concrete, but we first ensure there is no long continuous strand of resin to cure.


To implement this I created a short script for UVTools that takes a slide file and performs the post-processing. It splits each layer into 3 layers and applies a pattern to them. The script is available on my GitHub free for use.

If you are a slicer developer and you are considering implementing some kind of resin-shrinkage compensation, please, reach out to me!

A step-by-step how to use the script is captured in the image series below. Basically, you load your sliced model into UVTools, load the script, set the parameters, and click “Scripting”.

When you want to combine it with other transformations, apply the triple exposure transformation last.


First, I used my calibration pieces to evaluate this approach. I printed them without per-partes exposure and with per-partes exposure with a number of resins with the same settings at the same temperature. There are a few interesting observations:

  • overall, the shrinkage amount was less than half compared to the other samples. This is worse than I expected, but I will discuss a possible explanation of this below. Nevertheless, it is a good result.
  • I measured the models before and after curing. The per-partes exposed models didn’t change the exposure much compared to the normally cured. That means, that out of the box the per-partes models are better cured and still have lower shrinkage.
  • I tested 100µm, 200µm, and 500µm initial particles with 25, 50, 100 % spacing. The best performing were the 200µm particles with a spacing of 100µm. They reduced the shrinkage the most.
  • The particle pattern is visible by the eye, but the surface of the models is completely smooth. So it seems just to be a change in color that also fades after a week.
  • The same thin-walled models managed to preserve their shape with per-partes curing even 2 weeks after printing. This was not the case with regularly exposed models. Therefore, I think this method prevents the buildup of internal stress in the models and ensures better dimensional stability.

There are two possible explanations for some shrinkage still being present. One is that the shrinkage force is large enough, to actually pull the initially cured cores closer together. That would explain why there is still some shrinkage and it is (very) roughly proportional to the spacing between seeds. Also, it is possible that the happens sometime after curing and I don’t use enough wait time between the exposures.

The second explanation is that this is all caused by residual resin between the layers. Due to the current limitations of the dummy Chitu control boards, we cannot perform multi-pattern exposure with UVTools. Therefore, we have to lift before each part of the exposure. This might cause there is a thin film of fresh resin over the already cured parts. This film gets cured and thus, causes some shrinkage.


The per-partes exposure seems to be a good way to reduce the internal stress in models, and thus, improves the dimensional stability of the printed models. It doesn’t remove all shrinkage, but the remaining shrinkage can be compensated with simple scaling. There is, however, some limitation on what experiments we can perform coming from the Chitu control boards.

Is this method worth it? It depends ­– on top of all the upsides of this method (effectiveness, simplicity of implementation), there is one downside. It triples the print time.

Nevertheless, I have a couple more ideas on exposure patterns that I would like to try in the future. Stay tuned and I will appreciate your feedback and thoughts in the comments.

Recent news: My open letter to the 3D-printing community

I love the 3D-printing community, but I think there is room for improvement. Let's get better in 2023! Read the full letter.

Support my work!

If you like my work (these blog posts, my software and CAD models) and you would like to see more posts on various topics coming, consider supporting me in various ways:

If you are interested in knowing what I am up to and recent sneak-peaks, consider following me on social media (Twitter, Instagram, Facebook).

My store offers

I launched new tank cleaning kits for Elegoo Saturn, Saturn S, Mars 1, and Mars 3. You can find them in my store.

Share via
Back To Top