Aller au contenu

L\'éditeur Visual LISP


(gile)

Messages recommandés

Salut,

 

Je voulais le faire depuis longtemps, ce sujet est l'occasion qui me pousse à finalement le faire.

 

AutoCAD fourni un éditeur de LISP, puissant outil de création et de modification de routines LISP.

 

Sans entrer trop loin dans les détails, je propose de commencer ici un sujet sur les bases de son utilisation.

 

Tout d'abord une petite présentation.

 

On accède à l'éditeur Visual LISP depuis AutoCAD, par le menu Outils > AutoLISP > Editeur Visual LISP ou par les commandes VLIDE ou VLISP.

 

http://img220.imageshack.us/img220/1290/vlide1.png

 

La console Visual LISP est un fenêtre spéciale de l'éditeur dans laquelle on peut évaluer directement des expressions ou des symboles. C'est aussi dans la console que sont retournés les résultats des évaluations faites depuis les autres fenêtres avec Charger la sélection (Ctrl-Maj-E).

 

Comme dans tout éditeur de texte, on peut ouvrir de nouvelles fenêtres (Ctrl-N) pour y écrire un nouveau code ou ouvrir un fichier LISP existant (Ctrl-O).

 

À suivre ...

  • Like 1

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

Deuuxième épisode.

 

Pour une meilleure lisibilité du code, les données apparaissent de différentes couleurs suivant leur type et le code est formaté.

 

Les couleurs données sont :

- rouge pour les parenthèses

- bleu pour les fonction LISP prédéfinies et les symboles protégés (pi et T)

- rose pour les chaines de caractère

- vert pour les nombres entiers

- turquoise (?) pour les nombres réels

- noir pour tous les autres symboles

- les commentaires apparaissent surlignés en gris.

 

Sur un ligne tout ce qui est derrière un ; n'est pas interprété, c'est un "commentaire"

 

Les "blocs" de commentaire compris entre ;| et |; peuvent avoir plusieurs lignes

 

Suivant le nombre de ; devant le commentaire le formatage du code dans l'éditeur Visual LISP placera différemment le commentaire :

;;; -> le commentaire sera placé entièrement à gauche

;; -> le commentaire prendra le retrait du code à sa position

; -> le commentaire se place en retrait à droite à 40 caractères (défaut)

;_ -> commentaire de fin, se place à une espace de la dernière parenthèse

 

http://img156.imageshack.us/img156/8712/vlide6.png

 

 

Le formatage du code (paramétrable) consiste principalement à donner un retrait à chaque ligne correspondant à l'imbrication de la ligne au sein des parenthèses (indentation). On peut formater toute la fenêtre (Ctrl-Alt-F) ou une sélection (Ctrl-Maj-F).

 

http://img132.imageshack.us/img132/7332/vlide3uf9.png

 

 

La sélection par double clic.

 

- on sélectionne un mot en double cliquant au milieu, au début ou à la fin du mot.

- un double clic avant un guillemet ouvrant ou après un guillemet femant sélectionne tout la chaine de caractère.

- un double clic avant une parenthèse ouvrante ou après une parenthèse femante sélectionne toute l'expression depuis ou jusquà la parenthèse correspondante.

 

Un symbole (variable) ou une expression sélectionnée dans une fenêtre peut être évaluée directement (Ctrl-Maj-E), le résultat est retourné dans la console.

 

Si après avoir sélectionné le symbole d'une fonction prédéfinie (bleu), on clique sur l'icone de l'aide [?] (CTRL+F1) celle-ci s'ouvre directement à la page de cette fonction.

 

À suivre...

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

Troisième épisode : Aperçu des fonctions de débogage

 

L’éditeur Visual LISP fournit de nombreux outils de débogage.

 

http://img515.imageshack.us/img515/3149/vlide9hq2.png

 

Pour suivre le déroulement de l’interprétation des expressions pendant l’exécution d’une routine, il est possible de placer un, ou plusieurs, points d’arrêt dans le code.

Après chargement et lancement de la routine, l’interprétation s’interrompt au point d’arrêt et l’expression suivant le point d’arrêt est sélectionnée On peut alors suivre l’interprétation des expressions à l’aide des outils de pas à pas ou continuer jusqu’au point d’arrêt suivant.

À tout moment, il est possible d’utiliser la console pour évaluer des variables ou des expressions.

 

 

D'où vient l'erreur ?

 

Si le déroulement d’une routine génère une erreur, on peut déterminer l’expression en cause en activant l’Arrêt sur erreur (Menu Débogage).

 

http://img145.imageshack.us/img145/3062/debug1rs3.png

 

On relance la commande (ou la fonction) pour provoquer à nouveau l'erreur, puis en utilisant l’outil : Source de la dernière interruption (Ctrl F9), l'expression qui a provoqué l'erreur se mettra en surbrillance dans le code.

On peut, là encore, interroger la valeur de variable ou d'expressions dans la console

 

On doit ensuite Réinitialiser.

 

http://img442.imageshack.us/img442/6754/debug2pk4.png

 

Penser à décocher l'Arrêt sur erreur une fois le débogage terminé.

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

Bonsoir à toutes et tous,

 

C'est du Dalas, début d'une longue série d'épisodes, j'espère car là, tout est cliar, et c'est petit à petit que l'oiseau fait son nid. Merci à toi (gile) de mettre toute cette énergie pour ceux qui veulent avancer. Et je sais que faire un cours sur les connaissances de bases dans un domaine que l'on maitrise nécessite une grande pédagigie dont tu fais preuve à chaque instant.

Vivement la suite,...

 

[Edité le 15/10/2007 par lili2006]

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je ne pense pas qu'il y aura d'autres épisodes (du moins de ce style).

J'ai donné ici, en exclusivité pou CADxp ;) un chapitre du support de cours sur lequel je travaille en ce moment.

 

Personnellement, je ne me sert pas de beaucoup plus que ce que j'ai donné là.

J'aborderais peut-être l'utilisation de la fenêtre de suivi, mais n'utilisant pratiquement jamais les Espions, je ne m'en sers que pour "tracer" les fonctions récursives.

 

Il faut maintenant laisser la place à l'expérimentation et à la découverte.

Les réponses aux questions que cela ne devrait pas manquer de soulever devraient rendre la chose plus concrète.

 

Et peut-être que d'autres utilisateurs de l'éditeur voudront apporter leur(s) pierre(s)...

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

Salut,

tenez, un truc "volé" sur "The Swamp" : (j'espère qu'ils ne m'en voudrons pas...)

 

Je ne savais pas que l'on pouvais faire ça !

c'est pratique pour scruter les selections !....

 

http://nsa01.casimages.com/img/2007/10/18/0710181114071423784.gif

 

 

 

http://nsa01.casimages.com/img/2007/10/18/0710181115351423790.gif

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 9 mois après...

Bonjour (Gile),

 

Bonjour aux autres aussi... ;)

 

Y'a un truc qui m'a échappé : Une fois le petit lisp tapé , une fois que tout est tout tabulé avec Ctrl-Alt-F comment on fait pour tester le lisp en réel dans Autocad. Est-ce que l'on est obligé de l'enregistrer et d'aller dans AutoCAD pour faire Appload ?

 

Je n'ai pas les Pas à Pas détaillé (F8), ni le "principal" ni le "sortant"...

 

Merci !

 

EDIT

 

woua ! J'ai trouvé le "Charger la sélection", fallait juste tout sélectionner le lisp...

 

See you !

 

[Edité le 25/9/2008 par phil_vsd]

"La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Regarde la première image, pour charger le code dans le dessin :

- Charger la fenêtre d'édition active : CTRL+ALT+E

 

Ou, si tu veux évaluer une portion du code dans la console de l'éditeur, tu la sélectionnes par double clic devant une parenthèse ouvrante (ou derrière une fermante) et tu fais :

-Charger la sélection : CTRL+MAJ+E

 

EDIT : tu as trouvé tout seul, très bien...

 

[Edité le 25/9/2008 par (gile)]

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 ans après...

Bonsoir,

 

Je remonte ce vieux sujet pour poser une question dont je ne trouve pas de reponse, qui parait pourtant simple :

 

Comment changer la langue de l'editeur visual lisp ?

 

Je travaille sur Acad2007 version japonaise. Dans la vie courante, le japonais, ca ne me pose pas de probleme, mais pour programmer (et surtout comprendre ou ca bugge) ca me rebute. :(

 

Ca serait bien sympa de pouvoir avoir tout les menu en anglais ... :unsure:

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je crains que ça ne soit pas possible, Visual Studio utilise la même langue que la version d'AutoCAD à laquelle il appartient.

 

Si tu as une version 2013 (ou une Autodesk Design Suite 2012), tu peux télécharger des lanquage packs et avoir ainsi plusieurs version linguistiques d'AutoCAD et par voie de conséquences l'éditeur Visual LISP dans chacun de ces langages

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 (gile)

voila une erreur que je fais souvent

je n'ai reussi a surligner la soustraction.

ce genre de boulette n'est pas facile à repérer dans des long prog

 

(defun c:boulette () ;
 (setq a 12.25)
 (setq b "5.50")
 (princ (- a B))
(princ)	  

 )

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

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é