Illustrator: Is there an efficient and accurate way to join two circles by their tangents (and keep it editable)?
It's easy to join two circles if they are the same size and horizontal/vertical, into a pill shape:
If the circles are at an add angle then it's still possible but you can no longer rely on smart guides.
You can add lines roughly where the tangents should be and then use the scissors tool on the circles, cut out the inner area and then join the two crescents into one shape.
Is there a better way to do this? Is there a way to do this that is still editable afterwards too?
There are some other questions that cover the same area as this but don't cover editability or joining circles that are not in line with each other (where smart guides can't help).
After experimenting, I found two decent methods.
You can make a path with a thick, round cap/join stroke. If the two circles are the same size then you can Object > Expand... and this will sufficient.
If you want each end to have a circle of a different size then you can then use the stroke width tool (Shift+W) to adjust each end. This works okay and remains editable, but doesn't always give perfect results... Especially if you start doing more complicated shapes with corners. See the following gif for an example:
Alternatively you can use the Blend options between the two circles. This will best be explained through a few screen shots:
Here are two circles.
With both circles selected Blend them with Object > Blend > Make.
You can adjust the blend with Object > Blend > Blend Options. Select 'Specified Steps' in the 'Spacing' drop down and enter a value of between 50 and 200. Higher than this may start to slow down your system if there are a lot of blends in your file, low values may affect the final result.
The individual circles can be moved (I've now changed the outlined circles to filled circles) and the blend will follow.
At this point... The blend is still editable and the result is good as a draft. However, as in my case, there is actually 100 circles making up this shape, I may want to simplify this shape once I am happy with it, or as I am finalising artwork. To do this, first Object > Expand.
You can then open the pathfinder tool and merge all of the resulting circles with the 'unite' option.
If you want to further refine the edges between the two original circles then you can delete all of the path anchors between the tangential anchors...
And re-join them with the pen tool.
This should create almost perfect tangent joins between the two circles. You can also do corners with the blend tool, more complex shapes with multiple circles, or even colour blends. I like this method for when accuracy is needed to make great logos or pictograms. The stroke width tool certainly is quicker and has it's place however.
Please see CAI's answer below for scripts that work very well for making tangents connect perfectly.
There are some useful script that can help you do this.
This collection of Illustrator scripts includes two:
As for "keeping it editable"â€”If you move the circles (or any part of the shapes) the tangents will change, so you will have to redraw the lines. I can't see any way around that. With an easily accessible script though, this shouldn't be a problem.
Example of the Common Tangents script in use:
Using Illustrators Blend command works well when connecting tangents in certain instances but doesn't always work. An illustration of the Common Tangents script in a situation where the Blend command doesn't work:
Using a blend with the same curves doesn't really work: