I need zipper to go smoothly on the corner as on first picture, but it appears distorted when modelling.

enter image description here

enter image description hereIs there any solution to this except of rotating teeth manually?

Blend file:

  • $\begingroup$ try making the transition between the two sides a bit bigger and smoother, might help hide the seam better. $\endgroup$ Feb 3, 2021 at 23:08

1 Answer 1


In your .blend, you have a non-uniformly scaled object being arrayed and deformed down a non-uniformly scaled curve. This creates quite a tangle. It's better to start off in an orderly way, than to make adjustments, and then adjustments of adjustments,and so on....

If you're stealing the curve from a part of the another object, (here, the suitcase,) apply the scale of that object before doing it.

In general, to array and curve in a way that's easier to get your head round:

  • CtrlA > Apply the scale of all the objects involved. This is true of modelling in general. Modifiers and other effects are generally calculated in Object Space, which is measured in the dimensions before they are transformed by the object-level scale. So, while modelling, always scale the mesh in Edit Mode, or, if you must give the object a scale-transform in Object Mode, apply it as soon as possible.
  • Place the origin of the curve at its first vertex
  • Place the origin of the object to be deformed at the location in its mesh you would like to lie on the curve.
  • Place the object to be deformed at the curve's origin. (Not necessary, but perhaps makes the whole setup easier to understand)
  • Again, for convenience, align the orientation of the curve and the object. (The most convenient way to do this is apply the rotations of both, so they're both aligned to the world.)

Having done all that, you should get a result like the blue example below:

enter image description here

As you can see, there is still some wedge-deformation of the teeth as they go round the corner, but unless you're in extreme close-up, that should be good enough?

If you want to avoid all deformation of the teeth, you could use the method from this answer, (or numerous others on tank-tracks), and array a simple plane (which deforms), instead of the teeth, Then instance the teeth onto the plane-array's faces. The teeth won't deform. That's the green example.

However, you've modelled the teeth as a pair, and in the green example,that leaves a slightly odd gap between one pair and the next. So, you could instead model the teeth separately, and use the instancing method twice, (2 arrays), to get the red example.

  • $\begingroup$ Hi, to be honest I tried what you explained me and I didnt get the desired results, can you please record of how you do all these steps? (For red zipper chain) $\endgroup$ Feb 18, 2021 at 14:25

You must log in to answer this question.

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