SynonymsBot
Synonyms for autolisp or Related words with autolisp
autoit
ironpython
qbasic
wxpython
rebol
freebasic
wxwidgets
powerbuilder
codelite
textmate
quickbasic
intercal
haxe
inkscape
gnuplot
applescript
hypertalk
ironruby
msvc
javac
metafont
jython
msbuild
gedit
flashdevelop
freepascal
gettext
xemacs
mingw
purebasic
ratfor
emacs
xcode
prograph
troff
beanshell
kixtart
turbocad
mxml
clojure
visualstudio
metapost
powershell
fasm
maxscript
cmake
xedit
copybooks
amigados
cpython
Examples of "autolisp"
AutoLISP
has such a strong following that other CAD application vendors add it to their own products. Bricscad, IntelliCAD and others have
AutoLISP
functionality, so that
AutoLISP
users can consider using them as an alternative to AutoCAD. Most development involving
AutoLISP
since AutoCAD 2000 is actually performed within Visual LISP since the original
AutoLISP
engine was replaced with the Visual LISP engine. There are thousands of utilities and applications that have been developed using
AutoLISP
or Visual LISP (distributed as LSP, FAS and VLX files).
A DCL dialog is instantiated by calling a series of functions in an
AutoLisp
file. Tiles can call back into
AutoLISP
code on certain events, and Lisp can manipulate the contents of tiles while the dialog is running.
A simple Hello world program in
AutoLISP
would be:
The application includes
AutoLisp
(enhancing standard
AutoLisp
to include Advance Steel commands) and COM (VBA, C++) programming interfaces. This means that users can create their own customized macros for specialist requirements.
Bricsys uses OpenLisp to implement
AutoLISP
in its Bricscad CAD system.
Here is an example DCL file (and accompanying
AutoLISP
file) demonstrating the major features of DCL.
AutoLISP
code can interact with the user through AutoCAD's graphical editor by use of primitive functions that allow the user to pick points, choose objects on screen, input numbers and other data.
AutoLisp
also has a built-in GUI mini-language, the Dialog Control Language, for creating modal dialog boxes with automated layout, within AutoCAD.
AutoLISP
is a dialect of the LISP programming language built specifically for use with the full version of AutoCAD and its derivatives, which include "AutoCAD Map 3D", "AutoCAD Architecture" and "AutoCAD Mechanical". Neither the application programming interface nor the interpreter to execute
AutoLISP
code are included in the AutoCAD LT product line.
AutoLISP
is a small, dynamically scoped, dynamically typed LISP dialect with garbage collection, immutable list structure and settable symbols, lacking in such regular LISP features as macro system, records definition facilities, arrays, functions with variable number of arguments or let bindings. Aside from the core language, most of the primitive functions are for geometry, accessing AutoCAD's internal DWG database, or manipulation of graphical entities in AutoCAD. The properties of these graphical entities are revealed to
AutoLISP
as association lists in which values are paired with AutoCAD "group codes" that indicate properties such as definitional points, radii, colors, layers, linetypes, etc. AutoCAD loads
AutoLISP
code from .LSP files.
AutoCAD supports a number of APIs for customization and automation. These include
AutoLISP
, Visual LISP, VBA, .NET and ObjectARX. ObjectARX is a C++ class library, which was also the base for:
Dialog Control Language (DCL) is a high-level description language and interpreter within AutoCAD for creating simple graphical dialogs.
AutoLISP
extensions use it to interact with the user in the AutoCAD environment.
Vital-LISP, a considerably enhanced version of
AutoLISP
including an IDE, debugger and compiler, and ActiveX support, was developed and sold by third party developer Basis Software. Vital LISP was a superset of the existing
AutoLISP
language that added VBA-like access to the AutoCAD object model, reactors (event handling for AutoCAD objects), general ActiveX support, and some other general Lisp functions. Autodesk purchased this, renamed it Visual LISP, and briefly sold it as an add-on to AutoCAD Release 14 released in May 1997. It was incorporated into AutoCAD 2000 released in March 1999, as a replacement for
AutoLISP
. Since then Autodesk has chosen to halt major enhancements to Visual LISP in favor of focusing more effort on VBA and .NET and C++. As of January 31, 2014, Autodesk no longer supports versions of VBA older than 7.1. This is part of a long-term process of switching over from VBA to .NET for customization.
Common Lisp is a general-purpose programming language, in contrast to Lisp variants such as Emacs Lisp and
AutoLISP
which are extension languages embedded in particular products. Unlike many earlier Lisps, Common Lisp (like Scheme) uses lexical variable scope by default for both interpreted and compiled code.
Both PN1 and PN2 feature syntax highlighting for many programming languages through plugins called "schemes" that can be modified to support more languages. PN1 included syntax highlighting for: C++, CSS, HTML, INI, Java, JavaScript,
AutoLISP
, Pascal, Perl, SQL, Visual Basic and XML.
Release 2.1 of AutoCAD, released in 1986, included
AutoLISP
, a built-in Lisp programming language interpreter initially based on XLISP. This opened the door for third party developers to extend AutoCAD's functionality, to address a wide range of vertical markets, strengthening AutoCAD's market penetration.
As of AutoCAD 2007 and later,
AutoLISP
or Visual-LISP programs can call routines written in Visual Studio .NET (VB or C#). Programmers can now create dialogs in VB or C# that have the full range of controls found in the .NET Forms API and can be called and accessed from Visual-LISP.
DCL allows interactions with the dialog at run-time by Lisp code. Certain widgets can have actions associated with them by naming an
AutoLISP
function to be run, and values to be passed to it. Unlike other types of GUIs, DCL dialogs cannot be changed substantially at run time. The contents of certain widgets such as text boxes and list boxes can be changed, but widgets cannot be removed from or added to the dialog.
AutoLISP
was derived from an early version of XLISP, which was created by David Betz. The language was introduced in AutoCAD Version 2.18 in January 1986, and continued to be enhanced in successive releases up to Release 13 in February 1995. After that, its development was neglected by Autodesk in favor of more fashionable development environments like VBA, .NET and ObjectARX. However, it has remained AutoCAD's primary user customization language.
Further, Lisp dialects are used as scripting languages in many applications, with the best-known being Emacs Lisp in the Emacs editor,
AutoLisp
and later Visual Lisp in AutoCAD, Nyquist in Audacity, Scheme in LilyPond. The potential small size of a useful Scheme interpreter makes it particularly popular for embedded scripting. Examples include SIOD and TinyScheme, both of which have been successfully embedded in the GIMP image processor under the generic name "Script-fu". LIBREP, a Lisp interpreter by John Harper originally based on the Emacs Lisp language, has been embedded in the Sawfish window manager.
The computer security firm ESET reported that tens of thousands of blueprints were stolen from Peruvian corporations through malware, which were traced to Chinese e-mail accounts. This was done through an AutoCAD worm called ACAD/Medre.A, written in
AutoLISP
, which located AutoCAD files, at which point they were sent to QQ and 163.com email accounts in China. ESET researcher Righard Zwienenberg claimed this was Chinese industrial espionage. The virus was mostly localized to Peru but spread to a few neighboring countries before being contained.