Invité pleche.damien Posté(e) le 14 juillet 2011 Posté(e) le 14 juillet 2011 BONJOURj'ai un problème car je n'arrive pas à insérer deux bloc sous lisp:-le bloc "ancrage IPE"-le bloc "IPEle premier bloc étant inséré au milieu des points pt04 et pt08 mais il y a une erreur au niveau de la ligne "getdist pt04 pt08" que je n'arrive pas à déceler ...??? sachant que la variable "longipe" calcul automatiquement la distance entre les deux points. Je veux donc insérer mon bloc au point ptac12 ) (defun c:ipe () ((progn (setq longipe (getdist pt04 pt08)) (setq ptac12 (polar pt04 (/ 0) (/ longipe 2))) (command "inserer" "ancrage_IPE" ptac12 1 1 0 long "") (setq ptac13 (polar pt00 (/ pi) 6.5)) (command "inserer" "IPE" ptac13 1 1 0 long "") ) ) Merci pour votre aide
Invité pleche.damien Posté(e) le 14 juillet 2011 Posté(e) le 14 juillet 2011 bon je crois qu'il suffi de remplacer "getdist" par la fonction "distance" :) Je débute en lisp et je voudrais savoir si quelqu'un a une aide sur toute les fonctions possibles et utilisables en lisp, car la plus part du temps je ne sais pas à coi elles correspondes.Merci d'avance
(gile) Posté(e) le 14 juillet 2011 Posté(e) le 14 juillet 2011 Salut, Il y a quelques erreurs dans ton code :- des parenthèses en trop ((progn ... )), d'ailleurs le (progn ...) est inutile.- (/ 0) est superfétatoire tout comme (/ pi), qui retournent respectivement 0 et pi, donc inutile d'appeler la fonction diviser (/) Tu trouveras l'aide pour les fonctions AutoLISP (en anglais) dans l'aide aux développeurs > AutoLISP Reference > AutoLISP Functions. Je te recommande grandement l'utilisation de l'éditeur Visual LISP pour écrire et modifier tes codes LISP.Dans cet éditeur (comme expliqué dans le lien ci-dessus) tu peux sélectionner une fonction en double cliquant dessus et faire Ctrl+F1, l'aide s'ouvrira automatiquement sur la page de la fonction. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité pleche.damien Posté(e) le 14 juillet 2011 Posté(e) le 14 juillet 2011 merci Gile je vais y jeter un coup d'oeil
Invité pleche.damien Posté(e) le 14 juillet 2011 Posté(e) le 14 juillet 2011 Bon en faite sa marche presque sauf que mon deuxième bloc ne sincère pas en même temps que le premier bloc. Et je ne sais pourquoi (je suis obliger de mettre ENTRE pour qu'il s'insère) Il me marque l'erreur suivante: "erreur: fonction incorrecte: 60.0" je sais pas si sa un rapport.Donc si vous avez une solution sa sera avec plaisir merci
(gile) Posté(e) le 15 juillet 2011 Posté(e) le 15 juillet 2011 "erreur: fonction incorrecte: 60.0" Très probablement, il y a quelque part dans ton code quelque chose comme : (60.0 ...).En LISP, toute parenthèse ouvrante marque le début d'un appel de fonction (sauf le cas particulier des listes quotées). Donc derrière chaque parenthèse ouvrante l'interpréteur cherche une fonction et 60.0 n'en est pas une.Je te conseille une lecture attentive de ce sujet. 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