Aller au contenu

utilisation d\'un lisp dans une commande


dilack

Messages recommandés

Bonjour,

 

Il est possible d'utiliser dans certaine condition un lisp au cours d'une commande Autocad.

Les conditions pour que cela fonctionne:

 

* il faut que le code renvoi ce qu'attend la commande au moment de l'appel,

- cela peut être un point sous forme de liste (5.0 3.0 0.0) un réel, entier ou caractère alphanumérique.

* il ne faut pas que ton code fasse des appels à commande (un appel à la commande "CERCLE" ne pourra fonctionner au milieu de l'utilisation de la commande "POLYLIGNE", elle fera avorter celle-ci).

 

Un exemple concret, sans controle de validité et d'erreur, vite fait pour l'exemple ;-)

En considérant que le code suivant est chargé en mémoire.

(defun qla? ()
(cdr (assoc 43 (entget (car (entsel "\nSélectionner une LWPOLYLINE pour récuperer sa largeur: ")))))
)

Ce code récupère la largeur d'une polyligne préalablement dessinée.

Il est maintenant possible de t'en servir dans la commande polyligne

Ex:

 

Commande: _pline

Spécifiez le point de départ:

La largeur courante est de 0.0000.

Spécifiez le point suivant ou [Arc/Clore/Demi-larg/LOngueur/annUler/LArgeur]: LA

 

Spécifiez la largeur de départ <0.0000>: (qla?) (<- ici l'appel à la fonction lisp)

 

Sélectionner une LWPOLYLINE pour récuperer sa largeur: 4.01972 (<- valeur renvoyée par la fonction (qla?))

 

puis la suite de la commande continue normalement.

 

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é