I'm attempting to simulate a ribbon like pattern for lettering, similar to this image:

enter image description here

I've already made the outlines for the lettering, however using the blend tool and the width tool doesn't give me the clean results I was hoping for:

enter image description here

I've attached one of the letterforms here, is this just easier done in 3D and then texturing the surface?

  • I used this kind of hatching in a logo some ten years ago. After a lot of blundering with brushes, projecting onto 3D shapes and other attempts, I ended up doing it manually. Curious to see of there's a better solution.
    – Vincent
    Oct 15, 2020 at 10:07

3 Answers 3


Here's what I'd do. It's also quite a lot of work especially for a larger design, but avoids actually drawing the lines manually.

  1. Draw a line, duplicate it moving it approximately a 45 degree angle from the original
  2. Create a step blend for these two lines.
  3. With the Curvature Tool, modify the curves. This is probably the trickiest step and will need some trial and error. You could also use the Pen tool to edit the Bézier curves directly.
  4. Expand the Blend, and cut the paths with the Scissors tool, then expand again to convert the strokes to filled paths. Obviously if you are working on a larger design, you may need to repeat the path cutting step several times in other places depending on where the ribbon overlaps itself.
  5. Do a Pathfinder Divide operation, then Select and Delete the little pieces where the ribbon overlaps*

enter image description here

*Note: If step 5 looks a bit too fiddly, then an alternative might be to draw a white filled shape under the lines above, to cover the lines below.

  • Neat technique! How would you achieve the lines' thickness tapering towards the curve, as in the vertical part of the example?
    – Vincent
    Oct 15, 2020 at 12:29
  • @Vincent - You could use the Width tool to make strokes of varying width. Here's a rough example. I used the Width Tool on the line before duplicating it and making the blend.
    – Billy Kerr
    Oct 15, 2020 at 15:53
  • Thanks for all the replies, I feel like this is the most elegant solution I've seen, thank you for the help!
    – thel3l
    Oct 16, 2020 at 6:27

There is a method that will allow you to do something close to this, or at least have somewhat of a start to expand and then refine. It's a lot of work, for you have to make each separate hatched segment individually.

First, create a symbol of your hatching pattern:

  1. Draw a very slender and wide horizontal triangle;
  2. Alt-drag it to copy it, aligning the copy's top neatly with the original's bottom;
  3. Choose Object > Transform > Transform Again (Ctrl / Cmd+D) a few times;
  4. If you want to be really thorough, add halved triangles on the top and bottom;
  5. Select all triangles and drag them into the Symbols palette.

Then, map that to a 3D shape:

  1. Try and draw a path that will match the element of the letter you are trying to produce. This will take some experimentation;
  2. Give the path a light stroke colour -- white works just fine;
  3. Choose Effect > 3D > Extrude and Bevel...;
  4. Besides choosing to extrude for a non-zero amount, choose the Map Art... option to choose a surface and a symbol to map onto that surface.

Tweaking both the mapping settings and the path should yield an editable object where you can position your hashing to your desire. Once you are somewhat happy, you might want to Expand everything to fine-tune it manually.


I think a better option is using brushes. This a rough 5-minute attempt that would still need refinements.

Make your basic shapes by making a group of elongated triangles

Triangle shapes

Convert it into a brush by dragging into your brushes panel and choosing "art brush" art brush

Now you can apply it to the inside of your shapes. It's tricky getting the angles right, and I had to mask the brush within the shape to mask the messy edges, but you should at least have a base to tweak more easily finished shape

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.