Tag Archives: Xclip

AutoCAD 2012 – How to “hatch” using any objects

Here’s a trick you can use in AutoCAD 2012 to fill an area with any objects you like. It’s not actually hatching, but it has several advantages over the real thing:

  • You aren’t restricted to straight line segments as you are with real hatching. Circles, splines, even solid objects, you name it, you can use it.
  • To define the pattern, you don’t have to master an arcane file format or use trigonometry to work out the numbers used in it. Just draw the objects you want repeated.
  • You can easily change the spacing between the objects later, or even change the objects themselves.

How is this done? Use the new associative array feature, then use XClip to restrict the displayed objects to within a specified boundary. For example, let’s say you have a polyline you want filled with green spheres, and a green sphere already drawn. The sequence is:

  • Use the Array command to create a rectangular array of spheres that more than covers the whole area you want “hatched”. You might prefer to use my ClassicArray add-on for this, but it will make no difference to the finished objects.
  • Use the XClip command and select the array of spheres. Press Enter to accept the default option of New. Type S [Enter] to select the polyline, then pick the polyline. Done!

Don’t have a handy polyline defining the area? No problem, just create one before you start using the Boundary command.

There are some restrictions to this technique that do not apply to normal hatching. For example, any arc segments in the polyline will be treated as if they were straight lines, which isn’t very useful. But this method will work in most cases, and it sure beats spending hours trying to get your hatch pattern definition just right. You can even use an array of arrays to get some very interesting effects. For example, you could have a series of circles in a wave-form path array, which is then arrayed in a rectangular form before being Xclipped.

Not using AutoCAD 2012? You can do something similar using Minsert. Instead of Array, use the Block command to convert your objects to a block, then the Minsert command to insert it in a series of array-like rows and columns. Finally, Xclip it as described above.

Edit: In a comment, Patrick Emin reminded me of the Express Tools command SuperHatch. This allows you to use an image, block, xref, or wipeout object as a hatch pattern. It also automatically takes care of various details, including converting arcs within the boundary to straight line segments. However, the end result can be hundreds of individual blocks collated into a group, rather than just one configurable object if you use the Array or Minsert methods I describe above.