# Array along a curve

Array Problem.blend (1.3 MB)

I’m trying to create a sort of trumpet shaped horn made of flat layers. Hard to describe, but I have a file here to look at. My question is, how can I step and repeat these flat layers so that they follow the curve up, creating the effect of a horn shape cut with a cnc machine?

Firstly, I noticed that you are making layers out of rectangular boxes and using both an array and a curve modifier to make it surround the entire shape. A better way would be to make a single slice, following the shape with edges and vertices, and using the screw modifier to extrude that 2d shape all the way around the object’s origin, which would be the world’s origin where the trumpet shape is.

Now, as for the solution, I did find one that does get the job done, although it still requires a bit of work, and is destructive. It is also not perfect, as you will see below.
What I did was to create a mesh of the trumpet shape (from the curve), following exactly the shape along one axis.

I then took a slice like in the image below, and arrayed it vertically. This is each slice just not set up to follow the shape.

I use a shrinkwrap modifier to make the arrayed mesh project onto the trumpet shaped mesh that was made earlier. You can see it running up the middle of the large mesh. Take a look at the shrinkwrap modifier for the correct settings.

Apply the modifiers to get this:
Each vertex is where each layer of the cnc drills.

Now, because of the use of the array modifier (do not use merge vertices in it), each edge segment is a separate island. Now, we can scale each edge horizontally to make it vertical. Enable individual origins in the transform pivot point (at the bottom of the screen) so that you can do all at the same time.

And finally, extrude each of these now vertical segments horizontally to get many slices.

I have also provided a .blend of it with the final mesh and steps to make it.
Array Problem.blend (1.3 MB)

Very cool, this is very helpful. Thanks a million for your time!

I just don’t know how you did step 4, scale each segment horizontal by 0. Surely you didn’t do each segment individually. How was that automated?

You would want this to be enabled:

Then select all the edges, and press S to activate scaling, press X to constrain to the X axis, type 0 to set scaling to 0, and all the edges will now be made vertically. Scaling by 0 means that you can “squish” geometry down into single vertex thin shapes. Doing so here makes the edges completely vertical as the difference in the X axis has been “squished” and removed.
It’s hard to explain. Try this, and hopefully you will understand how it works.

Perfect. Thank you again!

I could use some tips on this topic as I was wondering how to make a paser array on a galaxy class starship that followed the like 340 degree curve around the top on the saucer.