What is Autocad's "DEFPOINTS" Layer For?

By definition, the DEFPOINTS layer is a standard AutoCAD system layer.

This layer will be created automatically by AutoCAD when you place a dimension in the drawing. If you don't see this layer in your AutoCAD drawing, place a dimension and you will notice the Defpoints layer will have been created.

Now the big question: What is this layer for? 

The Defpoints layer is used for definition points when you place dimensions in AutoCAD. This layer, by default, is set to non-plot and cannot be plotted under any circumstances. The ability to define a non-plot layer did not exist previously (before AutoCAD 2000) so it was practical at that time to place entities on this layer that you wanted to be non-plot. Many CAD users create or move entities to the Defpoints layer as a means of restricting entities from printing (e.g. Viewports).

Following the introduction of AutoCAD 2000 (released March 1999 so about 18 years ago), the ability to set any layer to be non-plotting was introduced. As such, it is no longer recommended to create or move entities to the Defpoints layer. If there are certain CAD entities you wish not to plot, they should be placed on a layer that is set to 'non-plot'. CAD entities like viewports, temporarily drawing notes, construction lines are examples of content you may not want to plot.

Why shouldn't we use the Defpoints Layer? 

There are two main reasons why we should not use the Defpoints layer:

Number 1
If layer 0 ever gets frozen, everything that is on the Defpoints layer is no longer selectable. This might not seem like a big deal, but if you have ever dealt with this and are not aware of it you can waste considerable time trying to figure out why you can't select anything, not to mention if you are working in a project team and someone else will be using the drawing it can be even more confusing for them.

Number 2
Running the AUDIT command will create a new layer called $AUDIT-BAD-LAYER and place everything that was on the Defpoints layer onto this new layer. The previous non-plotting objects will now plot as they are no longer on a non-plot layer anymore.

There is significant risk associated with using the Defpoints layer for what it is not intended for.

So what should I do when I want something to be non-plot?

The best practice is to create your own layer and set it to 'non-plot' to ensure that you don't have to worry about any of the aforementioned reasons. 

To summarize, the ability to create a non-plot layer has been around for 18 years so there is no requirement to ever use the Defpoints layer in this manner.

…. and as the 'mighty' Bill Lumbergh from 'Office Space" would most likely say…..