2012
Table Of Contents
- Contents
- Basic Customization
- Overview of Customization
- Organize Program and Support Files
- Customize a Publish to Web Template
- Define Custom Commands
- Record and Modify Action Macros
- Custom Linetypes
- Custom Hatch Patterns
- User Interface Customization
- Understand User Interface Customization
- Work with the Customize User Interface (CUI) Editor
- Create and Manage Customization Files
- Customize Commands
- Overview of Commands
- Create, Edit, and Reuse Commands
- Create Macros
- Overview of Macros
- Use Special Control Characters in Macros
- Pause for User Input in Macros
- Provide International Support in Macros
- Use Built-in Commands in Macros
- Repeat Commands in Macros
- Use Single Object Selection Mode in Macros
- Use Macros to Swap User Interface Elements
- Use Conditional Expressions in Macros
- Use AutoLISP in Macros
- Control the Display of Command Items
- Assign Search Tags
- Create Tooltips and Extended Help for Commands
- Create Status Line Help Messages
- Create and Manage Images for Commands
- Customize User Interface Elements
- Load an AutoLISP File
- Customize Workspaces
- Transfer and Migrate Customization
- Customize User Interface (CUI) Editor FAQs
- DIESEL
- Slides and Command Scripts
- Introduction to Programming Interfaces
- Shapes and Shape Fonts
- Overview of Shape Files
- Create Shape Definition Files
- Shape Descriptions
- Vector Length and Direction Code
- Special Codes
- Use Special Codes
- Codes 0, 1, and 2: End of Shape and Draw Mode Control
- Codes 3 and 4: Size Control
- Codes 5 and 6: Location Save/Restore
- Code 7: Subshape
- Codes 8 and 9: X-Y Displacements
- Code 00A: Octant Arc
- Code 00B: Fractional Arc
- Codes 00C and 00D: Bulge-Specified Arcs
- Code 00E: Flag Vertical Text Command
- Text Font Descriptions
- Sample Files
- Big Font Descriptions
- Unicode Font Descriptions
- Superscripts and Subscripts in SHX Files
- Migrate and Transfer Custom Settings and Files
- Index
AutoCAD VBA
Microsoft Visual Basic for Applications (VBA) is an object-based programming
environment designed to provide rich development capabilities. The main
difference between VBA and VB (Visual Basic 6) is that VBA runs in the same
process space as AutoCAD, providing an AutoCAD-intelligent and very fast
programming environment.
Overview of AutoCAD VBA
VBA provides application integration with other VBA-enabled applications.
This means that AutoCAD, using other application object libraries, can be an
Automation controller for other applications such as Microsoft Word or Excel.
NOTE Microsoft
®
Visual Basic
®
for Applications software (VBA) is no longer installed
with AutoCAD. For more information, visit http://www.autodesk.com/vba-download.
The stand-alone development editions of Visual Basic 6, which must be
purchased separately, complement AutoCAD VBA with additional components
such as an external database engine and report-writing capabilities.
Develop with AutoCAD VBA
VBA sends messages to AutoCAD by the AutoCAD ActiveX Automation
Interface. AutoCAD VBA permits the Visual Basic environment to run
simultaneously with AutoCAD and provides programmatic control of AutoCAD
through the ActiveX Automation Interface. This linking of AutoCAD, ActiveX
Automation, and VBA provides an extremely powerful interface. It not only
controls AutoCAD objects, but it also sends data to or retrieves data from other
applications.
The integration of VBA into AutoCAD provides an easy-to-use visual tool for
customizing AutoCAD. For example, you can create an application that extracts
attribute information automatically, inserts the results directly into an Excel
spreadsheet, and performs any data transformations you need.
Three fundamental elements define VBA programming in AutoCAD. The first
is AutoCAD itself, which has a rich set of objects that include AutoCAD entities,
data, and commands. AutoCAD is an open-architecture application with
multiple levels of interface. To use VBA effectively, familiarity with AutoCAD
programmability is highly desirable. However, you will find that the VBA
object-based approach is quite different from that of AutoLISP.
428 | Chapter 7 Introduction to Programming Interfaces