Is there a way to use modifiers in Blender to do things like apply translations, rotations and/or scaling without actually applying it?

The use case here is that I have objects built up over several modifier steps as follows:

  • Draw circle

  • Change origin

  • Screw Modifier without screw to create curved tube

  • Apply Screw Modifier

  • Set cursor to base of tube

  • Copy and rotate 30 degrees in each direction about Z axis

  • Array Modifier about different center point using empty for rotation

I'd like to do this without having to apply the Screw Modifier and changing origins around, because doing so loses the ability to go back and change it later without resorting to Boolean operations and lots of manual merging of vertices.

For reference, this is the result of the actions described above along with the final modifier with EmptyInner sharing the same origin shown in the image. This is after applying the screw modifier and changing origins around.

enter image description here enter image description here

  • $\begingroup$ Do you have any concerns that there may be internal non-visible faces? Yes or No is acceptable. If you need more exactness have you considered other modifiers, such as Armatures, Curve, MIrror. Would Proportional edit be useful? $\endgroup$ Jul 26, 2017 at 6:14
  • $\begingroup$ Array Modifier can handle rotations. Searching for examples here at BSE will produce something. $\endgroup$ Jul 26, 2017 at 6:22
  • $\begingroup$ @atomicbezierslinger You can't stack array modifiers with different origins (i.e. when you use an object offset it bases that offset on your object's origin, if you have it offset as a rotation the origin of the empty must match the origin of the object or it also applies a translation in addition to a rotation - I'm trying to do both between different modifiers.) Imagine a chain of a dozen modifiers which require different origins, that is what this question would apply to. $\endgroup$
    – CoryG
    Jul 27, 2017 at 5:10
  • 1
    $\begingroup$ I totally agree that a simple transformation modifier, with the ability to operate on weighted vertex groups, would be a radical improvement to Blender. $\endgroup$
    – Robin Betts
    Sep 18, 2018 at 11:19

3 Answers 3


"Is there a way to use modifiers in Blender to do things like apply translations, rotations and/or scaling without actually applying it?"

Yes. The simplest modifier that does all of those things, perfectly freely, perfectly non-destructively, is an armature modifier. Although that requires setting up an armature, and creating vertex groups for your mesh (using various tricks to persist through boolean operations, etc.) to specify which parts should transform.

If every part of your mesh should transform, then it's relatively easy, since there's only one bone in the armature, and only one vertex group (or you could use envelope weights without too much trouble, given a single bone.)


enter image description here

Add Object Constraint has

Copy Location, Copy Rotation, Copy Scale, Copy Transforms

which may assist you.

Please search here at BSE for more constraint information and see Blender Documentation which is amazing.

  • $\begingroup$ How would you order constraints and modifiers? The specific issue I'm having is that I'm stacking modifiers which need different origins for their modifications. The goal of moving or rotating the origin would be to have it take place between modifications. $\endgroup$
    – CoryG
    Jul 27, 2017 at 5:07

The workflow you are descibing is procedural modeling - creating a model from a sequence of non-destructive operations. It has several benefits, including having full, precise control of any step at any time.

The Sverchok and Sorcar addons for Blender are great for procedural modeling. However, with Blender 2.92, similar functionality is coming to Blender itself!

Using Geometry Nodes, you are able to procedurally modify any object with a Node Tree. In particular, you might be interested in the Transform modifier.

As of 21 February 2021, you can download the Alpha and Candidate releases of 2.92

  1. Add a Geometry Nodes modifier.

  2. In the Geometry Nodes editor, add a Transform node. Pass the geometry data through this node:

Transform node

  1. You can now add other modifiers, or use Geometry Nodes for your entire workflow.

You must log in to answer this question.

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