How to duplicate an object along an edge without warping or rotating it I am trying to find a way to duplicate an object along an edge but the 3 different methods I can find either rotate the object; warp the object or give limited control. Here are images and descriptions of the tried methods as well as a manually made final result:

The first method I tried was to convert the edge to a curve and then use an array modifier and a curve modifier on the object to get it to array along the curve. The problem with this method is that It warps the object along the curve, see image below.



The second method I tried was to instance the object to a plane and array the plane along the curve, this way the plane got warped but the object would remain intact. The problem with this method is I want the objects to all to be rotated the same direction but when using this method it rotates the objects in the corners, see image below.



The third and final method I found was to instance the object along the vertices, while this neither rotates or warps the object, it gives me very little control over spacing and forces me to add an object on every corner or existing vertices on the edge. The amount of work to make sure there is even spacing between all the vertices and getting them placed where I want them would be just as much work if not more so than just manually duplicating and placing the objects, see image below.



Is there some way I can get my object to be duplicated along an edge that neither rotates or warps my object. For an example of intended result see image below.
Instead of arraying a plane along the curve, try arraying a simple vertex. Tweak the constant offset in the array modifier to get the desired offset.



Then create the object you want to instance. Set its parent to the "Arrayed vertices" object. Go to the parent object and in the object properties. Set the instancing to "Verts".


Don't forget to add a high enough resolution in the curve properties or else there may be unwanted interpolation.