Novice_python Posté(e) le 21 avril 2015 Posté(e) le 21 avril 2015 Bonjour à tous ! Je souhaite lancer mon programme LISP sous AUTOCAD. Mon script se charge bien toutefois un message d'erreur apparait (voir pièce jointe). Pourtant il fonctionne correctement. Il faut que j'appuie systématiquement sur la touche "entrée" pour atteindre l'achèvement de mon programme. Quelqu'un aurait-t-il une idée ?? Merci d'avance !!!
-Olivier- Posté(e) le 21 avril 2015 Posté(e) le 21 avril 2015 Bonjour Novice_pithon, Autocad essaye de lancer une commande sans nom mais sans voir le programme cela va être compliqué. Olivier
Novice_python Posté(e) le 22 avril 2015 Auteur Posté(e) le 22 avril 2015 Bonjour, Je joins un extrait de mon programme LISP : (defun c:rename_bloc (/ OBJ) (if (setq OBJ (ssget "x" '((0 . "INSERT")(2 . "EBOURG"))))(progn (command "-calque" "n" "AEPS" "co" "4" "AEPS" "ep" "0" "AEPS" "tl" "Continuous" "AEPS" "") ((command "_-rename" "_b" "EBOURG" "211_regard_AEP_carre" " " )) );progn );if);defun Il permet de modifier le nom d'un bloc. Le message d'erreur joint au message précédent s'affiche sur AutoCAD. Je ne vois pas de quoi cela peut-t-il venir ? De plus, est-t-il possible d'insérer un bloc à une même position qu'un bloc déjà existant dans le dessin ? Bonne journée !
-Olivier- Posté(e) le 22 avril 2015 Posté(e) le 22 avril 2015 Bonjour Novice_python, 1- Tu as une double ouverture et fermeture de parenthèses sur la ligne ((command "_-rename" "_b" "EBOURG" "211_regard_AEP_carre" " " )) 2- La commande _-rename est terminée après "EBOURG" "211_regard_AEP_carre" le " " supplémentaire relance une commande sans nom qui provoque ton message d'erreur. 3- Ajoutes un (princ) avant la dernière parenthèse pour qu'Autocad revienne à la ligne. Ta ligne de commande sera plus propre. Olivier
(gile) Posté(e) le 22 avril 2015 Posté(e) le 22 avril 2015 Salut ((command "_-rename" "_b" "EBOURG" "211_regard_AEP_carre" " " )) Supprime les parenthèses superfétatoires et teste l'expression tu verras qu'elle vient du dernier argument de l'expression : " ". Si tu veux faire un Enter, il faut passer une chaîne vide ("") pas une chaîne contenant un espace (" "). Mais ceci est inutile puisque la commande renommer (_RENAME) se termine après que tu lui passes le nouveau nom. Autolisp considère donc la chaîne suivant comme un nouvel appel de commande et AutoCAD ne reconnait aucune commande dont le nom est un espace d'où le message d'erreur. EDIT: Olivier a été plus rapide... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant