DECKER & CAD SOLUTIONS

 
 
 
 

Script - Script et le langage Lisp

 
 
SCRIPT 2008
Script et le langage Lisp

 

Un script peut contenir des lignes en langage Lisp, charger et exécuter des programmes Lisp.

Le script ci-dessous initialise une variable et appelle la commande « Insérer » en Lisp, puis transmet le nom de la variable contenant le nom du bloc à insérer.

;Initialise la variable MonBloc.
(setq MonBloc "ContactF")
;
;Déclenche la commande Insérer un bloc (évite la boîte de dialogue « Insérer un bloc »).
(command "._insert")
;
;Message affiché par AutoCAD.
;Entrez le nom du bloc ou [?] :
;
;Nom du bloc à insérer.
!MonBloc

Le point d’exclamation (!) indique à AutoCAD que la chaîne de caractères « MonBloc » est un nom de variable et que celle-ci contient le nom du bloc. Vous pouvez bien entendu fournir directement le nom du bloc dans le script, soit :

;Equivalent à « !MonBloc ».
ContactF

Note : Toutes les lignes commençant par le point-virgule (;) sont considérées par AutoCAD comme étant des lignes de commentaires. Le point (.) fait appel à la commande intégrée dans AutoCAD dans le cas ou celle-ci a été redéfinie par l’utilisateur pour effectuer une autre opération. Le trait de soulignement (_) indique que le nom de la commande est en anglais, ceci permet l’exécution de cette commande sous AutoCAD quelle que soit la langue utilisée.

Lorsque vous appliquez un script à des dessins situés dans différents dossiers, vous pourriez avoir besoin de savoir dans quel dossier se trouve le dessin en cours de traitement. Vous trouverez ci-dessous quelques exemples :

;Pour connaître le chemin du dessin en cours saisissez :
(setq chemin (getvar "dwgprefix"))
;
;Pour connaître le nom du dessin en cours (sans son chemin) saisissez :
(setq dessin(getvar “dwgname“))
;
;Pour concaténer le chemin avec le nom du dessin saisissez :
(setq dessin (strcat (getvar "dwgprefix") (getvar "dwgname")))

Ci-dessous un autre exemple d’un programme Lisp permettant d’extraire des données dans un fichier de texte :

;Détermine le nom du fichier à ouvrir.
(setq fichier (strcat (getvar "dwgprefix") "MonFichier.txt"))
;
;Ouvre le fichier « MonFichier.txt » en lecture.
(setq f (open fichier "r"))
;
;Lit la 1ère ligne du fichier et l’affecte à la variable « valeur1 ».
(setq valeur1 (read-line f))
;
;Lit la 2ème ligne du fichier et l’affecte à la variable « valeur2 ».
(setq valeur2 (read-line f))
;
;Ferme le fichier « MonFichier.txt ».
(close f)

Même exemple dans le sens inverse :

;Détermine le nom du fichier à ouvrir.
(setq fichier (strcat (getvar "dwgprefix") "MonFichier.txt"))
;
;Ouvre le fichier « MonFichier.txt » en écriture.
(setq f (open fichier "w"))
;
;Ecrit la valeur de la variable « valeur1 » dans le fichier.
(write-line valeur1 f) ;
;Ecrit la valeur de la variable « valeur2 » dans le fichier.
(write-line valeur2 f))
;
;Ferme le fichier « MonFichier.txt ».
(close f)

L’exemple ci-dessous, compte le nombre de lignes contenues dans un fichier :

;Initialise la variable « i » à zéro.
(setq i 0)
;
;Détermine le nom du fichier à ouvrir.
(setq fichier (strcat (getvar "dwgprefix") (getvar "MonFichier.txt")))
;
;Ouvre le fichier « MonFichier.txt » en lecture.
(setq f (open fichier "r"))
;
;Tant que le fichier contient des données non lues.
(while (read-line f)
;
; Incrémente la variable « i ».
(setq i (i + 1))
;
; Fin de la boucle While. D’autres lignes Lisp peuvent être ajoutées avant cette parenthèse.
)
;
;Ferme le fichier.
(close f)

Pour charger un programme Lisp facilement, cliquez sur le menu déroulant « Script », puis sur « Insert » et ensuite cliquez sur « Lisp ». Script affiche la boîte de dialogue « Insert a Lisp », sélectionnez le programme Lisp que vous voulez charger. Ensuite, Script insère le code lisp correspondant depuis la position du curseur de l’éditeur de texte. Exemple :

(command "._load" "d:\\DAO\\Projets\\MonProjet\\Dossier1\\MonProgrammeLisp.lsp")

Vous trouverez dans la rubrique « Programmes Lisp » quelques exemples utiles, commentés et téléchargeables.

 

La fenêtre "Projet"
Créer un script
Script et le langage Lisp
Paramétrer l'exécution d'un script
Exécuter un script

Configuration système requise
Tests du logiciel Script 2008
Télécharger Script 2008
Fonctionnalités en cours de développement
Votre avis

 

 

DECKER & CAD SOLUTIONS
3, Boulevard de l’Europe
68100 Mulhouse

Téléphone : +33.(0)3.89.36.33.05
Télécopie : +33.(0)3.89.45.57.10
 
Inscription à la newsletter

 

© Copyright 2004 [DECKER & CAD SOLUTIONS] Tous droits réservés.