In this Article...
AutoCAD layer is a great feature to manage objects in your drawings. What we don’t like about it is we often need to change layer before we draw. For example when we want to draw dimensions, we need to change the layer to dimension layer. Then change the layer again when we need to draw other objects.
You can create a macro command to do this automatically. Of course, you can use LISP. But the good thing about macro is you can use it in AutoCAD LT too.
The command macro
If you are not familiar with AutoCAD command macro, you can read this excellent tutorial by Paul Munford.
The macro code for this macro is very simple:
^C^C-layer;set;DIMENSIONLAYERNAME; _DIMLINEAR
Replace DIMENSIONLAYERNAME with your dimension layer. This layer must exist in your drawing for this macro to works.
Using the macro
There are various ways how you can use the macro. The easiest way is to place it in tool palettes as described in this tutorial.
If you are familiar with AutoCAD CUI, you can place the command in a ribbon tab or toolbar. You can also use it as a shortcut. For example ctrl+D to activate this macro.
A more advanced macro
The macro above will work great. We can make the macro to change the layer back to the previous layer immediately after the command is finished. So when you are working with wall layer, create a dimension on dimension layer, then the current layer is back to wall layer.
The macro will be:
^C^C-layer;set;DIMENSIONLAYERNAME; _DIMLINEAR;\\\LAYERP
This macro will allow you to create dimension on dimension layer. Then change the layer back to previous. However, if you press Esc key before the dimension is drawn, the layer previous command won’t be executed.
What is your favorite macro command?
There are many ways to customize AutoCAD commands. A custom command can help you to work easier, even if it’s only a simple customization.
What about you? Do you use command macros? If yes, can you share it with us in this article’s comment section?
Thank you to Hai Le for sharing this command macro!
Hi! Such a good tip! But for me it only works if I click on the tab “dimension” and then select “linear”. It won’t work if a use da command “dli”. Am I doing something wrong? Thank you
Maradei,
This macro will only work on where you use the macro. It can be on toolbar, ribbon, shortcut key or tool palettes. But if you want to use it on command line, you need AutoLISP to do that. Macro can’t work on command alias.
Ok! Thank you very much again, Mr. Prakoso. Have a nice week!
I am a beginner in auticad
Love it! Always good to build in safeguards for correct layering.
To save the risk of escaping the command early and leaving your current layer as the dim layer, the macro can start with the dimlinear command and move the object into the layer after the fact by finishing the macro with:
Change;Properties;Last;;LAyer;DimLayerName;;
That is excellent workaround! I’ve never thought of it. Thanks for the tip!