The BCOUNT Command

BCOUNT is a very simple and quick command for extracting information from your drawing, namely, a count of the number of blocks in your drawing, categorised by their type.

It’s really simple to use – just enter BCOUNT in the command line and make a selection. The command line will then report to you the total number of blocks selected, followed by a list of the block types, and how many of each type were selected.

This can be a really useful way to get a quick overview of what’s going on in your drawing. If you’ve inserted a load of markers for certain things on a location plan for example, and you know the total number of each type that you should have added, this is a great way to double check your work. But do be careful though, because dynamic blocks can sometimes be missed if you have used any of the dynamic options.

That’s it for today,


Identifying System Variable Differences

I’ve often been in a situation where a certain command or entity seems to behave differently in one drawing compared to another. Things such as how drawing units are handled are controlled on a drawing by drawing basis, by saving system variables in the drawing. With this in mind, it can be very useful to try to reverse engineer the differences between two drawings, so that you can identify what the offending system variables might be. Identifying these variables and tracking down the root cause to our problems is fundamental to attaining a good grasp of AutoCAD®, so that we will know how to tackle similar problems in future.

I’ve invented a neat way of tracking down the differences between two (or more) drawings, and it’s using an express tool called SYSVDLG. You can also access this command from the Express Tools ribbon tab, in the Tools section. Once you’ve started the command you’ll be presented with this:


This screen allows you to edit the values saved in system variables. This is great functionality, but for the purposes of our comparison between drawings we are after the “Save All” option. This option exports all system variables to a SVF file.

The SVF file is simply a text file that contains the variable name followed by its value. Although it’s not a native format to Excel, we can still open it using Excel and it will be opened with the data populated in the first column of the spreadsheet. You can simply repeat this export process for any other drawings you want to compare against, and just copy and paste the columns into the same spreadsheet like so:


Now that you have the two (or more) columns side by side, you can enter a simple formula to compare the columns. As shown above, we are just using a simple IF statement in excel to check the values of the cells, and if they’re not equal to each other then display the text “!! DIFFERENT !!”, otherwise display nothing. This is a very quick way of identifying differences that may not be immediately obvious when skimming down.

I hope you find this tip as useful as I have in the past – I’ve lost count of the number of times that I’ve been caught out by an obscure system variable that I didn’t even know existed, which was for some reason changed in a drawing that I’d inherited from someone else !

If you found this tip useful please do consider subscribing below, and if you have a tip you’d like to share, let me know!



AutoCAD® Groups

Blocks are very useful, and you might be tempted to ignore the existence of groups and just always use blocks instead. However, groups actually work differently to blocks, and in many cases it is actually more useful to use a group instead of a block.

One of the main advantages of using a group instead of a block is that you are free to include the same entity in more than one group. So, if a certain set of entities belong to more than one commonly selected group of entities, you can just create the two (or more) groups that contain the same set of entities (and whatever other entities are relevant to that group), and you’re now able to select the entire set by clicking on only one of the entities, as you would with a block.

To use groups, simply invoke the GROUP command, or you can select “Group” from the groups panel on the home tab. This will display the object grouping dialog box, which will allow you to manage and name your groups. Bear in mind that the selectable property controls what happens when you select one of the entities in a group. With the option checked the entire group is selected, but with the option deselected only the individual entity is selected.

So in summary, use groups – don’t just always use blocks if you’re not actually repeatedly using them, because this will introduce unnecessary bloat into your drawings, and often groups are functionally more what we’re after anyway.

That’s all for today,


P.S. Please subscribe below, and feel free to forward on your tips!


As of AutoCAD® 2008, we have a new command for dealing with the layering properties of objects en-masse. The SETBYLAYER Command.

As you’d expect, this is used for setting properties to ByLayer (as they mostly should be). You might say that you can do that already by just selecting everything and changing the layer in the properties window to ByLayer. But the beauty of SETBYLAYER is that it gets into all the corners of your drawing – this one will go through every block, layout and pretty much everything else, and will change it all to ByLayer. Very useful, especially on those drawings which seem to contain loads of nested blocks with obscure properties.

There is also a menu for controlling the behaviour of the command, which also corresponds to the SETBYLAYERMODE system variable.

The variable is saved at application level, so changes you make to SETBYLAYERMODE will persist between drawings. To access the menu type “S” in the command line after invoking the SETBYLAYER command.

I hope you find this as useful as I do – it’s one of my favourite commands for cleaning up drawings.


P.S. Finally, as usual I’d like to encourage all non-subscribers out there to pop your email address into the box below. I’ve loads of tips and tools to share with you all, and I want to spread the word as far as possible!

Export To AutoCAD

Hi everyone,

Quick tip for all of you using AutoCAD® verticals such as Civil 3D®. You’ll no doubt have noticed that if you open drawings created in an AutoCAD® vertical will have it’s native objects displayed as OLE objects in vanilla AutoCAD®. It can sometimes be difficult when you only have access to vanilla AutoCAD® to make use of drawings with OLE objects, but there is a convenient command specifically set up to export your drawing from the vertical using only entities available in vanilla AutoCAD.

The command is -EXPORTTOAUTOCAD. Make special note of the dash preceding the command, which is required. If you find it more memorable you can also use the AECTOACAD command, which is just an alias for invoking the same thing.

Of course, any drawing that has been exported via this means will not contain the functionality you’d get from the AutoCAD® vertical, but it makes the entities much more useful in AutoCAD.

That’s all for today, more tips to come.


The SOLID Command

Hatching is one of the easiest, least irritating, and straightforward commands in AutoCAD.


But there are quite a few other commands that can help with the little things – for example, it can be quite frustrating when all you want to do is create a small, simple solid hatch, but you still have to jump through all the hoops of clearly defining a boundary or messing with picking points, which as I’m sure you all know can sometimes be very frustrating! In this case I generally use the SOLID command.

Using the solid command you have to pick either three or four points, and a solid hatch will be created immediately. This is great for quickly hatching simple shapes, and is extremely reliable and fast.

The order of your clicks can be important though, but once you get the hang of picking points in a sort of Z shape as opposed to going around in a circle, it will become second nature.

That’s it for today,


P.S. please subscribe and send me your suggestions for what you’d like me to cover!

The SAVEIMG Command

Taking a screenshot of your work is sometimes required, and while it’s not particularly difficult to just press the PrntScr (print screen) key and save it using whatever picture editor you use, there is another way. The SAVEIMG command essentially does a screenshot of the document area of the AutoCAD® window. It gives the following dialogue box, which allows you to save the image in a few varieties of bitmap:

Naturally, this is particularly useful when you’re doing more than one save. If for example you had to save 20 screenshots of various parts of your work, this will most certainly save you time.

That’s all for today,


P.S. As usual I’d like to encourage you to subscribe below, and forward on any questions/tips you have.

The DBLIST Command

Hi Everyone,

I have been meaning to do a post on the DBLIST command for a while now, and I just happened to find the perfect post on Ellen Finkelstein’s blog. Therefore this is a guest post from her:

Have you ever done a ZOOM Extents and found objects way out there like stars in outer space? Or tried to delete a layer but found you couldn’t because there was an object on it — but you couldn’t find it?


When troubleshooting objects, you might find it useful to have a list of them all. You can get that with DBLIST. Just type the command on the command line and press Enter whenever it pauses. Of course, in a busy drawing, that could take a while. And the list gets long even in a small drawing, because AutoCAD® tells you everything about each object, like the LIST command does for selected objects. Below is the list for a drawing with only 5 objects!

Perhaps a better way to use it is to erase everything you can find and then run DBLIST.  That way, you can see what is still left. You can then undo the ERASE command. (Luckily, undoing the DBLIST command, which came after, won’t delete your list!)

How do you troubleshoot wayward objects?

Command: dblist

CIRCLE    Layer: “0″
Space: Model space
Handle = 1c4
center point, X=   8.8432  Y=   9.7202  Z=   0.0000
radius    5.2470
circumference   32.9678
area   86.4907

LWPOLYLINE  Layer: “Layer1″
Space: Model space
Handle = 1c8
Constant width    0.0000
area   20.3371
perimeter   18.2710

at point  X=  21.1067  Y=  10.7852  Z=   0.0000
at point  X=  26.4006  Y=  10.7852  Z=   0.0000
at point  X=  26.4006  Y=   6.9436  Z=   0.0000
at point  X=  21.1067  Y=   6.9436  Z=   0.0000

Press ENTER to continue:
CIRCLE    Layer: “Layer1″
Space: Model space
Handle = 1c9
center point, X=  15.0511  Y=  14.9691  Z=   0.0000
radius    2.2651
circumference   14.2322
area   16.1188

LINE      Layer: “0″
Space: Model space
Handle = 1ca
from point, X=  17.5267  Y=   7.1338  Z=   0.0000
to point, X=  30.2472  Y=  12.8391  Z=   0.0000
Length =  13.9414,  Angle in XY Plane =     24
Delta X =  12.7205, Delta Y =    5.7054, Delta Z =   0.0000

LINE      Layer: “0″
Space: Model space
Handle = 1cb
from point, X=  30.2472  Y=  12.8391  Z=   0.0000
to point, X=  33.5226  Y=   7.9706  Z=   0.0000
Length =   5.8678,  Angle in XY Plane =    304
Press ENTER to continue:
Delta X =   3.2753, Delta Y =   -4.8686, Delta Z =   0.0000

That’s all for today. Finally I’d like to urge you to go take a look at Ellen’s blog – it certainly has some great AutoCAD® tips!


P.S. Subscribe below, and let me know any tips you want me to write about 🙂


The XOPEN Command

A quick tip for today – the XOPEN command.

This command simply allows you to open an XREF, without needing to open the XREF menu, and without even needing to know the name of the reference you wish to open. Type XOPEN, and simply select on screen the external reference that you wish to open.

Not much more to elaborate on, so I’ll leave it at that!

Soon I’ll do a nice meaty post on VB.NET, so keep tuned in 🙂


The UNDEFINE Command

There are many commands in AutoCAD®, and it is possible to create your own custom command shortcuts through either LISP or using acad.pgp (see my article on how to use acad.pgp).

But what if you wanted to remap an existing built in AutoCAD® command to another command? I for example wanted to map “SS” to the COPY command, but the normal methods such as defining a LISP command or using acad.pgp do not work, because “SS” is a built in command for manipulating selection sets.

The solution is this – you must firstly undefine the built in command using the UNDEFINE command. This removes it from the AutoCAD® built in command list, but for that session only. You are then free to use any mechanism to map the command to something else as you would normally. But this does mean that because it’s for the current session only, you’ll have to do it each time you start up AutoCAD®, which isn’t ideal.

But, as usual, there is a way to achieve what we want. We can simply add the following command to the acad.lsp file, and it will run the UNDEFINE command for the specified command when you first open AutoCAD:

(command “undefine” “ss”)

The command is then free to be mapped as you see fit, and it is often useful to do this immediately following the UNDEFINE command in LISP.

I hope this helps some of you – it took me quite a while to get to the bottom of the problem when trying to remap “SS”, so hopefully I’ll have saved some of you some time.

As always if you found this post useful please do subscribe below, and if you have any tips to share, no matter how small you think they are, get in touch.