16,99 €
Boost productivity and streamline your workflow with expertAutoCAD: VBA programming instruction AutoCAD Platform Customization: VBA is the definitiveguide to personalizing AutoCAD and the various programs that run onthe AutoCAD platform, including AutoCAD Architecture, Civil 3D,Plant 3D, and more. Written by an Autodesk insider with years ofcustomization and programming experience, this book featuresdetailed discussions backed by real-world examples andeasy-to-follow tutorials that illustrate each step in thepersonalization process. Readers gain expert guidance towardmanaging layouts and external references, changing the menu andother interface items, creating forms, and communicating withOffice applications--all designed to streamline the workspaceand improve productivity. An additional resources appendix,downloadable datasets, and customization examples provide extrainformation and tools that allow users to implement the mostadvanced customizations. Autodesk's AutoCAD platform is the basis for much of thesoftware that is integral to the modern design and engineeringprocesses. VBA allows users to customize the AutoCAD interface andother features to increase screen real estate, create macros,validate drawing information, and more, leaving less repetition,fewer distractions, and more time for design. AutoCAD PlatformCustomization: VBA walks readers through the many optionsavailable, teaching them to: * Create, modify, annotate, and view drawing objects * Interact comfortably with the application, open documents, andthe user * Manage external data, communicate with other applications, anddefine user forms * Debug custom programs and handle errors Customization allows users to keep their favorite tools at theirfingertips, and put away the ones they don't need. For AutoCADusers looking to streamline their workflow, AutoCAD PlatformCustomization: VBA provides expert instruction and insideradvice.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 709
Veröffentlichungsjahr: 2015
Title Page
Copyright
Dedication
Acknowledgments
About the Author
Introduction
About This Book
Is This Book for You?
VBA in AutoCAD
What to Expect
Other Information
Styles and Conventions of This Book
Contacting the Author
Chapter 1: Understanding the AutoCAD VBA Environment
What Makes Up an AutoCAD VBA Project?
What You'll Need to Start
Getting Started with the VBA Editor
Managing VBA Programs
Executing VBA Macros
Accessing the AutoCAD VBA Documentation
Chapter 2: Understanding Visual Basic for Applications
Learning the Fundamentals of the VBA Language
Exploring Data Types
Comparing Values
Conditionalizing and Branching Statements
Repeating and Looping Expressions
Chapter 3: Interacting with the Application and Documents Objects
Working with the Application
Managing Documents
Working with System Variables
Querying and Setting Application and Document Preferences
Executing Commands
Exercise: Setting Up a Project
Chapter 4: Creating and Modifying Drawing Objects
Understanding the Basics of a Drawing-Based Object
Accessing Objects in a Drawing
Working with Model or Paper Space
Creating Graphical Objects
Getting an Object in the Drawing
Modifying Objects
Changing Object Properties
Exercise: Creating, Querying, and Modifying Objects
Chapter 5: Interacting with the User and Controlling the Current View
Interacting with the User
Selecting Objects
Performing Geometric Calculations
Changing the Current View
Exercise: Getting Input from the User to Draw the Plate
Chapter 6: Annotating Objects
Working with Text
Dimensioning Objects
Creating and Modifying Geometric Tolerances
Adding Leaders
Organizing Data with Tables
Creating Fields
Exercise: Adding a Label to the Plate
Chapter 7: Working with Blocks and External References
Managing Block Definitions
Inserting and Working with Block References
Managing External References
Listing File Dependencies
Exercise: Creating and Querying Blocks
Chapter 8: Outputting Drawings
Creating and Managing Layouts
Displaying Model Space Objects with Viewports
Controlling the Output of a Layout
Plotting and Previewing a Layout
Exporting and Importing File Formats
Exercise: Adding a Layout to Create a Check Plot
Chapter 9: Storing and Retrieving Custom Data
Extending Object Information
Creating and Modifying a Custom Dictionary
Storing Information in the Windows Registry
Exercise: Storing Custom Values for the Room Labels Program
Chapter 10: Modifying the Application and Working with Events
Manipulating the AutoCAD User Interface
Using External Custom Programs
Working with Events
Exercise: Extending the User Interface and Using Events
Chapter 11: Creating and Displaying User Forms
Adding and Designing a User Form
Placing and Arranging Controls on a User Form
Changing the Appearance of a User Form or Control
Defining the Behavior of a User Form or Control
Displaying and Loading a User Form
Exercise: Implementing a User Form for the DrawPlate Project
Chapter 12: Communicating with Other Applications
Referencing a Programming Library
Creating and Getting an Instance of an Object
Accessing a Drawing File from outside of AutoCAD
Working with Microsoft Windows
Reading and Writing Text Files
Parsing Content in an XML File
Working with Microsoft Office Applications
Exercise: Reading and Writing Data
Chapter 13: Handling Errors and Deploying VBA Projects
Catching and Identifying Errors
Debugging a VBA Project
Deploying a VBA Project
Exercise: Deploying the DrawPlate VBA Project
End User License Agreement
vii
ix
xxi
xxii
xxiii
xxiv
xxv
xxvi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
Cover
Table of Contents
Begin Reading
Figure 1.1
Figure 1.2
Figure 1.3
Figure 1.4
Figure 1.5
Figure 1.6
Figure 1.7
Figure 1.8
Figure 1.9
Figure 1.10
Figure 1.11
Figure 3.1
Figure 3.2
Figure 3.3
Figure 3.4
Figure 3.5
Figure 4.1
Figure 4.2
Figure 4.3
Figure 4.4
Figure 4.5
Figure 4.6
Figure 4.7
Figure 4.8
Figure 4.9
Figure 5.1
Figure 5.2
Figure 5.3
Figure 5.4
Figure 5.5
Figure 6.1
Figure 6.2
Figure 6.3
Figure 6.4
Figure 6.5
Figure 6.6
Figure 6.7
Figure 6.8
Figure 7.1
Figure 7.2
Figure 7.3
Figure 7.4
Figure 7.5
Figure 7.6
Figure 8.1
Figure 9.1
Figure 9.2
Figure 9.3
Figure 10.1
Figure 10.2
Figure 10.3
Figure 10.4
Figure 10.5
Figure 10.6
Figure 10.7
Figure 11.1
Figure 11.2
Figure 11.3
Figure 11.4
Figure 11.5
Figure 11.6
Figure 11.7
Figure 11.8
Figure 11.9
Figure 11.10
Figure 11.11
Figure 12.1
Figure 12.2
Figure 12.3
Figure 13.1
Figure 13.2
Figure 13.3
Figure 13.4
Figure 13.5
Figure 13.6
Figure 13.7
Figure 13.8
Figure 13.9
Figure 13.10
Table 2.1
Table 2.2
Table 2.3
Table 2.4
Table 2.5
Table 3.1
Table 3.2
Table 3.3
Table 3.4
Table 3.5
Table 4.1
Table 4.2
Table 4.3
Table 4.4
Table 4.5
Table 4.6
Table 4.7
Table 4.8
Table 4.9
Table 5.1
Table 5.2
Table 5.3
Table 5.4
Table 5.5
Table 6.1
Table 6.2
Table 7.1
Table 7.2
Table 7.3
Table 7.4
Table 7.5
Table 7.6
Table 7.7
Table 7.8
Table 8.1
Table 8.2
Table 8.3
Table 8.4
Table 8.5
Table 9.1
Table 10.1
Table 10.2
Table 10.3
Table 10.4
Table 10.5
Table 10.6
Table 11.1
Table 11.2
Table 12.1
Table 12.2
Table 12.3
Table 12.4
Table 12.5
Table 12.6
Table 13.1
Table 13.2
Lee Ambrosius
Senior Acquisitions Editor: Stephanie McComb
Development Editor: Mary Ellen Schutz
Technical Editor: Richard Lawrence
Production Editor: Dassi Zeidel
Copy Editor: Liz Welch
Editorial Manager: Pete Gaughan
Production Manager: Kathleen Wisor
Associate Publisher: Jim Minatel
Book Designers: Maureen Forys, Happenstance Type-O-Rama; Judy Fung
Proofreader: Candace Cunningham
Indexer: Ted Laux
Project Coordinator, Cover: Brent Savage
Cover Designer: Wiley
Cover Image: © Smileyjoanne/iStockphoto.com
Copyright © 2015 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-90044-4 (ebk.)
ISBN: 978-1-118-90698-9 (ebk.)
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (877) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2015936845
TRADEMARKS: Wiley, the Wiley logo, and the Sybex logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. AutoCAD is a registered trademark of Autodesk, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.
To my friend Kathy Enderby: You were one of the first people to encourage me to follow my passion for programming and sharing what I had learned with others. Thank you for believing in me all those years ago and for being there when I needed someone to bounce ideas off—especially during those late-night scrambles right before deploying a new software release.
I have to give a very special thanks to all the great folks at Sybex, especially Willem Knibbe, for working on and helping to get this project off the ground after a few years of talking about it. The next two people I would like to thank are Mary Ellen Schutz and Dassi Zeidel, the development and production editors on this book; you two made sure I stayed on track and delivered a high-quality book. I also want to thank Liz Welch (copyeditor), Candace Cunningham (proofreader), and Ted Laux (indexer) for the work you all did on this book.
Thanks to all the folks at Autodesk, who put in the long hours and are dedicated to the work they do on the Autodesk® AutoCAD® product. I cannot forget one of the most important individuals on this book, my technical editor, Richard Lawrence. Richard is a great friend who I met many years ago at Autodesk University. He is a passionate and driven user of AutoCAD and is always looking to improve the way he uses AutoCAD. Richard, I appreciate everything that you have done to make this book better. Congrats on making it through your first book as a technical editor.
Lee Ambrosius first started working with AutoCAD R12 for DOS in 1994. As a drafter, he quickly discovered that every project included lots of repetition. Lee, not being one to settle for “this is just the way things are,” set out on a path that would redefine his career. This new path would lead him into the wondrous world of customization and programming—which you might catch him referring to as “the rabbit hole.”
In 1996, Lee began learning the core concepts of customizing the AutoCAD user interface and AutoLISP. The introduction of VBA in AutoCAD R14 would once again redefine how Lee approached programming solutions for AutoCAD. VBA made it much easier to communicate with external databases and other applications that supported VBA. It transformed the way information could be moved between project-management and manufacturing systems.
Not being content with VBA, in 1999 Lee attended his first Autodesk University and began to learn ObjectARX®. Autodesk University had a lasting impression on him. In 2001, he started helping as a lab assistant. He began presenting on customizing and programming AutoCAD at the event in 2004. Along the way he learned how to use the AutoCAD Managed .NET API.
In 2005, Lee decided cubicle life was no longer for him, so he ventured off into the CAD industry as an independent consultant and programmer with his own company, HyperPics, LLC. After he spent a few years as a consultant, Autodesk invited him to work on the AutoCAD team; he has been on the AutoCAD team since 2007. For most of his career at Autodesk, Lee has worked primarily on customization and end-user documentation. Recently, he has been working on the AutoLISP, VBA, ObjectARX, .NET, and JavaScript programming documentation.
In addition to working on the AutoCAD documentation, Lee has been involved as a technical editor or author for various editions of the AutoCAD and AutoCAD LT Bible, AutoCAD for Dummies, AutoCAD & AutoCAD LT All-in-One Desk Reference for Dummies, AutoCAD 3D Modeling Workbook for Dummies, and Mastering AutoCAD for Mac. He has also written white papers on customization for Autodesk and a variety of articles on customization and programming for AUGIWorld, published by AUGI®.
Welcome to AutoCAD Platform Customization: VBA! Have you ever thought to yourself, why doesn't the Autodesk® AutoCAD® program include every feature I need? Why isn't it streamlined for the type of work I perform? If so, you are not alone. AutoCAD at its core is a drafting platform that, through programming, can be shaped and molded to more efficiently complete the tasks you perform on a daily basis and enhance your company's workflows. Take a deep breath. I did just mention programming, but programming isn't something to fear. At first, just the idea of programming makes many people want to run in the opposite direction—myself included. The productivity gains are what propelled me forward. Programming isn't all that different from anything else you've tried doing for the first time.
In many ways, learning to program is much like learning a foreign language. For many new to Visual Basic for Applications (VBA), the starting place is learning the basics: the syntax of the programming language and how to leverage commands and system variables. Executing commands and working with system variables using the SendCommand and PostCommand methods can be a quick way to get started and become comfortable with VBA. After you are comfortable with the syntax of VBA and the SendCommand and PostCommand functions, you can begin to learn how to access the AutoCAD Object library to develop more complex and robust programs.
AutoCAD Platform Customization: VBA provides you with an understanding of the VBA programming language and how it can be used in combination with the AutoCAD Object library to improve your productivity. This book is designed to be more than just an introduction to VBA and the AutoCAD Object library; it is a resource that can be used time and again when developing VBA programs for use with AutoCAD. As you page through this book, you will notice that it contains sample code and exercises that are based on real-world solutions.
This book is the third and final book in a series that focuses on customizing and programming AutoCAD. The three-book series as a whole is known as AutoCAD Platform Customization: User Interface, AutoLISP, VBA, and Beyond, which will be available as a printed book in 2015. Book 1 in the series, AutoCAD Platform Customization: User Interface and Beyond, was published in early 2014 and focused on CAD standards and general customization of AutoCAD; Book 2, AutoCAD Platform Customization: AutoLISP, was published in mid-2014 and covers the AutoLISP programming language.
AutoCAD Platform Customization: VBA covers many aspects of VBA programming for AutoCAD on Windows. If any of the following are true, this book will be useful to you:
You want to develop and load custom programs with the VBA programming language for use in the AutoCAD drawing environment.
You want to automate the creation and manipulation of drawing objects.
You want to automate repetitive tasks.
You want to help manage and enforce CAD standards for your company.
VBA programming isn't supported for AutoCAD on Mac OS.
VBA is often overlooked as one of the options available to extend the AutoCAD program. There is no additional software to purchase, but you must download and install a release-specific secondary component to use VBA. You can leverage VBA to perform simple tasks, such as inserting a title block with a specific insertion point, scale, and rotation and placing the block reference on a specific layer. To perform the same tasks manually, end users would have to first set a layer as current, choose the block they want to insert, and specify the properties of the block, which in the case of a title block are almost always the same.
The VBA programming language and AutoCAD Object library can be used to do the following:
Create and manipulate graphical objects in a drawing, such as lines, circles, and arcs
Create and manipulate nongraphical objects in a drawing, such as layers, dimension styles, and named views
Perform mathematical and geometric calculations
Request input from or display messages to the user at the Command prompt
Interact with files and directories in the operating system
Read from and write to external files
Connect to applications that support ActiveX and COM
Display user forms and get input from the end user
VBA code statements are entered into the Visual Basic Editor and stored in a DVB file. Once a VBA project has been loaded, you can execute the macros through the Macros dialog box. Unlike standard AutoCAD commands, macros cannot be executed from the Command prompt, but once executed, a macro can prompt users for values at the Command prompt or with a user form. It is possible to execute a macro from a command macro that is activated with a command button displayed in the AutoCAD user interface or as a tool on a tool palette.
This book is organized to help you learn VBA fundamentals and how to use the objects in the AutoCAD Object library. Additional resources and files containing the example code found throughout this book can be found on the companion web page, www.sybex.com/go/autocadcustomization.
Chapter 1
: Understanding the AutoCAD VBA Environment
In this chapter, you'll get an introduction to the Visual Basic Editor. I begin by showing you how to verify whether the VBA environment for AutoCAD has been installed and, if not, how to install it. After that, you are eased into navigating the VBA Editor and managing VBA programs. The chapter wraps up with learning how to execute macros and access the help documentation.
Chapter 2
: Understanding the Visual Basic for Application
In this chapter, you'll learn the fundamentals of the VBA programming language and how to work with objects. VBA fundamentals include a look at the syntax and structure of a statement, how to use a function, and how to work with variables. Beyond syntax and variables, you learn to group multiple statements into a custom procedure.
Chapter 3
: Interacting with the Application and Documents Objects
In this chapter, you'll learn to work with the AutoCAD application and manage documents. Many of the tasks you perform with an AutoCAD VBA program require you to work with either the application or a document. For example, you can get the objects in a drawing and even access end-user preferences. Although you typically work with the current document, VBA allows you to work with all open documents and create new documents. From the current document, you can execute commands and work with system variables from within a VBA program, which allows you to leverage and apply your knowledge of working with commands and system variables.
Chapter 4
: Creating and Modifying Drawing Objects
In this chapter, you'll learn to create and modify graphical objects in model space with VBA. Graphical objects represent the drawing objects, such as a line, an arc, or a circle. The methods and properties of an object are used to modify and obtain information about the object. When working with the objects in a drawing, you can get a single object or step through all objects in a drawing.
Chapter 5
: Interacting with the User and Controlling the Current View
In this chapter, you'll learn to request input from an end user and manipulate the current view of a drawing. Based on the values provided by the end user, you can then determine the end result of the program. You can evaluate the objects created or consider how a drawing will be output and use that information to create named views and adjust the current view in which objects are displayed.
Chapter 6
: Annotating Objects
In this chapter, you'll learn how to create and modify annotation objects. Typically, annotation objects are not part of the final product that is built or manufactured based on the design in the drawing. Rather, annotation objects are used to communicate the features and measurements of a design. Annotation can be a single line of text that is used as a callout for a leader, a dimension that indicates the distance between two drill holes, or a table that contains quantities and information about the windows and doors in a design.
Chapter 7
: Working with Blocks and External References
In this chapter, you'll learn how to create, modify, and manage block definitions. Model space in a drawing is a special named block definition, so working with block definitions will feel familiar. Once you create a block definition, you will learn how to insert a block reference and work with attributes along with dynamic properties. You'll complete the chapter by learning how to work with externally referenced files.
Chapter 8
: Outputting Drawings
In this chapter, you will learn how to output the graphical objects in model space or on a named layout to a printer, plotter, or electronic file. Named layouts will be used to organize graphical objects for output, including title blocks, annotation, floating viewports, and many others. Floating viewports will be used to control the display of objects from model space on a layout at a specific scale. After you define and configure a layout, you learn to plot and preview a layout. The chapter wraps up with covering how to export and import file formats.
Chapter 9
: Storing and Retrieving Custom Data
In this chapter, you will learn how to store custom information in a drawing or in the Windows Registry. Using extended data (Xdata), you will be able to store information that can be used to identify a graphical object created by your program or define a link to a record in an external database. In addition to attaching information to an object, you can store data in a custom dictionary that isn't attached to a specific graphical object in a drawing. Both Xdata and custom dictionaries can be helpful in making information available between drawing sessions; the Windows Registry can persist data between sessions.
Chapter 10
: Modifying the Application and Working with Events
In this chapter, you will learn how to customize and manipulate the AutoCAD user interface. You'll also learn how to load and access externally defined custom programs and work with events. Events allow you to respond to an action that is performed by the end user or the AutoCAD application. There are three main types of events that you can respond to: application, document, and object.
Chapter 11
: Creating and Displaying User Forms
In this chapter, you will learn how to create and display user forms. User forms provide a more visual approach to requesting input from the user.
Chapter 12
: Communicating with Other Applications
In this chapter, you will learn how to work with libraries provided by other applications. These libraries can be used to access features of the Windows operating system, read and write content in an external text or XML file, and even work with the applications that make up Microsoft Office.
Chapter 13
: Handling Errors and Deploying VBA Projects
In this chapter, you will learn how to catch and handle errors that are caused by the incorrect use of a function or the improper handling of a value that is returned by a function. The Visual Basic Editor provides tools that allow you to debug code statements, evaluate values assigned to user-defined variables, identify where within a program an error has occurred, and determine how errors should be handled. The chapter wraps everything up with covering how to deploy a VBA project on other workstations for use by individuals at your company.
Bonus Chapter 1: Working with 2D Objects and Object Properties
In this chapter, you build on the concepts covered in
Chapter 4
, “Creating and Modifying Drawing Objects.” You will learn to create additional types of 2D objects and use advanced methods of modifying objects; you also learn to work with complex 2D objects such as regions and hatch fills. The management of layers and linetypes and the control of the appearance of objects are also covered.
Bonus Chapter 2: Modeling in 3D Space
In this chapter, you learn to work with objects in 3D space and 3D with objects. 3D objects can be used to create a model of a drawing which can be used to help visualize a design or detect potential design problems. 3D objects can be viewed from different angles and used to generate 2D views of a model that can be used to create assembly directions or shop drawings.
Bonus Chapter 3: Development Resources
In this chapter, you discover resources that can help expand the skills you develop from this book or locate an answer to a problem you might encounter. I cover development resources, as well as places you might be able to obtain instructor-led training and interact with fellow users on extending AutoCAD. The online resources listed cover general customization, AutoLISP, and VBA programming in AutoCAD.
Bonus Chapter 1, Bonus Chapter 2, and Bonus Chapter 3 are located on the companion website.
An online counterpart to this book, the companion website contains the sample files required to complete the exercises found in this book, in addition to the sample code and project files used to demonstrate some of the programming concepts explained in this book. In addition to the sample files and code, the website contains resources that are not mentioned in this book, such as the bonus chapters. The companion website can be found at www.sybex.com/go/autocadcustomization.
This book assumes that you know the basics of your operating system and AutoCAD 2009 or later. When appropriate, I indicate when a feature does not apply to a specific operating system or release of AutoCAD. Most of the images in this book were taken using AutoCAD 2014 in Windows 8.
Neither AutoCAD LT® nor AutoCAD running on Mac OS support the VBA programming platform, none of the content in this book can be used if you are working on Mac OS.
This book uses a number of styles and character formats—bold, italic, monotype face, and all uppercase or lowercase letters, among others—to help you distinguish between the text you read, sample code you can try, text that you need to enter at the AutoCAD Command prompt, or the name of an object class or method in one of the programming languages.
As you read through this book, keep the following conventions in mind:
User-interface selections are represented by one of the following methods:
Click the Application button Options.
On the ribbon, click the Manage tab Customization User Interface.
On the menu bar, click Tools Customize Interface.
In the drawing window, right-click and click Options.
Keyboard input is shown in bold (for example, type
cui
and press Enter).
Prompts that are displayed at the AutoCAD Command prompt are displayed as monospace font (for example,
Specify a start point:
).
AutoCAD command and system variable names are displayed in all lowercase letters with a monospace font (for example,
line
or
clayer
).
VBA function and AutoCAD Object library member names are displayed in mixed-case letters with a monospace font (for example,
Length
or
SendCommand
).
Example code and code statements that appear within a paragraph are displayed in monospace font. Code might look like one of the following:
MsgBox "ObjectName: " & oFirstEnt.ObjectName
The
MsgBox
method can be used to display a text message to the user
' Gets the first object in model space
I hope that you enjoy AutoCAD Platform Customization: VBA and that it changes the way you think about completing your day-to-day work. If you have any feedback or ideas that could improve this book, you can contact me using the following address:
Lee Ambrosius:
On my blog and website, you'll find additional articles on customization and samples that I have written over the years. You'll find these resources here:
Beyond the UI:
http://hyperpics.blogs.com
HyperPics:
www.hyperpics.com
If you encounter any problems with this publication, please report them to the publisher. Visit the book's website, www.sybex.com/go/autocadcustomization, and click the Errata link to open a form and submit the problem you found.
More than 15 years ago, Visual Basic (VB) was the first modern programming language I learned. This knowledge was critical to taking my custom programs to a whole new level. VB allows you to develop stand-alone applications that can communicate with other programs using Microsoft's Object Linking and Embedding (OLE) and ActiveX technologies. Autodesk® AutoCAD® supports a variant of VB known as Visual Basic for Applications (VBA) that requires a host application to execute the programs you write; it can't be used to develop stand-alone executable files.
I found VB easier to learn than AutoLISP® for a couple of reasons. First, there are, in general, many more books and online resources dedicated to VB. Second, VB syntax feels more natural. By natural, I mean that VB syntax reads as if you are explaining a process to someone in your own words, and it doesn't contain lots of special characters and formatting like many other programming languages.
As with learning anything new, there will be a bit of hesitation on your part as you approach your first projects. This chapter eases you into the AutoCAD VBA environment and the VB programming language.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
