I have these two circle curves in 2D mode. If we scale this object from it's center, it will shrink the the width of the ring.

Is there any way to rig this to make the ring smaller while maintaining the ring width?

enter image description here

  • $\begingroup$ I don't think it's possible, as Tim Levinsson said you can scale down then fatten with alt S but it's a manual and approximate solution $\endgroup$
    – moonboots
    Feb 21, 2019 at 10:03
  • $\begingroup$ alt+s doesn't work on flat surfaces. $\endgroup$ Feb 21, 2019 at 16:19
  • 1
    $\begingroup$ This needs more info. Do you want this for animation or editing? For animation i would go with "drivers" and set up a 1/scale relationship between curve and bevel object. For editing i would do the same with a script. $\endgroup$
    – user2859
    Feb 21, 2019 at 16:27

2 Answers 2


I figured it out.

  • Go to edit-mode, select the outer edge of the ring and make a hook.
  • Select the inner edge of the ring and make another hook.
  • Go to object-mode and select the empty for the inner hook. Make driver for scale x, y and z.
  • Open Drivers editor and edit the existing variable (or make a new one if it doesn't exist).
  • Change the driver variable type to Transform Channel.
  • Select outer empty as object.
  • Change type to X Scale
  • Change space to World Space.
  • If you want to maintain 0.1 tickness then in the expression type "var-0.1" without the quotes for the expression.
  • Hide the inner empty.

Now if you scale using the outer empty, the ring should keep it's thickness.

Here is the example scene:


Select the ring in edit mode and scale it with alt+s

  • $\begingroup$ alt+s doesn't work on flat surfaces. $\endgroup$ Feb 21, 2019 at 16:19

You must log in to answer this question.

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