The PICKSTYLE System Variable

Very quick tip to supplement the last post I wrote on Groups, which comes to us thanks to one of my subscribers named Santiago.

I mentioned that the behaviour when selecting a group is controllable using the groups dialog box by modifying the checkbox marked “selectable”. Well this corresponds to the system variable PICKSTYLE, so if you’re more of a keyboard user than a dialog box user, you can use that instead.

Knowing this system variable is also handy if you want to change the way groups work in LISP for example. Using something like:

(setvar “PICKSTYLE” 0) or (setvar “PICKSTYLE” 1)

will toggle group selection mode, so that you can use groups in your LISP routine how you want.

That’s all for today. Thanks again to Santiago, and I’ll post again soon.


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.


Copy Layers to Excel

Hi everyone,

Recently someone showed me a really simple, and rather obscure tip that I thought was pretty neat. I must admit, I’m yet to find a practical use for it, but I’m sure as with many other obscure commands it’ll be extremely useful in that once-in-a-blue-moon occasion that demands it…

Autodesk have evidently made it possible to copy and paste layers from the layer dialogue box to a text format, either in a text editor, or most conveniently, directly into Microsoft Excel. Simply select the layers you want to copy, press CTRL+C and just paste it into your spreadsheet. There, you could perhaps report on … something ?! Like I said, I haven’t found a practical use for this yet – but let me know what you all come up with, now that you know this functionality exists!

That’s all for today,


P.S. If you liked this tip please do subscribe below, and do forward on any tips you want me to share 🙂

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.