VBA Hints for Customizing AutoCAD (Hot Tip Harry AutoCAD Tutorial)

31 Aug, 2008 By: Bill Kramer

Harry shares some Visual Basic favorites as well as this month's top tip for making custom linetype.

Download code for this month's tips at Cadalyst's CAD Tips site. Search for the tip of your choice by tip number or keyword. Code downloads are free and are provided as is without warranty or support.
Tips are tested using AutoCAD 2008, unless otherwise noted. By submitting code to Cadalyst, you grant Cadalyst the right to print and distribute your code in print, digitally and by other means. Cadalyst and individual authors retain all rights to the code, and it is not to be used for commercial purposes.
Important note: Be sure your submission contains all elements required for it to run independently in AutoCAD. Tips that are missing functions or other necessary elements will not be considered.
Join the Hot Tip Harry Hot Code Contest
Calling all tip writers! The Hot Tip Harry Hot Code Contest is under way for 2008.
Share your hot tips and tricks and you could win an official Cadalyst t-shirt, $100 monthly cash prize, and a chance to win a trip to Autodesk University 2008 in Las Vegas!
E-mail those tips and tricks to
For More AutoCAD Tips More Often: Check out Cadalyst's free Tips & Tools Weekly e-newsletter. View the archives and subscribe today!
Harry's Code Class Free E-Newsletter:
Learn from the master himself. "Hot Tip Harry" author Bill Kramer offers monthly lessons in customization programming for AutoCAD. View the archives and subscribe today!
Harry smiled as he handed over a couple of tips. "Got these cool VBA examples that are just what some of your readers wanted. Little rough on the edges but still good. Hope they help." And with that, he was out the door.

Tip 3006: Script Manager
Let's start with the VBA tips. Script Manager by Ed Jobe is a VBA-based utility to manage and run script files in a custom folder. Before you can use this tip, you will need to load it into AutoCAD's VBA editor (use VBAman to load the file, then VBAide to edit it) and change the starting and personal folder paths. Module 1 contains a brief description of the edits required to make this work for your setup. After you make the needed changes, this routine, which is launched by LISP macros in supplied examples, will present a dialog box of the script files available to run. You can edit, rename, run, or delete existing scripts or create a new script to run in Notepad. This utility is a great example for those just learning VBA, and it's quite useful if you have a library of scripts to manage.

Tip 3007: Integrated Database
Integrated Database is a rather complex VBA example program for producing a material list with an integrated Microsoft Access database. The tip serves more as a useful example for study by VBA students than as a utility you can put right to work. Supplied by Andrew Maser and written according to in-house standards at McBride Engineering, it demonstrates quite a few VBA features, such as how to interface with an Access database and how to automate the creation of a bill of materials for cost estimation.

Tip 3008: Rename Layouts
Rename Layouts from James Sturgess is a neat little AutoLISP routine for naming layouts based on a text or an attribute selection within a drawing. After you load the LISP code, select the layout tab you want to modify to make it current and type NLay. You will be asked to select a text or an attribute object. The layout is renamed to the value in the text string. Quick and simple gets the job done — cool idea!

Tip 3009: Duct Transition
Shawn Evjen submitted Duct Transition, an expert drafting utility that skillfully creates the transition element graphic between two different duct sizes given just a few selections. Load the LISP code and type Duct_Trans when you are ready to draw a transition section. First, select one edge of the existing duct (end point). Next, pick a point toward the opposite side (perpendicular to the duct-run direction). Last, enter the initial duct size (default is the distance between the two points just described) and the ending duct size. A transitional element (drawn using polylines on the current layer) is the automatic result. This programming effort was time well spent; thanks for sharing!

Tip 3010: AIA Standard Layers
Michael Stachulak provided AIA Standard Layers, a must-have utility for architects who create all the layers needed for the American Institute of Architects standards according to the 1997 AIA CAD Layer Guidelines. The utility creates a long list of layers with linetypes and colors. Layers are created only if they don't already exist in the drawing, thus the utility will not interfere with the use of prototype drawings. To use this utility, simply load the LISP code and type AIALayers2009 at the AutoCAD Command line. (Note that a separate download file, AIALayers.LSP, is included for pre-AutoCAD 2009 compatibility.)

Tip 3011: Create Custom Linetype
Top TipThis month's top tip by Ron Perez is Create Custom Linetype, which automates the steps needed to make a custom linetype with embedded characters. Load the LISP code and type MakeLT to start it. You will be asked to supply a string to be embedded in the linetype. Type in the characters and select Enter. A temporary linetype file definition is created and loaded into the current drawing. All you need to do now is relate it to a layer name, and it is ready to go. This is a nice timesaver for those who make custom linetypes, and it's well deserving of this month's top tip prize!

Thanks to all the tipsters. If you have a tip you'd like to contribute, Harry has some very nice T-shirts to trade for your code. Maybe your code will be selected as a top tip — an honor not everyone can boast — and Harry will throw in an extra $100. Until month, keep on programmin'.

Join the Hot Tip Harry Challenge
Harry needs your tips! Do you have an original routine written in VBA, Visual LISP, or even ObjectARX for AutoCAD customization? Send it in, with all the source code, to Your tip may be needed by others now, so don't delay!

Subscribe to Harry's Code Class
Cadalyst's Hot Tip Harry helps programmers and programmer wannabes learn the ins and outs of AutoCAD customization in his monthly e-newsletter, Harry's Code Class. Subscribe to Harry's Code Class today and start building your programming expertise.

Hot Tip Harry Discussion Forums
Harry is standing by online to aid AutoCAD users and programmers. Cadalyst's Hot Tip Harry -- Help! Discussion Forum offers assistance with AutoCAD programming and customization problems. Hot Tip Harry -- Requests Discussion Forum can help you locate a specific LISP or VBA routine for AutoCAD. Participation in Cadalyst Discussion Forums requires registration, but it's free.

Get Your Weekly Fix of AutoCAD Tips
Cadalyst's Tips & Tools Weekly e-newsletter mails each Monday, delivering AutoCAD tips by readers for readers -- all reviewed by Cadalyst's volunteer Tip Patrol. Plus, you'll receive a rundown of new online CAD resources, deals and freebies, new CAD-related hardware and software products, and more. View the Cadalyst Tips & Tools Weekly archives and subscribe today!

AutoCAD Users: Check out Cadalyst Tips & Tricks Tuesdays
All it takes is a minute or two, and you could be off to more productive use of AutoCAD. Cadalyst announces Tips & Tricks Tuesdays with worldwide AutoCAD Technical Evangelist Lynn Allen. Each Tuesday, Lynn and Cadalyst bring a new, super-quick tip to the Cadalyst Video Gallery. Subscribe to Tips & Tricks Tuesdays and receive an e-mail notification every time a new tip goes live in the Cadalyst Video Gallery.

About the Author: Bill Kramer

More News and Resources from Cadalyst Partners

For Mold Designers! Cadalyst has an area of our site focused on technologies and resources specific to the mold design professional. Sponsored by Siemens NX.  Visit the Equipped Mold Designer here!

For Architects! Cadalyst has an area of our site focused on technologies and resources specific to the building design professional. Sponsored by HP.  Visit the Equipped Architect here!