Muutke küpsiste eelistusi

E-raamat: AutoCAD Platform Customization: User Interface, AutoLISP, VBA, and Beyond

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 16-Apr-2015
  • Kirjastus: Sybex Inc.,U.S.
  • Keel: eng
  • ISBN-13: 9781118798911
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 56,55 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 16-Apr-2015
  • Kirjastus: Sybex Inc.,U.S.
  • Keel: eng
  • ISBN-13: 9781118798911
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Take control of AutoCAD for a more efficient, streamlined workflow

AutoCAD Platform Customization is the most comprehensive guide to streamlining and personalizing the AutoCAD platform. The AutoLISP and VBA programming languages open up a myriad of customization options, and this book provides expert guidance toward applying them to AutoCAD, Civil 3D, Plant 3D, and other programs based on the Autodesk AutoCAD platform. Detailed discussions backed by real-world examples and step-by-step tutorials provide user-friendly instruction, and downloadable datasets allow for hands-on learning. Through customization you can increase screen real estate, streamline workflows, and create more accurate drawings by unleashing powerful programming languages that allow the user to command the software how to work, instead of the other way around.

AutoCAD customization is commonly performed by system administrators and CAD managers, but senior drafters and savvy users are increasingly taking customization into their own hands. AutoLISP and VBA are two popular and versatile tools that allow for going beyond the boundaries of normal user interface customization options, allowing users to:

  • Enforce drawing and CAD standards, and automate repetitive tasks
  • Customize the workspace, including tool sets, ribbon tabs and panels, and palettes
  • Modify graphical objects, set system variables, integrate with external software, and more
  • Manage blocks, change the interface, create dialog boxes, and communicate with Microsoft Office applications

The ideal design environment puts the tools you need right at your fingertips, removes unnecessary steps, and fosters precision through good communication. Customizing, including applying AutoLISP and VBA to AutoCAD, enables all of this and much more. For the designer who needs to work smarter because it's impossible to work any harder, AutoCAD Platform Customization provides the key information, insight, and techniques that will help to increase your productivity with AutoCAD.

Introduction xxxi
Part I AutoCAD Customization: Increasing Productivity through Personalization 1(260)
Chapter 1 Establishing the Foundation for Drawing Standards
3(32)
Naming Standards for Projects and Files
3(3)
Project Names
4(1)
Filenames
5(1)
Managing Standards with Drawing Templates
6(8)
What Is a Drawing Template?
6(1)
Units of Measurement and Format
7(2)
Graphical and Named Objects
9(1)
Organize Output with Layouts
10(1)
Working with System Variables
11(3)
Choosing a File Format for Your Drawings
14(1)
Defining Plotter Configurations and Plot Styles
15(7)
Configuring Output Devices
16(2)
Using and Creating Plot Styles
18(3)
Managing Plotter Configuration and Plot Style Files
21(1)
Enforcing CAD Standards
22(13)
Drawing Standards (DWS) Files (Windows Only)
23(1)
Configuring, Checking, and Fixing Drawing Standards (Windows Only)
24(7)
Translating Layers (Windows Only)
31(4)
Chapter 2 Working with Nongraphical Objects
35(34)
Standardizing the Names of Nongraphical Objects
35(3)
Layer Names
36(1)
Other Object Names
37(1)
Renaming Nongraphical Objects
37(1)
Managing Object Properties with Layers
38(2)
Setting the Default Properties for New Objects
39(1)
Creating and Managing Layers
40(25)
Significance of Colors
44(1)
Defining Appearance with Linetypes, Lineweights, and Transparency
45(3)
Controlling Output with Plot Styles
48(1)
Accessing Layer Settings
48(4)
Grouping and Filtering Layers
52(2)
Creating and Using Layer States
54(1)
Creating and Managing Annotation Styles
55(1)
Text Heights
55(1)
Text Styles
56(3)
Dimension Styles
59(2)
Table Styles
61(1)
Multileader Styles
62(1)
Annotative Styles and Annotation Scaling
63(2)
Defining and Managing Other Nongraphical Objects
65(2)
Removing Unused Nongraphical Objects
67(2)
Chapter 3 Building the Real World One Block at a Time
69(30)
Defining and Editing a Block Definition
69(9)
Defining a Block Definition
69(4)
Editing a Block Definition
73(1)
Using the Block Editor
74(4)
Using and Managing Block Definitions
78(3)
Inserting or Replacing a Block Reference
78(2)
Renaming and Purging Unused Block Definitions
80(1)
Importing or Exporting a Block Definition
81(1)
Embedding Information in a Block Definition with Attributes
81(6)
Adding an Attribute Definition
81(4)
Inserting a Block Definition with Attributes
85(1)
Editing Attribute Values and Properties in a Block Reference
85(1)
Redefining Block Definitions with Attribute Definitions
86(1)
Using Fields with Attributes
86(1)
Adding Dynamic Properties to a Block Definition
87(8)
Using Parameters to Modify Geometry in a Block Definition (Windows Only)
88(1)
Associating an Action with a Parameter (Windows Only)
89(2)
Creating a Lookup Table (Windows Only)
91(1)
Defining Visibility States (Windows Only)
92(2)
Inserting and Modifying Dynamic Blocks
94(1)
Extracting Properties and Values from a Block Reference
95(4)
Chapter 4 Manipulating the Drawing Environment
99(22)
Getting Started with Drawing-Environment Customization
99(1)
Customizing the AutoCAD Startup Process
100(4)
Specifying Application Preferences
104(3)
Customizing the Elements in the Drawing Window
107(2)
Configuring Command and Dynamic Input
109(4)
Command Input Search Options
109(1)
Command Input History
110(1)
Dynamic Input
111(2)
Creating and Modifying Command Aliases
113(4)
Defining Command Aliases
113(2)
Defining External Commands (Windows Only)
115(1)
Adding Synonym and AutoCorrect Entries (Windows Only)
116(1)
Working with System and Environment Variables
117(4)
Listing and Editing System Variables
118(1)
Listing and Editing Environment Variables
119(2)
Chapter 5 Customizing the AutoCAD User Interface for Windows
121(46)
Getting Started with the CUI Editor
121(2)
Creating Commands and Defining Command Macros
123(10)
Understanding the Basics of a Command Macro
123(5)
Creating and Modifying Commands
128(2)
Creating and Assigning an Image to a Command
130(3)
Customizing User-Interface Elements
133(24)
Quick Access Toolbar
133(4)
Ribbon
137(8)
Pull-Down Menus
145(2)
Shortcut Menus
147(3)
Toolbars
150(2)
Shortcut and Temporary Override Keys
152(2)
Double-Click Actions
154(2)
Other Elements
156(1)
Setting Up Rollover Tooltips and the Quick Properties Palette
157(5)
Organizing the User Interface with Workspaces
159(3)
Working with Customization Files
162(1)
Creating CUIx Files
162(2)
Loading CUIx Files
163(1)
Transferring User-Interface Elements between CUIx Files
164(1)
Loading AutoLISP Files
164(1)
Controlling the Tools on the Status Bars
164(3)
Chapter 6 Customizing the AutoCAD User Interface for Mac
167(16)
Getting Started with the Customize Dialog Box
167(1)
Creating Commands and Defining Command Macros
168(7)
Understanding the Basics of a Command Macro
168(5)
Creating and Modifying Commands
173(1)
Assigning an Image to a Command
174(1)
Customizing User-Interface Elements
175(6)
Pull-Down Menus
176(2)
Toolsets
178(3)
Controlling the Tools on the Status Bar
181(2)
Chapter 7 Creating Tools and Tool Palettes
183(18)
What Is a Tool Palette?
183(1)
Using the Tool Palettes Window
184(2)
Defining Tool Palettes
186(2)
Creating a Tool Palette
186(1)
Modifying Tool Palettes
187(1)
Adding and Modifying Tools
188(10)
Creating a Tool
189(7)
Using a Tool
196(1)
Modifying Tools
197(1)
Adding Text Labels or Separators
198(1)
Organizing Tool Palettes with Tool-Palette Groups
198(2)
Sharing Tool Palettes and Tool-Palette Groups
200(1)
Chapter 8 Automating Repetitive Tasks
201(20)
Creating and Running Scripts
201(8)
What Is a Script?
202(4)
Creating a Script
206(2)
Running a Script
208(1)
Recording Action Macros (Windows Only)
209(12)
What Is an Action?
209(1)
Using the Action Recorder
210(1)
Recording Actions for Playback
211(4)
Modifying Action Macros
215(2)
Managing Action Macros
217(1)
Sharing and Specifying Paths for Action Macros
218(3)
Chapter 9 Defining Shapes, Linetypes, and Hatch Patterns
221(28)
Creating and Compiling Shapes
221(10)
Structure of a Shape
221(7)
Defining a Shape
228(1)
Compiling a Shape
229(1)
Loading and Inserting a Shape
229(1)
Defining a Font
230(1)
Creating and Using Custom Linetypes
231(8)
Structure of a Linetype
232(3)
Defining a Custom Linetype
235(2)
Loading a Custom Linetype
237(1)
Controlling the Display of Linetypes
238(1)
Creating and Applying Custom Hatch Patterns
239(10)
Structure of a Hatch Pattern
240(3)
Defining a Custom Hatch Pattern
243(2)
Using a Custom Hatch Pattern
245(4)
Chapter 10 Using, Loading, and Managing Custom Files
249(12)
Deploying Your Custom Files
249(5)
Organizing Your Customized Files
250(1)
Where to Place Customized Files
250(1)
Maintaining Files Offline
251(1)
Customizing the Folders Used by AutoCAD
252(2)
Using and Loading Custom Programs
254(5)
What Are Custom Programs?
254(2)
Loading a Custom Program
256(2)
Locating Custom Programs on the Internet
258(1)
Backing Up and Migrating Customization
259(2)
Part II AutoLISP: Productivity through Programming 261(382)
Chapter 11 Quick Start for New AutoLISP Programmers
263(14)
Working with AutoLISP Expressions
263(8)
Working with Commands and Input
265(2)
Conditionalizing and Repeating Expressions
267(2)
Grouping Expressions
269(2)
Storing and Loading AutoLISP Expressions
271(6)
Chapter 12 Understanding AutoLISP
277(24)
Getting Started with AutoLISP
277(4)
Understanding the Syntax of an Expression
278(2)
Executing Expressions
280(1)
Accessing the AutoLISP Documentation
281(1)
Storing and Retrieving Values
281(9)
Setting and Using Variables
283(4)
Working with System Variables
287(1)
Accessing Environment Variables
288(2)
Exploring Data Types
290(2)
Leveraging AutoCAD and Third-Party Commands
292(3)
Using the command Function
293(1)
Using the command-s Function
294(1)
Working with Commands That Display a Dialog Box
295(1)
Defining and Using Custom Functions
295(3)
Defining a Custom Function
296(1)
Using a Custom Function
297(1)
Example: Drawing a Rectangle
298(3)
Chapter 13 Calculating and Working with Values
301(32)
Calculating Values with Math Functions
301(9)
Performing Basic Math Calculations
301(4)
Performing Advanced Math Calculations
305(1)
Working with Bitwise Operations
306(4)
Manipulating Strings
310(9)
Concatenating Strings
311(1)
Getting the Length of and Searching for Strings
311(2)
Replacing and Trimming Strings
313(4)
Changing the Case of a String
317(1)
Evaluating Values to Strings
318(1)
Converting Data Types
319(4)
Converting Numeric Values to Strings
319(1)
Converting Strings to Numeric Values
320(2)
Converting Numeric Values to Other Number Types
322(1)
Returning a Value from a Custom Function
323(2)
Exercise: Drawing a Rectangle (Revisited)
325(8)
Creating the drawplate.lsp File
326(1)
Revising the drawplate Function
327(1)
Adding the Revised drawplate Function to drawplate.lsp
328(1)
Creating the utility.lsp File
329(1)
Loading the LSP Files into AutoCAD
330(3)
Chapter 14 Working with Lists
333(26)
What Are Lists?
333(2)
Creating a List
335(1)
Getting an Element from a List
336(5)
Retrieving a Specific Element
337(3)
Stepping Through a List
340(1)
Appending, Substituting, and Removing Elements
341(3)
Appending Elements
341(2)
Substituting Elements
343(1)
Removing Elements
343(1)
Determining Whether an Item Exists in a List
344(2)
Sorting the Elements of a List
346(1)
Using Point Lists to Calculate Geometric Values
346(6)
Measuring Angular and Distance Values
347(1)
Calculating Points
348(1)
Finding and Snapping to Points
348(2)
Translating Points
350(1)
Converting Measurement Units
350(1)
Accessing the AutoCAD Calculator
351(1)
Converting Lists to Strings and Strings to Lists
352(1)
Exercise: Adding Holes to the Plate
352(7)
Defining the New Get-Sysvars and Set-Sysvars Utility Functions
353(2)
Defining the New createcircle Utility Function
355(1)
Revising the drawplate Function
356(1)
Using the Revised drawplate Function
357(2)
Chapter 15 Requesting Input and Using Conditional and Looping Expressions
359(46)
Interacting with the User
359(23)
Requesting Input at the Command Prompt
360(15)
Providing Feedback to the User
375(5)
Working with the Graphics Windows
380(2)
Conditionalizing and Branching Expressions
382(11)
Comparing Values
382(6)
Grouping Comparisons
388(1)
Validating Values
388(1)
Evaluating if a Condition Is Met
389(2)
Testing Multiple Conditions
391(2)
Repeating and Looping Expressions
393(6)
Repeating Expressions a Set Number of Times
394(1)
Performing a Task While a Condition Is Met
395(4)
Exercise: Getting Input from the User to Draw the Plate
399(6)
Revising the drawplate Function
399(3)
Using the Revised drawplate Function
402(3)
Chapter 16 Creating and Modifying Graphical Objects
405(56)
Working with Entity Names and Dotted Pairs
405(4)
Creating a Dotted Pair
407(1)
Accessing the Elements of an Entity Data List and Dotted Pair
408(1)
Adding Objects to a Drawing
409(5)
Selecting Objects
414(9)
Selecting an Individual Object
414(2)
Working with Selection Sets
416(6)
Filtering Selected Objects
422(1)
Modifying Objects
423(12)
Listing and Changing the Properties of an Object Directly
424(6)
Updating an Object's Properties with an Entity Data List
430(3)
Deleting an Object
433(1)
Highlighting Objects
434(1)
Working with Complex Objects
435(7)
Creating and Modifying Polylines
435(3)
Creating and Modifying with Block References
438(4)
Extending an Object's Information
442(7)
Working with XData
442(1)
Defining and Registering an Application Name
443(1)
Attaching XData to an Object
443(3)
Querying and Modifying the XData Attached to an Object
446(2)
Removing XData from an Object
448(1)
Selecting Objects Based on XData
448(1)
Exercise: Creating, Querying, and Modifying Objects
449(12)
Revising the Functions in utility.lsp
449(1)
Testing the Changes to the drawplate Function
450(1)
Defining the New Get-DXF-Value and Set-DXF-Value Utility Functions
451(1)
Moving Objects to Correct Layers
452(2)
Creating a Basic Block Attribute Extraction Program
454(4)
Using the Functions in the furntools.lsp File
458(3)
Chapter 17 Creating and Modifying Nongraphical Objects
461(28)
Working with Symbol Tables
461(11)
Accessing and Stepping through Symbol Tables
462(2)
Adding and Modifying Entries in a Symbol Table
464(6)
Creating and Modifying Block Definitions
470(2)
Working with Dictionaries
472(6)
Accessing and Stepping through Dictionaries
472(3)
Creating a Custom Dictionary
475(2)
Storing Information in a Custom Dictionary
477(1)
Managing Custom Dictionaries and Entries
477(1)
Exercise: Creating and Incrementing Room Labels
478(11)
Revising the createlayer Function in utility.lsp
479(1)
Creating the Room Label Block Definition
479(2)
Inserting a Block Reference Based on the Room Label Block Definition
481(3)
Prompting the User for an Insertion Point and Room Number
484(2)
Adding Room Labels to a Drawing
486(3)
Chapter 18 Working with the Operating System and External Files
489(24)
Storing Information in the Windows Registry or a Plist File
489(4)
Creating and Querying Entries
490(2)
Editing and Removing Entries
492(1)
Accessing Data from External Files
493(6)
Opening and Creating an External File
493(3)
Reading Characters and Lines from a File
496(1)
Writing Characters and Lines from a File
497(1)
Closing an Open File
498(1)
Working with Directories and Files in the Operating System
499(7)
Locating and Listing Files and Directories
499(6)
Managing Files and Directories
505(1)
Getting Information about a File
506(1)
Exercise: Reading and Writing Data
506(7)
Creating Layers Based on Data Stored in an External File
507(2)
Adding Layers to a Drawing with the loadlayers Function
509(1)
Writing the Bill of Materials to an External File
510(1)
Using the furnbomexport Function
511(2)
Chapter 19 Catching and Handling Errors
513(20)
Identifying and Tracking Down Errors
513(9)
Putting Your Code Under the Microscope
514(2)
Displaying Messages During Execution
516(5)
Tracing Functions
521(1)
Catching Errors in a Program
522(2)
Defining and Using a Custom Error Handler
524(1)
Grouping Functions into a Single Undo Action
525(3)
Exercise: Handling Errors in the drawplate Function
528(5)
Using the drawplate Function
529(1)
Implementing a Custom *error* Handler and Undo Grouping
530(1)
Testing the Changes to the drawplate Function
531(2)
Chapter 20 Authoring, Managing, and Loading AutoLISP Programs
533(34)
Storing AutoLISP Expressions
533(4)
Selecting an Editing Environment
534(1)
Creating an AutoLISP File
534(2)
Editing an AutoLISP File
536(1)
Writing Modular Code
537(1)
Adding Comments
538(3)
Undefining and Redefining Standard AutoCAD Commands
541(1)
Defining a Startup Function
542(1)
Loading AutoLISP Files
543(6)
Manually Loading an AutoLISP File
543(1)
Automatically Loading an AutoLISP File
544(2)
Using the Load/Unload Applications Dialog Box to Load a LSP File
546(3)
Managing the Locations of AutoLISP Files
549(4)
Specifying Support File Search Paths
549(2)
Identifying Trusted Locations
551(2)
Deploying AutoLISP Files
553(7)
Deployment Methods (Local vs. External)
554(2)
Defining a Plug-in Bundle
556(2)
Implementing Help for Custom Functions
558(2)
Exercise: Deploying the drawplate Function
560(7)
Loading the utility.lsp File by Reference
560(1)
Loading the drawplate.lsp File on Demand
561(1)
Enabling Help Support for the drawplate Function
561(1)
Configuring the AutoCAD Support and Trusted Paths
562(1)
Testing the Deployment of the drawplate Function
563(1)
Creating DrawPlate.bundle
564(1)
Deploying and Testing the DrawPlate.bundle
565(2)
Chapter 21 Using the Visual LISP Editor (Windows only)
567(20)
Accessing the Visual LISP Editor
567(1)
Managing AutoLISP Files with the Visual LISP Editor
568(1)
Formatting an AutoLISP File
569(3)
Coloring Syntax
570(1)
Formatting Code
571(1)
Commenting Code
572(1)
Validating and Debugging Code
572(5)
Executing Code from the Visual LISP Editor
572(1)
Checking and Loading Code in the Current Editor Window
573(2)
Debugging Code
575(2)
Creating a Visual LISP Project
577(2)
Compiling LSP and PRJ Files into a VLX File
579(1)
Exercise: Working with the Visual LISP Editor
580(7)
Formatting, Checking, and Debugging the badcode Function
580(2)
Stepping Through and Inspecting the badcode Function
582(3)
Creating and Compiling a Project
585(2)
Chapter 22 Working with ActiveX/COM Libraries (Windows only)
587(24)
Understanding the Basics of ActiveX
587(11)
Accessing Classes, Objects, and Collections
588(3)
Specifying Properties and Invoking Methods
591(3)
Working with Variants and Arrays
594(4)
Importing COM Libraries
598(1)
Using the AutoCAD COM Library
599(7)
Accessing the AutoCAD Application and Current Drawing Objects
600(1)
Working with Graphical and Nongraphical Objects in the Current Drawing
601(3)
Monitoring Events with Reactors
604(2)
Leveraging the Windows and Microsoft Office COM Libraries
606(5)
Accessing the Windows Shell Object
607(2)
Working with Microsoft Office
609(2)
Chapter 23 Implementing Dialog Boxes (Windows only)
611(32)
What Is Dialog Control Language'
611(2)
Defining and Laying Out a Dialog Box
613(11)
Defining a Dialog
613(1)
Adding Tiles
614(4)
Grouping, Aligning, and Laying Out Tiles
618(4)
Creating and Previewing a Dialog in a DCL File
622(2)
Loading and Displaying a Dialog Box
624(7)
Loading and Unloading a DCL File
624(1)
Displaying a Dialog
625(2)
Initializing Tiles
627(4)
Interacting with and Responding to a User
631(4)
Specifying the Action of a Tile
631(1)
Getting Information about a Tile
632(1)
Terminating or Closing a Dialog Box
633(1)
Hiding a Dialog Box Temporarily
634(1)
Exercise: Implementing a Dialog Box for the drawplate Function
635(10)
Creating the drawplate Dialog Box
636(2)
Renaming the Existing drawplate Function
638(1)
Defining a New drawplate Function
638(3)
Testing the drawplate.lsp Changes
641(2)
Part III AutoCAD VBA: Programming with VBA and ActiveX (Windows only) 643(410)
Chapter 24 Understanding the AutoCAD VBA Environment
645(20)
What Makes Up an AutoCAD VBA Project?
645(2)
What You'll Need to Start
647(1)
Determine If the AutoCAD VBA Environment Is Installed
647(1368)
Install the AutoCAD
2015
VBA Enabler
648(1)
Getting Started with the VBA Editor
648(7)
Identifying the Components of a VBA Project
649(2)
Navigating the VBA Editor Interface
651(4)
Setting the VBA Environment Options
655(1)
Managing VBA Programs
655(5)
Creating a New VBA Project
656(1)
Saving a VBA Project
657(1)
Loading and Unloading a VBA Project
657(2)
Embedding or Extracting a VBA Project
659(1)
Executing VBA Macros
660(3)
Accessing the AutoCAD VBA Documentation
663(2)
Chapter 25 Understanding Visual Basic for Applications
665(36)
Learning the Fundamentals of the VBA Language
665(9)
Creating a Procedure
666(2)
Declaring and Using Variables
668(2)
Controlling the Scope of a Procedure or Variable
670(1)
Continuing Long Statements
671(1)
Adding Comments
672(1)
Understanding the Differences Between VBA 32- and 64-Bit
673(1)
Exploring Data Types
674(14)
Working with Objects
676(2)
Accessing Objects in a Collection
678(1)
Storing Data in Arrays
679(3)
Calculating Values with Math Functions and Operators
682(1)
Manipulating Strings
683(3)
Converting Between Data Types
686(2)
Comparing Values
688(5)
Testing Values for Equality
688(1)
Comparing String Values
689(1)
Determining If a Value Is Greater or Less Than Another
690(1)
Checking for Null, Empty, or Nothing Values
691(1)
Validating Values
692(1)
Grouping Comparisons
692(1)
Conditionalizing and Branching Statements
693(3)
Evaluating If a Condition Is Met
693(2)
Testing Multiple Conditions
695(1)
Repeating and Looping Expressions
696(5)
Repeating Expressions a Set Number of Times
696(1)
Stepping Through an Array or Collection
697(1)
Performing a Task While or Until a Condition Is Met
698(3)
Chapter 26 Interacting with the Application and Documents Objects
701(26)
Working with the Application
701(3)
Getting Information about the Current AutoCAD Session
702(1)
Manipulating the Placement of the Application Window
703(1)
Managing Documents
704(8)
Working with the Current Drawing
705(1)
Creating and Opening Drawings
705(2)
Saving and Closing Drawings
707(3)
Accessing Information about a Drawing
710(1)
Manipulating a Drawing Window
711(1)
Working with System Variables
712(2)
Querying and Setting Application and Document Preferences
714(1)
Executing Commands
715(1)
Exercise: Setting Up a Project
716(11)
Creating the DrawingSetup Project
717(1)
Creating and Saving a New Drawing from Scratch
718(2)
Inserting a Title Block with the insert Command
720(2)
Adding Drawing Properties
722(2)
Setting the Values of Drafting-Related System Variables and Preferences
724(3)
Chapter 27 Creating and Modifying Drawing Objects
727(30)
Understanding the Basics of a Drawing-Based Object
727(5)
Accessing Objects in a Drawing
732(1)
Working with Model or Paper Space
733(2)
Creating Graphical Objects
735(8)
Adding Straight Line Segments
735(1)
Working with Curved Objects
736(4)
Working with Polylines
740(3)
Getting an Object in the Drawing
743(2)
Modifying Objects
745(3)
Deleting Objects
746(1)
Copying and Moving Objects
746(1)
Rotating Objects
747(1)
Changing Object Properties
748(1)
Exercise: Creating, Querying, and Modifying Objects
749(8)
Creating the DrawPlate Project
749(1)
Creating the Utilities Class
750(2)
Defining the CLI_DrawPlate Function
752(2)
Running the CLI_DrawPlate Function
754(1)
Exporting the Utilities Class
755(2)
Chapter 28 Interacting with the User and Controlling the Current View
757(38)
Interacting with the User
757(14)
Requesting Input at the Command Prompt
758(11)
Providing Feedback to the User
769(2)
Selecting Objects
771(7)
Selecting an Individual Object
771(2)
Working with Selection Sets
773(3)
Filtering Objects
776(2)
Performing Geometric Calculations
778(3)
Calculating a Coordinate Value
778(1)
Measuring the Distance Between Two Points
779(1)
Calculating an Angle
780(1)
Changing the Current View
781(6)
Zooming and Panning the Current View
781(2)
Working with Model Space Viewports
783(3)
Creating and Managing Named Views
786(1)
Applying Visual Styles
787(1)
Exercise: Getting Input from the User to Draw the Plate
787(8)
Revising the CLI_DrawPlate Function
788(3)
Revising the Utilities Class
791(2)
Using the Revised draw plate Function
793(2)
Chapter 29 Annotating Objects
795(24)
Working with Text
795(7)
Creating and Modifying Text
795(2)
Formatting a Text String
797(3)
Controlling Text with Text Styles
800(2)
Dimensioning Objects
802(5)
Creating Dimensions
802(2)
Formatting Dimensions with Styles
804(2)
Assigning a Dimension Style
806(1)
Creating and Modifying Geometric Tolerances
807(1)
Adding Leaders
808(4)
Working with Multileaders
808(3)
Creating and Modifying Legacy Leaders
811(1)
Organizing Data with Tables
812(2)
Inserting and Modifying a Table
812(1)
Formatting Tables
813(1)
Assigning a Table Style
814(1)
Creating Fields
814(1)
Exercise: Adding a Label to the Plate
815(4)
Revising the CLI_DrawPlate Function
815(2)
Revising the Utilities Class
817(1)
Using the Revised drawplate Function
817(2)
Chapter 30 Working with Blocks and External References
819(46)
Managing Block Definitions
819(8)
Creating a Block Definition
820(2)
Adding Attribute Definitions
822(3)
Modifying and Redefining a Block Definition
825(1)
Determining the Type of Block Definition
826(1)
Inserting and Working with Block References
827(9)
Inserting a Block Reference
827(1)
Modifying a Block Reference
828(3)
Accessing the Attributes of a Block
831(2)
Working with Dynamic Properties
833(3)
Managing External References
836(9)
Working with Xrefs
836(5)
Attaching and Modifying Raster Images
841(2)
Working with Underlays
843(2)
Listing File Dependencies
845(1)
Exercise: Creating and Querying Blocks
846(19)
Creating the RoomLabel Project
847(1)
Creating the RoomLabel Block Definition
847(2)
Inserting a Block Reference Based on the RoomLabel Block Definition
849(1)
Prompting the User for an Insertion Point and a Room Number
850(2)
Adding Room Labels to a Drawing
852(1)
Creating the FurnTools Project
853(1)
Moving Objects to Correct Layers
854(2)
Creating a Basic Block Attribute Extraction Program
856(7)
Using the Procedures of the FurnTools Project
863(2)
Chapter 31 Outputting Drawings
865(26)
Creating and Managing Layouts
865(2)
Creating a Layout
866(1)
Working with a Layout
866(1)
Controlling the Display of Layout Tabs
867(1)
Displaying Model Space Objects with Viewports
867(5)
Adding a Floating Viewport
868(1)
Setting a Viewport as Current
869(1)
Modifying a Floating Viewport
869(3)
Controlling the Output of a Layout
872(7)
Creating and Managing Named Page Setups
873(1)
Specifying an Output Device and a Paper Size
873(3)
Setting a Plot Style as Current
876(2)
Defining the Area to Output
878(1)
Changing Other Related Output Settings
879(1)
Plotting and Previewing a Layout
879(2)
Exporting and Importing File Formats
881(1)
Exercise: Adding a Layout to Create a Check Plot
882(9)
Creating the Layout
883(1)
Adding and Modifying a Plot Configuration
884(1)
Inserting a Title Block
885(1)
Displaying Model Space Objects with a Viewport
886(1)
Putting It All Together
886(4)
Testing the CheckPlot Procedure
890(1)
Chapter 32 Storing and Retrieving Custom Data
891(32)
Extending Object Information
891(12)
Working with Xdata
892(1)
Defining and Registering an Application Name
893(1)
Attaching Xdata to an Object
893(3)
Querying and Modifying the Xdata Attached to an Object
896(6)
Removing Xdata from an Object
902(1)
Selecting Objects Based on Xdata
902(1)
Creating and Modifying a Custom Dictionary
903(6)
Accessing and Stepping through Dictionaries
904(2)
Creating a Custom Dictionary
906(1)
Storing Information in a Custom Dictionary
907(1)
Managing Custom Dictionaries and Entries
908(1)
Storing Information in the Windows Registry
909(3)
Creating and Querying Keys and Values
909(2)
Editing and Removing Keys and Values
911(1)
Exercise: Storing Custom Values for the Room Labels Program
912(11)
Attaching Xdata to the Room Label Block after Insertion
913(1)
Revising the Main RoomLabel Procedure to Use the Windows Registry
913(3)
Testing the Changes to the RoomLabel Procedure
916(1)
Persisting Values for the Room Label Procedure with a Custom Dictionary
917(2)
Retesting the RoomLabel Procedure
919(1)
Selecting Room Label Blocks
920(3)
Chapter 33 Modifying the Application and Working with Events
923(30)
Manipulating the AutoCAD User Interface
923(15)
Managing Menu Groups and Loading Customization Files
924(1)
Working with the Pull-Down Menus and Toolbars
925(12)
Controlling the Display of Other User-Interface Elements
937(1)
Using External Custom Programs
938(1)
Working with Events
939(5)
Exercise: Extending the User Interface and Using Events
944(9)
Loading the acp.cuix File
945(1)
Specifying the Location of DVB Files
946(1)
Adding the Document Events
947(1)
Implementing an Application Event
948(1)
Defining the AcadStartup Procedure
949(1)
Testing the AcadStartup Procedure
950(1)
Testing the Application and Document Events
951(2)
Chapter 34 Creating and Displaying User Forms
953(30)
Adding and Designing a User Form
953(3)
Adding a User Form to a VBA Project
953(1)
Considering the Design of a User Form
954(2)
Placing and Arranging Controls on a User Form
956(7)
Placing a Control on a User Form
956(1)
Deciding Which Control to Use
957(3)
Grouping Related Controls
960(1)
Managing Controls on a User Form
961(2)
Changing the Appearance of a User Form or Control
963(2)
Defining the Behavior of a User Form or Control
965(3)
Displaying and Loading a User Form
968(2)
Showing and Hiding a User Form
968(1)
Loading and Unloading a User Form
969(1)
Exercise: Implementing a User Form for the DrawPlate Project
970(13)
Adding the User Form
970(1)
Adding Controls to the User Form
971(3)
Displaying a User Form
974(1)
Implementing Events for a User Form and Controls
975(5)
Testing the User Form and Controls
980(3)
Chapter 35 Communicating with Other Applications
983(36)
Referencing a Programming Library
983(1)
Creating and Getting an Instance of an Object
984(6)
Creating a New Instance of an Object
985(3)
Getting an In-Memory Instance of an Object
988(2)
Accessing a Drawing File from outside of AutoCAD
990(1)
Working with Microsoft Windows
991(9)
Accessing the Filesystem
992(5)
Manipulating the Windows Shell
997(2)
Using the Win32 API
999(1)
Reading and Writing Text Files
1000(4)
Opening and Creating a File
1000(2)
Reading Content from a File
1002(1)
Writing Content to a File
1003(1)
Closing a File
1004(1)
Parsing Content in an XML File
1004(3)
Working with Microsoft Office Applications
1007(2)
Exercise: Reading and Writing Data
1009(10)
Creating Layers Based on Data Stored in a Text File
1010(3)
Searching for a File in the AutoCAD Support Paths
1013(1)
Adding Layers to a Drawing with the LoadLayers Procedure
1014(1)
Writing Bill of Materials to an External File
1015(3)
Using the FurnBOMExport Procedure
1018(1)
Chapter 36 Handling Errors and Deploying VBA Projects
1019(34)
Catching and Identifying Errors
1019(6)
Recovering and Altering Execution after an Error
1019(3)
Getting Information About the Recent Error
1022(3)
Debugging a VBA Project
1025(7)
Debugging Through Messages
1025(2)
Using the VBA Editor Debug Tools
1027(5)
Deploying a VBA Project
1032(8)
Loading a VBA Project
1032(4)
Specifying the Location of and Trusting a Project
1036(2)
Starting a Macro with AutoLISP or a Command Macro
1038(1)
Grouping Actions into a Single Undo
1039(1)
Protecting a Project
1040(1)
Exercise: Deploying the DrawPlate VBA Project
1040(13)
Stepping Through the BadCode VBA Project
1041(2)
Implementing Error Handling for the Utility Procedures
1043(2)
Implementing Error Handling and Undo Grouping for the Main Procedures
1045(4)
Configuring the AutoCAD Support and Trusted Paths
1049(1)
Creating DrawPlate_VBA.bundle
1049(1)
Deploying and Testing DrawPlate_VBA.bundle
1050(3)
Index 1053
LEE AMBROSIUS is a Principal Learning Content Developer for the AutoCAD and AutoCAD LT products at Autodesk. He has worked on end-user and API documentation for eight releases, presented customization and programming sessions at Autodesk University for a decade, and has authored and coauthored several AutoCAD-related books.