Aller au contenu

Messages recommandés

Posté(e)

help : pourquoi ce qui suit ne marche pas

 

(defun c:test ()
(while
 (or (null (setq entpick (entget (car (entsel "\Designer un élément")))))      
      (/= (cdr (assoc 0 entpick)) "INSERT")     
      (/= (cdr (assoc 0 entpick)) "LINE")
 );;or	
(prompt "\nl'element doit etre un bloc ou une ligne\n")
);;while
)
alors que ceci marche
(defun c:test ()
(while
 (or (null (setq entpick (entget (car (entsel "\Designer un élément")))))      
      (/= (cdr (assoc 0 entpick)) "INSERT")     
 );;or	
(prompt "\nl'element doit etre un bloc\n")
);;while
)

merci

 

Posté(e)

OR fait une évaluation de gauche à droite et CESSE toute évaluation dès qu'une condition est non nulle.

 

Par exemple si l'entité sélectionné est différente d'un bloc (condition vrai) la condition LINE ne sera pas vérifié

 

Essayes de changer l'ordre ou d'utiliser AND.

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

Posté(e)

Bonjour

 

Je reponds sans le bonjour ?

 

Oui ;)

 

(defun c:test ()
 (setq entpick T)
 (while entpick
   (if (and (setq entpick (entsel "\Designer un élément"))
     (setq entpick (entget (car entpick)))
     (or (= (cdr (assoc 0 entpick)) "INSERT")
	 (= (cdr (assoc 0 entpick)) "LINE")
     );;or
);;and
      (prompt "\nLa suite de mon lisp\n")
      (prompt "\nl'element doit etre un bloc ou une ligne\n")
   );;if
 );;while
)

 

@+

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

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é