On peut personnaliser autocad de plusieurs façons : les dessins gabarits, les librairies de blocs, les alias, les raccourcis clavier, les menus, les barres d'outils, les macros, les profils et la programmation. Cette dernière est l'ultime façon de personnaliser Autocad, elle n'a pas de limites. Par contre elle exige beaucoup plus de travail que les autres façons. Pour cela, la programmation ne se fait qu'en dernier recourt, là ou les autre façons de personnaliser Autocad échouent.
Il existe trois langages de programmation pour personnaliser Autocad ayant chacun des points forts et des points faibles :
Le langage Autolisp est de loin le langage le plus répandu pour la personnalisation d'Autocad, bon nombre d'utilisateurs d'Autocad l'utilisent et cela depuis plusieurs années. Il est assez simple d'utilisation et peut être construit à l'aide d'un éditeur de texte tel le Bloc note de Windows. La formation à la programmation Autolisp est assez répandu et assez facile à trouver. Ce langage possède deux défauts qui peuvent être tannant pour certains : on doit programmer les boites de dialogues à la main contrairement aux deux autres langages et ce langage n'est connu que par les programmeurs d'Autocad, les autres programmeurs de Windows ne le connaissent pas.
Ce langage pour Autocad est moins répandu que l'Autolisp parce que plus récent, Il est par contre très répandu pour les application Windows. De ce fait, bon nombre de programmeurs Windows le connaissent. L'interface utilisé pour la programmation est très convivial et les boites de dialogues se font sans programmation contrairement à l'Autolisp, il est aussi comme l'Autolisp assez simple d'utilisation.
Le VBA est un langage plus moderne, il est commun à plusieurs applications Windows et permet l'échange entre applications Windows. Sont seul défaut apparent est qu'il est moins répandu que l'Autolisp.
Ce langage de programmation, qui utilise le C++ de Microsoft, est l'outil ultime de personnalisation d'Autocad. Il n' pratiquement pas de limite, on peut même modifier le logiciel Autocad avec ce langage ; bon nombre de ses composantes sont programmées en ObjectARX. Les logiciels Land Desktop, Architectural Desktop et Mechanical Desktop d'Autodesk sont programmés en ObjectARX.
L'objectARX est par contre très ardu, il n'est pas à la portée de tous comme le sont les langages Autolisp et VBA. L'interface de programmation du C++ est semblable à l'interface du VBA mais en plus compliqué. Pour faire de petites routines indépendantes l'une de l'autres, l'objectARX n'est pas l'outil idéal mais pour produire une grosse personnalisation prenant beaucoup de contrôle sur Autocad, l'objectARX est l'outil idéal. Pour créer de nouveaux objets de dessin tel les "civil point object" ou les "grading object" de Land Desktop, l'objectARX est l'outil requis.