Practical AutoLISP Programming – Beginner to Advanced
You will understand and learn AutoLISP and how it is being used in AutoCAD
You will have a deeper understanding of AutoCAD objects and how they can be manipulated by AutoLISP without even touching them.
You will learn how to create your own AutoCAD Shortcut Commands and Macros
You will be able to create simple to medium complexity Programs from scratch with the help of several exercises to reinforce what you learn
By the end of this course, you should be able to develop your own programs to increase your productivity. For example:
start automating repetitive tasks
develop programs that extracts drawing information and many more…
And most importantly, you will become an AutoLISP programmer
Discuss the objectives of the course as well as provide overview of AutoLISP Programming and its benefits
We will discuss the Course Outline by going through each of the Topics in the list
We will discuss about how AutoLISP is being used in AutoCAD.We will identify what type of Programming Language it is and what it can do.
We will identify who should learn AutoLISP and why? We will also identify what are the benefits for each type of user.
We will determine the things that you will gain by taking this course.
You will get to know who the Author is and his background as an IT Professional.
Further information is provided why you should learn and become an AutoLISP Programmer.
We will identify the Tools that we will use in this course.
Quick Win Demo
We will learn how to create our own AutoCAD Commands or Macros using the Zoom Command.
We will learn how to create our own AutoCAD Commands or Macros using the Layer Command.
We will learn how to create our own AutoCAD Commands or Macros using the Insert Command.
We will learn how to create our own Audit Macros.
We will discuss few AutoLISP's Fundamental Rules.
We will go through different ways to create variables and assign values to them. Also, we will identify what are the AutoLISP's predetermined variables that we should not be changing.
We will create 2 real world simple programs by calculating the values of the variables.
We will create simple programs to create new Layers based on the values stored in the variables.
We will create simple programs by using the Pause reserved word (or pre-dertermined AutoLISP variable) by creating a Line.
We will create few more programs to demonstrate the use of predefined AutoLISP variable T by using it in a while loop.
AutoLISP Math Functions
We will discuss most of the commonly used Math Functions in AutoLISP with the proper syntax. You will also find the complete reference for all the Math Functions should you need it in your development.
We will further reinforce our learning with Math Functions by creating sample programs using the math functions. We will be creating useful conversion programs.
AutoLISP's List Functions
We will discuss the List functions such as "car", "cdr" , "cadr" , "caddr" , "caar" , "cddr".
We'll see how CAR function works in action.
We'll see how CDR function works in action.
We'll see how CADR function works in action.
We'll see how CADDR function works in action.
We'll see how CAAR function works in action.
We'll see how CDDR function works in action.
We'll discuss more List Functions such as "list", "cons", "nth", and "foreach".
We will try creating Lists using the "list" function and see how it works.
We will see how "cons" Function works in action.
We will see how "nth" function works in action.
We will see how foreach function weorks in AutoCAD
We'll discuss more List Functions such as "assoc", "subst", "last", and "reverse".
We'll further explore Assoc function by retrieving each of the Line Definition Data.
Subst function in action. We will substitute the layer of an Line entity through the Definition Data.
We'll see how Last Function works by getting the last item in the list from the Line Definition Data.
We will see how reverse function works by using it in the Line Definition Data and reversing the order of the list.
AutoLISP's User Input Functions
In this part 1 of the lecture, we will learn the following User Input Functions: getpoint, getint, getstring, getreal
In this part 2 of the lecture, we will learn the following User Input Functions: getdist, getcorner, getangle, getkword
We will see how GetPoint function works in AutoCAD by drawing a line based on the points picked by the user from the GetPoint function.
We will try GetInt Function in AutoCAD and see how it works.
Getstring is used to capture user's input. We will see how it works by setting a layer as a current layer based on the value specified by the user.
GetReal, as the name implies accepts a Real (or decimal) number. We will see how this works in action.
We will try many variations of GetDist function and see and understand how they work in AutoCAD.
In this demo, we will draw a rectangle based on the corner point that we get from the GetCorner function.
We will apply the GetAngle function by creating a simple program to draw a text based on the angle specified.
We will use GetKword function in a simple program by giving the user the Yes/No option to delete the object.
Object Handling Functions
We will discuss all the Object Handling functions and have a good understanding of it.
We will see how entsel work in AutoCAD by selecting a Line object and selecting only the point or the entity name.
We will use the entnext function by going through the entire entities in the drawing.
We will retrieve the last entity in the drawing by using the function entlast.
How does AutoCAD stores the Definition Data of the Objects. All of it will be revealed when we use Entget function in the drawing.
Try finishing all the exercises to test your knowledge and understanding of the Object Handling Functions in AutoLISP.
Let's now compare your code to the Solutions provided.
AutoLISP's Selection Sets
We will cover all the Selection Sets Functions and understand how each one works and how to apply them in the code.
We will see how ssget function works and trying different variations of the command.
We will use ssadd function in our code and see the changes in the selection set by adding items in it.
We will learn and understand how ssdel works by deleting objects in the selection set.
We will have an example of ssmemb and see how it works in AutoCAD by checking whether an entity is a member of a selection set or not.
We will see how ssname works in our program and how to get the property of each object.
We will use sslength in the code and see how we can use it when getting the number of the objects in the selection set.
In order to test your knowledge on the selection sets topic, try completing these exercises. This will help you better understand how each of the Selection Sets Functions work.
Let's compare your code to the solutions provided and see if you get all the exercises correct.
Conditionals and Equality Functions
We will explore If and Progn Statements and how to use them in the program.
We will discuss the While and EQ Functions.
We will explore how Cond and And Statements are used in the program
AutoCAD Objects - Data Model
We will explore the Line, Polyline, Circle, and Text Objects and see their respective object data model.
We will examine the Dimension, Block and Attribute Objects and dig deeper on their data model and learn about the sub-entities.
We will see the actual manipulation of Line Data Model by creating a program to change the starting point.
We will dig deeper into the Circle's Definition Data and create a program to manipulate the Radius.
We will dig deeper into the Text Definition Data and create a program to manipulate the Text String, Layer and Style.
We will dig deep and examine the Dimension Object's Definition Data and create a program to change the Dimension Style.
We will dig deeper into the Block and Attribute Sub Entities and create a program to update the attribute values for all the blocks in the drawing.
Symbol Table and Dictionary Handling Functions
TBLSEARCH, TBLNEXT and TBLOBJNAME Functions will be discussed.
We will create a program that uses the Tblsearch function that replaces the style of the Text.
We will have a practical example showcasing the Tblnext function by going through the Layer database and display them all to the user.
This function will check all the modified dimensions text and change them to red color.
This project will change the style of all the Texts in the drawing using most of the functions that we've learned from the previous videos and more.
This project will extract all the attribute values into a csv formatted file.
Thank you for enrolling in this tutorial and I wish you all the best in your quest for further learning AutoLISP.