On our programming adventures, I have spent all the time in .Net (specifically Visual Basic). For Civil3D, .Net is the best route in my opinion. Yes, there are some brave souls out there who can accomplish certain tasks in Civil3D using VisualLisp but it is a pain to do and VBA is deprecated (being replaced by VSTA).
Nevertheless, for simple AutoCAD customization you still can’t beat Lisp. Thus I thought it good to get into a brief series about this still powerful programming language.
First a little history. Lisp is a LISt Processing language and is a functional language. That means that the function comes before the variables. It is the difference between writing “a+b or “+ a b”. Notice that the second string has the addition function first. The LISP language was a more common language in the 60’s. However, functional languages are making a comeback and you can even code in .Net using a functional language called F#.
AutoLISP is a type of Lisp language specifically for AutoCAD. It was first introduced in Release 2.18 and received improvements throughout the years.
With AutoCAD 2000, the Lisp world in AutoCAD was greatly improved. AutoCAD received a LISP IDE (Integrated Development Environment). We also received the addition of VIsualLisp. VisualLisp creates a more visual programming interface and gives us access to some of AutoCAD’s object model much like VBA but with the lisp programming format.
In the next coming exercises we are going to build a simple tool which will allow us to select Text and Mtext objects and change the text height. In these exercises, we will use a blend of AutoLisp and VisualLisp methods.