I'm trying to add stitching to a shoe, and I started by making a single stitch, then using the array and curve modifiers to try and get it to conform to the 3-dimensional bezier curve I created. It seems like once I select the fit curve option under array and select the curve, the stitch is only being arrayed a portion of the length of the curve which is in two dimensions. The stitches are also no where near the curve after I selected the bezier curve in the curve modifier. The deform axis doesn't help this. enter image description here

I tried moving the 3D cursor to the origin of the bezier curve, though I'm not sure if I did it right or if that's even the way to fix it. If anyone could please help me with this, that'd be greatly appreciated.

enter image description here

Update: Please excuse the janky model, but I'm still having trouble. After following instructions from the answer, the origin of my curve (is the origin the little orange dot?) won't go to the start of the curve as pictured. I don't know how to attach the file here.

  • 1
    $\begingroup$ Could you add the .blend file? $\endgroup$ Commented Apr 17 at 22:29
  • $\begingroup$ Here is an overview I made on how meshes are placed on a curve: Curve Modifier- not starting at beginning. However your problem seems something else or more than this... I cannot see your curve exactly, but is it a single long curve or multiple segments? Because the Array modifier places the mesh only on the first segments, it does not continue on the next ones. So you will have to separate the curves to individual objects and give them all their own stitches mesh object. $\endgroup$ Commented Apr 18 at 7:44
  • $\begingroup$ It's a bezier curve that I extruded like 4 times so that I could get the correct deformation. Are you saying I need to separate the extruded curve into 4 different segments and apply the array and curve modifiers to all four? Also, I cannot figure out how to attach the file here. $\endgroup$ Commented Apr 18 at 15:04

2 Answers 2


First, you said that the "Fit curve" option of the array modifier isn't resulting your targeted result. That's probably because the transformation isn't applied. To solve this problem press Ctrl+A > All Transforms.

As far as i know, a mesh that should be deformed along a curve, needs to be in the same location as the curves origin. The origin of the object isn't required to be in the same location, but I usually do that as well, just too keep my scene clean.

If your mesh isn't located at the curves origin, just select it and then shift select the curve, press Shift+S and Num9 or click on the Selected to active option. If your mesh and it's origin aren't aligned, right click > Set Origin > Geometry To Origin.

If you really just want to move your mesh without the origin beeing affected, you have to do that in edit mode. But before you enter edit mode, select your curve, press Shift+S and Num2 or Cursor to Selected, to move your cursor precisely to the curves origin. Now go into edit mode with your mesh, press A to select all, then again Shift+S and Num7 Selection to Cursor. If you want a specific vertex, edge or face to be exactly at the cursor rather then the median point, switch your Transform Pivot Point to Active Element.

At this stage, your mesh should deform along the curve mostly as desired. However it may be still a bit off or the orientation isn't quiet right. Either way you have to do these alignements in edit mode, it helps to display the curve and array modifier in edit mode.

  • $\begingroup$ Very good and detailed answer. One thing, depending on the mesh, Geometry to Origin i.e. placing the mesh centered on the origin might not always be the best solution if you want to fit it on a curve, because then there will always be geometry "before" the start of the curve. If you want the mesh to be starting at the curve's first point, you should place the mesh so that there is no geometry on the negative local X side, the mesh should start at local X = 0 and extend to local +X. $\endgroup$ Commented Apr 18 at 7:37
  • $\begingroup$ I tried following the answer above step by step but I'm still having difficulties. When I tried moving the single stitch mesh to the curve's origin by selecting both the mesh and the curve, then shift+S > Selected to active, the mesh moved close to the origin, but not exactly on it. Furthermore, my 3D cursor is not moving to the curve's origin. It's staying put right in the middle of my stitch mesh which still won't move to the origin of the curve. I'm also not sure what you mean by placing the curve so there's no geometry on the negative local X side. $\endgroup$ Commented Apr 18 at 15:17
  • $\begingroup$ If you mean part of the stitch mesh will extend past the origin of the curve, I'm not too concerned about that in this instance. $\endgroup$ Commented Apr 18 at 15:32

Thank you and sorry to the people who answered, but I figured things out a different way. It decided to work after I changed the array's "Fit Type" from "Fit Curve" to "Fixed Count" in conjunction with the curve modifier. I'm not sure how I got it to work, but I did.


You must log in to answer this question.

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