Astute Graphics & Illustrator for Seamless Repeat Patterns
Wicked Fast Repeats (Relatively Speaking)
I’ve been exploring different ways to create random toss patterns with a seamless repeat in Adobe Illustrator. I tried a bunch of methods before happily stumbling upon Astute Graphics and the Space Fill plugin. It can’t create a repeat all on its own, but it does most of the heavy lifting and is a brilliant time saver.
- Windows 10
- Adobe Illustrator CC
- Astute Graphics > ColliderScribe 3.1.0 > Space Fill
Oops – my WP theme needs some work 🙁 Anyway, here’s a zip with all the files used in this post.
There’s the main Illustrator file, 2 Actions files, an ICC profile, and a CMYK color swatches file.
Resolution & Dimensions
I work on print & cut projects. At 100% scale I want to print at 300 dpi and for the pattern to repeat every 12 inches.
So my pattern tile needs to be 12″ x 300 dpi = 3600 points x 3600 points.
In Illustrator 72 pixels = 72 points = 1 inch.
So depending on what unit I prefer, I need an artboard that is 3600 pixels or 3600 points or 50 inches square – I work in pixels.
And my Raster Effects Settings are 300 dpi with no anti-alias. I check this in 2 places:
File > Document Setup : Transparency Options : Preset = High Resolution
Effect > Document Raster Effects Settings
This is a print project, but I also need to accurately represent the color in on-screen images.
The easiest flow for me is to work in CMYK because it matches my primary intent and is the smaller color gamut. Then I convert to RGB for on-screen images during export.
This image shows my color management settings at
Edit > Color Settings and at
Edit > Assign Profile.
Notice I use the eicCMYK ICC profile – it’s based on FOGRA53 which many printers tweak from. The point of installing this profile is to ensure a document’s colors fall within a gamut that’s printable.
In an ideal world, you’d work with an ICC profile specific to a printer & substrate. You’d order hard proofs and make as-needed color adjustments.
Realistically, printable art can wind up on anything – paper, fabric, plastic … The eicCMYK profile is a good choice when you don’t control the final use and want to be reasonably sure your colors are printable.
Layers, Artboards & Blending Modes
The image below shows the layers & artboards I start with.
The smaller artboard is where I put the source shapes used in my pattern.
The larger artboard is for my pattern tile – it’s 3600 px x 3600 px. This artboard has several layers …
space-fill layer is my main working layer – it’s where I’ll be using Astute Graphics to create the bulk of the pattern. This layer has a blending mode of
There is a
guides layer with 3 squares. The first always matches the artboard / pattern tile – 3600 px. The other 2 are slightly larger. How much larger isn’t an exact thing, but does relate to the size of the objects in your pattern and how Space Fill works, which will make sense further on.
space-fill layer are
overlay layers – named for their blending modes.
And below the
space-fill layer is a
bg layer with no blending mode.
These blending modes and layers are part of how I create a single pattern with multiple colorways. They are completely optional – you can always start with art that is the exact color you want and skip blending altogether.
In the previous image you may have noticed I have the Actions panel open and some custom actions set up. Actions are a handy way to save time and prevent errors while completing repetitive tasks.
There are tons of tutorials showing how to record, use, and save actions, so I’ll skip that bit. And in later steps you’ll see when & why to use them. What’s important here are the kinds of actions that can help with repeat patterns.
The first is a set of 4 actions that will copy & move an object 3600 pixels (tile size) in the left, right, up, or down direction.
The second is a set of actions to scale and rotate objects. I have actions to scale up 10%, scale down 10%, and rotate 15°.
While using actions is completely optional, they’re easy to set up and totally worth the effort.
Source Art - Think Texture
The next step is to create a set of objects for the pattern. The left image shows how I started with a basic heart shape and applied different brush strokes until I had several I like. Then I expanded the strokes and made each heart a compound path.
The right image shows how I made several copies of each heart and applied some temporary fill colors.
My goal is a single pattern with multiple color variations. I don’t have exact colors picked out, but I do have an idea of where I’m going.
In this case I find it helpful to treat the pattern like a texture. The source art has a neutral-ish, monochromatic fill that I set using global swatches. Then I use multiple layers, blending modes, and opacity to quickly try different colors. I sacrifice fine control over color for speed & flexibility.
Thinking of the core pattern as a texture, there are a few things to keep in mind …
For ease and speed, use multiple layers like I am and set blend modes on the layer – not the individual color tiles.
The best blend mode for the
space-fill layer is
Luminosity 100% – it works well with overlaid & background colors.
For overlaid colors, I find combinations of Overlay, Soft Light, and Color produce interesting combinations that are somewhat predictable if you have half a grip on colors & blending.
Each blending mode has rules related to black, white, and sometimes gray – ignore, knock out, and so on. Because I want all of the hearts to take on color from the overlays & background, there are certain heart fill colors to avoid.
- In RGB & CMYK, do avoid black & white.
- In RGB, do avoid grays that are equal parts RGB – like 128, 128, 128.
- In CMYK, do use the browns that are equal parts cyan, yellow & magenta, but 0% K (black) – like 70%, 70%, 70%, 0%
I’m usually working in CMYK and have a color group of global swatches just for this purpose. I also have a grid of test color tiles set up on the
space-fill layer – more on that in a moment …
Astute Graphics Space Fill
Now for some magic! This video shows how I’m using Space Fill to pack my pattern tile with hearts. At this stage I don’t expect to land on the perfect pattern – I’m just applying settings that feel reasonable to establish a starting point.
I start by opening and docking the
ColliderScribe > Space Fill window.
On my working
space-fill layer I have an empty square the size of my largest guide.
I make a copy of my source hearts, move them to the
space-fill layer, and ungroup them.
Then I select my empty square and the hearts and click the
Space Fill > Make button.
And BOOM! I’ve got a basic toss pattern.
I’m going to skip explaining each of the Space Fill settings – there are plenty of tutorials, the settings are self-explanatory, and it’s best learned through trial and error. That said, there are some things worth knowing …
First is that I’m working in a way that’s not destructive and can be replicated. I’ve kept a copy of my source shapes & strokes, a copy of my expanded & filled hearts, and before I’m done I’ll take a screenshot of my Space Fill settings and add it to this file. Any designer could open this file and reproduce or tweak the pattern.
Second is that Space Fill is resource intensive – it’s making a gazillion calculations. Always save your file before using Space Fill and don’t panic if Illustrator goes “Not Responding” during the process – wait patiently and you’ll be rewarded.
Third is about how Space Fill packs objects and why I’m filling a square that’s bigger than my pattern tile. Have a look at the image below. Notice along the top edge in particular how the hearts have been packed – most of them are laying horizontal.
Depending on the pattern, this can create a “frame” effect that’s quite noticeable – something we don’t want in this repeat.
I could go in and tweak each heart, but I find it easier to overfill and delete them. This isn’t the only reason I overfill – it can be helpful in many scenarios, which you’ll see further down.
Tweaking Space Fill
I specifically chose to make a random toss pattern because they’re an absolute PITA to do manually and because Space Fill makes it so friggin’ easy.
In fact, the first few times you use Space Fill for random toss patterns, you will save zero time and may even take longer! And not because you’re dinking around trying to place individual objects, but because you can’t wait to click the Randomize button and see what pops up next.
Once you’ve got some of that out of your system, you need a method to tame the madness.
The most important thing is, when you land on a pattern you like, take a screenshot of it and the Space Fill settings.
The key to tweaking is to focus on one aspect at a time. The first thing I work on is what I call “density”. At this stage, I’m going for the general feel by adjusting these settings:
- Uniformity (of spacing between packed objects)
- Vary Size
- Vary Rotation
- Multiply Filling Art
Once I’ve got the density right, I work on color.
I usually start with a dark background and use the
Randomize button until I have a good distribution of light and dark hearts.
Then I start playing around with the color layers. I’m pretty happy with the very dark and very light backgrounds …
But the more vibrant backgrounds need work – some of the mid-tone hearts are dropping out …
This is happening because of the fill colors on my hearts – though the Space Fill Vary Opacity setting may also be a factor.
The easiest way to diagnose the problem is to hide the space filled group and look at the test grid I mentioned earlier. From this you can see exactly which fill colors and opacity levels aren’t working …
The obvious thing would be to release the Space Fill, adjust the heart colors, and try again. And you’ll almost certainly need to do this at some point, but let me save you an hour or three …
Earlier I said it helps to think of the core pattern as a texture, and what’s being shown here is very similar to the limitations of a texture.
The bottom line is that it’s impossible to come up with a set of heart fill colors that are going to blend well with light and dark and vibrant background colors, and look good too.
If I really wanted to work with light, dark & vibrant backgrounds, the best choice would be to save off a copy the file and work on 2 patterns – one to handle the light & dark, the other to handle vibrant colors.
I’m going to focus on light & dark backgrounds for now and skip working with vibrant backgrounds. Here’s my final Space Fill and some sample colors it can be used to make. Note I’m only using an almost black and an almost white background – the colors come from the upper layers and blend modes …
Pause for Clean Up
Whew! At this point we’re just about done with Space Fill, but there are a few things to do before expanding the effect and beginning the next step …
Earlier I said that I work in a way that would allow any designer to open this file and replicate the pattern. To make that possible, I take a screenshot of the final Space Fill settings and add it to the file.
You may also remember that I kept a source copy of my hearts with some temporary fill colors. As expected, I did need to change these colors in the working copies of the hearts. So I need to be sure that my source versions match my working versions, as this is needed to reproduce the pattern.
If I could remember which changes I made, I’d update the originals up on the
source layer – but I don’t 😛
Instead, I release the Space Fill, select the hearts, make a copy, group them, and replace the original group up on the
source layer. Then re-apply the Space Fill.
The last bit is to remove the
test-color group from the
space-fill layer – you can either delete it or move it up to the
Oh, and now is a good time to save your file.
Expand & Delete
Here’s where I begin working on the seamless repeat part of the pattern. Before watching the videos, it helps to understand my overall approach.
With a seamless repeat, the idea is that any heart which crosses an edge must be repeated on its opposite edge. I work on the left & top edges and repeat these on the right & bottom edges.
I work through an iterative loop using Actions to test out placement and then move to Illustrator’s Pattern tool to make final adjustments.
The first step is to expand the Space Fill effect and delete unnecessary hearts …
In the video above, I start by selecting the space filled group and clicking the
Space Fill > Expand button.
I ungroup once and delete the rectangle. Then I ungroup again so all the hearts are exposed and can be selected with a single click.
On the right & bottom edges, I delete any heart that crosses the edge of the artboard. This frees up room for the hearts that will be repeated from the left & top.
On the left & top edges, I delete any heart that’s completely off the artboard.
The video below shows how I begin tweaking the left & top edges and using Actions to temporarily duplicate them along the right and bottom …
At this point I have what looks like some pretty good edges and I’m ready to move over into Illustrator’s Pattern tool.
The most important thing to know is that edits made inside the Pattern tool do not update to the source art. Once you start a pattern, be sure to save it and not just cancel out of it. Moving forward, you can go in and edit the pattern as much as needed.
The video above shows how I work inside the Pattern tool.
First, I take a final look how my left & top edges are repeating along the right & bottom. Then I delete the right & bottom edges.
Next I add a rectangle to my hearts layer. It’s 3600 x 3600 pixels and centered on the artboard. I also have a temporary fill color on it. This becomes the frame for aligning the repeat.
With the hearts and rectangle selected, I click
Object > Pattern > Make.
Pattern Options, I unlink the
Height and set both to 3600 pixels – this lines up the filled rectangle exactly.
Next, I set
Right in Front and
Bottom in Front– this corresponds to my approach of repeating the left & top edges on the right & bottom.
From here I spend several minutes tweaking. Once I’m happy with things, I hide the frame rectangle and save the pattern. It’s important to hide the rectangle – do not delete it or set the fill to transparent.
The last thing is to test the pattern. For this, I draw out a huge circle – big enough for the pattern to repeat at least once in both directions. To this I add 2 fills – the pattern and a background color, which makes problems easier to spot.
I have a close look at the pattern and don’t see any gaps, misaligned hearts, or any other problem – whew!
If you get to this point and discover the pattern needs more work, you can make edits by opening the
Swatches panel and double-clicking the pattern’s swatch.
YAY! Now we can actually do something with it.
Filling Objects with Patterns
The first way to use a pattern is to fill an object. Since my pattern is more like a texture, this image shows how I’ve stacked multiple fills & blending modes on a single object using the
Appearance panel …
And this image shows how to scale just the pattern by applying
Effect > Distort & Transform > Transform …
Pattern Tiles for Surface Design
The second way to use this pattern is to create pattern tiles for surface design. This is for people selling their repeat patterns on Etsy, Redbubble, Contrado, Spoonflower, and so on.
For this you need a tile where the art is trimmed & repeats along straight edges – in this case, a square. In short, we need to somehow extract the pattern from the pattern tool.
The trick is to fill an object matching the pattern’s dimensions – here, a 3600 pixels x 3600 pixel square.
If you don’t know the dimensions, open the
Pattern Options by double-clicking the pattern swatch and look at the
In the image below, I’ve created some tiles using stacked fills as in the previous example. These are ready to be exported to an image format.
Holy cow, this is way longer than I’d planned! I set out thinking about how Astute Graphics saves time when creating random toss patterns, and how to turn those patterns into seamless repeats for surface design.
Along the way, I veered into good workflow habits, a bit about color for print, and the idea of treating patterns like textures. I think the big idea here is that plugins like Space Fill are most useful when everything you’re doing is thoughtful & efficient.
Thanks for joining me on this adventure – I sincerely hope it’s helped you in some way 🙂