Comme la demande est récurente et que je commence à me lasser de répéter...
J'ouvre donc un nouveau sujet qui servira, j'espère, aussi bien aux utilisateurs novices de routines qu'aux débutants qui se lancent dans l'aventure de la programmation en LISP.
1 Pour charger une routine LISP
1.1 Sans enregistrer de fichier
C'est la méthode à utiliser pour les expressions simple et les fonctions "lambda" : ((lambda ...)).
Elle peut aussi être utilisée pour les "defun" : (defun ...).
Il suffit de copier le code (rien que le code, tout le code) et de le coller sur la ligne de commande et de valider (Entrée ou Espace)
Dans le cas d'expression simple ou de fonction "lambda", l'expression est immédiatement évaluée, s'il s'agit d'un "defun", il faut ensuite lancer la commande (voir "2 Pour lancer une commande LISP", plus bas)
1.2 Enregistrer un fichier .lsp
Après avoir copié le code (tout le code et les commentaires précédés de point virgule), le coller dans le bloc-note (ne pas utiliser d'éditeur de texte sofistiqué -type Word- qui rajoute des caractères de mise en pages).
Enregistrer le fichier, peu importe le nom, avec l'extension .lsp (par exemple : Toto.lsp).
Si le LISP est amené à resservir, il peut être judicieux de l'enregistrer dans un dossier du chemin de recherche des fichiers de support (menu Outils >> Options ... onglet Fichiers).
Depuis AutoCAD 2014, il faut aussi ajouter le chemin du répertoire contenant les fichiers LISP dans les "Emplacements approuvés" (menu Outils >> Options ... >> onglet Fichiers). Si le chemin du dossier se termine par "\...", tous ses sous-dossiers sont également approuvés.
1.3 Charger dans le dessin courant
1.3.1 Commande APPLOAD
Taper APPLOAD à la ligne de commande ou menu Outils >> AutoLISP >> Charger une application.
Charger le LISP depuis le dossier où il a été enregistré.
1.3.2 Cliquer/déposer
Depuis l'explorateur Windows, sélectionner le fichier et le déposer dans la fenêtre d'AutoCAD.
1.3.3 Depuis la ligne de commande
Utiliser la fonction LISP load :
Si le fichier est enregistré dans un dossier du chemin de recherche, entrer l'expression LISP :
(load "Toto.lsp") ou (load "Toto")
Sinon, spécifier le chemin complet (dans ce cas les anti-slashes doivent être remplacés par des slashes ou des doubles anti-slashes) exemple :
(load "C:/MesLisp/toto.lsp") ou (load "C:\\MesLisp\\toto.lsp")
1.4 Charger automatiquement un fichier .lsp
Si le LISP est amené à être utilisé régulièrement, il peut être intéressant qu'il soit automatiquement chargé au démarrage d'AutoCAD et/ou dans tous les dessins.
1.4.1 Commande APPLOAD
Dans la boite dialogue de la commande APPLOAD, dans la case Au démarrage (valise), cliquer sur Contenu et ajouter le fichier.
1.4.2 Fichiers de chargement automatique
Les fichiers AutoCAD.LSP, ACADDOC.LSP (à crééer dans un dossier du chemin de recherche, s'ils n'existent pas) et les fichier MNL (associés aux fichier de menu MNS ou CUI de même nom) sont des fichiers contenant des routines et expressions LISP qui sont chargées automatiquement au démarrage (acad.lsp) ou dans chaque dessin (acaddoc.lsp et mnl).
Voir dans l'aide Guide de personnalisation >> Introduction aux interfaces de programmation >> AutoLISP et VisualLISP >> Chargement et exécution automatiques des routines AutoLISP.
NOTA : ne pas modifier les fichiers ACAD200*.LSP et ACAD200*DOC.LSP.
2 Pour lancer une commande LISP
On définit une commande en LISP en faisant précéder le nom de la commande/fonction par 😄 au début de la routine, juste après (defun , exemple :
(defun c:toto (...))
Dans ce cas il suffit de taper à la ligne de commande : toto et de valider.
3 Éditeur VisualLISP
AutoCAD intègre un éditeur de programmes LISP (commande VLIDE ou VLISP ou menu Outils >> AutoLISP >> Editeur VisualLISP).
Dans celui-ci, il est aussi possible, entre autre choses, de coller, écrire, modifier, enrgistrer, charger, évaluer des routines ou des expressions LISP, mais son utilisation (que je recommande fortement) ferait l'objet d'un sujet entier (voir ici).
4 Boites de dialogue (DCL)
Certains LISP fonctionnent avec une (ou des) boite(s) de dialogue. Le fichier LISP est alors accompagné d'un (ou de plusieurs) fichier(s) .DCL. Ces fichiers sont appelés par le LISP pour ouvrir la boite de dialogue. Pour qu'AutoCAD les trouvent ils doivent être enregistrés sous le nom qui leur a été donné, avec l'extension .dcl, dans un répertoire du chemin de recherche des fichiers de support (menu Outils >> Options... >> onglet Fichiers >> Chemin de recherche des fichiers de support). Il est préférable, à mon avis, de créer son propre répertoire de fichiers LISP et DCL et d'ajouter ce chemin à la liste.
5 Les fichiers VLX
Les fichier VLX sont des fichiers compilés (et cryptés) qui peuvent être la compilation de plusieurs fichiers LISP et DCL. Ils se chargent de la même manière que les fichiers LISP et permettent d'éviter d'avoir à s'occuper des fichiers DCL.
En espérant que je n'en ai pas trop oublié, si c'est le cas, faites le savoir...
[Edité le 6/4/2007 par (gile)][Edité le 16/6/2007 par (gile)][Edité le 28/12/2007 par (gile)]