Aller au contenu

Charger un LISP


(gile)

Messages recommandés

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 c: 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)]

  • Like 1
  • Upvote 3

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Très bonne initiative (gile) :D

Je me permettrai juste d'ajouter deux choses

Il est possible de faire des chargement automatiques via la fonction lisp autoload, ce qui permet d'avoir à disposition de clavier (ou de menu) la fonction sans la charger en mémoire.

Pour ceux qui veulent se servir du fichier AutoCAD.lsp à chaque dessin, de ne pas oublier de redéfinir la variable acadlspasdoc.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Merci de compléter, Patrick_35. :)

 

Je ne voulais pas faire un trop long premier message, sur lequel renvoyer les non lispeurs qui veulent seulement utiliser des routines sans trop les embrouiller.

 

Mais toutes les précisions ou questions sont bienvenues.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
  • 1 an après...
  • 1 mois après...
  • 2 semaines après...
  • 3 ans après...

Bonjour,

 

j'aimerai savoir en créant une barre d'outils si il est possible lors de son utilisation, d'ajouter autiomatiquement des chemins de recherche de fichiers support en évitant donc de devoir rajouter les chemins de recherhce dans les option. Un truk dans le même genre que les fichiers MNL pour les LISP.

 

Merci

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Bonjour,

quelle différence y a t'il à utiliser le fichier "acad.lsp" (avec la variable ACADLSPASDOC à 1) et le fichier "acaddoc.lsp"?

 

Merci.

 

Si ACADLSPASDOC est à 1, le fichier acad.lsp a le même comportement que le fichier acaddoc.lsp (il est exécuté à chaque ouverture d'un nouveau document).

À mon avis, mettre cette variable à 1 n'a pas vraiment d'intérêt, on a deux fichier qui font la même chose ce qui est redondant. De plus, cela prive de la possibilité de charger certains fichiers et/ou établir certaines variables système uniquement au démarrage d'AutoCAD avec acad.lsp.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...

Bonjour à tous.

 

Pour ceux qui ont un message demandant confirmation de charger des fichiers venant d'emplacements non approuvés, tout est sur ce poste, que je trouve un peut difficile à trouver par une recherche internet. Mots clés ex...

 

Cordialy.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité