dilack Posté(e) le 15 juin 2009 Partager Posté(e) le 15 juin 2009 salut à tous,quand je charge cette routine sous map 3D 2009 j'ai une erreur de syntaxe alors que sous la version 2006 à l'epoque elle fonctionnait correctement.merci d'avance pour vos réponse (defun errlsp (ch)(cond((eq ch "Function cancelled") nil)((eq ch "quit / exit abort") nil)((eq ch "console break") nil)(T (princ ch)))(setvar "cmdecho" v1)(setvar "orthomode" v2)(setvar "osmode" v3)(setvar "blipmode" v4)(setvar "snapang" v5)(setq *error* olderr)(princ))(defun C: pte ( / v1 v2 v3 v4 v5 d_pc flag p_o p_f dlt_x d olderr)(setq v1 (getvar "cmdecho")v2 (getvar "orthomode")v3 (getvar "osmode")v4 (getvar "blipmode")v5 (getvar "snapang"))(setvar "cmdecho" 0)(setvar "orthomode" 0)(setvar "blipmode" 0)(setq olderr *error* *error* errlsp)(initget 1)(setq d_pc (getreal "\nEntrer la valeur de la pente (rampe) en % ?: "))(initget 8)(setq echll (getpoint "\nEchelle du profil en long X,Y <1000,100>: "))(if (eq echll ()) (setq echll '(1000 100)))(setq d_pc (* d_pc (/ (car echll) (cadr echll))))(setq p_o (getpoint "\nPoint de départ : "))(if (eq p_o ()) (setq p_o (getvar "lastpoint")))(initget "Dans Avec _In With")(if (eq (getkword "\nPente [Dans/Avec] le plan XY : ") "With")(setq flag T)(progn(setvar "snapang" (atan (/ d_pc 100.0)))(setvar "orthomode" 1)(setq flag nil)))(initget 41)(setq p_f (getpoint p_o "\nPoint final : "))(setvar "osmode" (+ 16384 (rem (getvar "osmode") 16384)))(if flag(progn(setq dlt_x (sqrt (+ (* (- (car p_o) (car p_f)) (- (car p_o) (car p_f))) (* (- (cadr p_o) (cadr p_f)) (- (cadr p_o) (cadr p_f))))))(setq d (* dlt_x (/ (sin (atan (/ d_pc 100.0))) (cos (atan (/ d_pc 100.0))))))(setq p_f (list (car p_f) (cadr p_f) (+ (caddr p_o) d)))(command "_.line" p_o p_f "") )(progn(setq dlt_x (- (car p_f) (car p_o)))(setq d (/ dlt_x (cos (atan (/ d_pc 100.0)))))(command "_.line" p_o (polar p_o (atan (/ d_pc 100.0)) d) "")))(setvar "cmdecho" v1)(setvar "orthomode" v2)(setvar "osmode" v3)(setvar "blipmode" v4)(setvar "snapang" v5)(setq *error* olderr)(prin1)) Lien vers le commentaire Partager sur d’autres sites More sharing options...
orio Posté(e) le 15 juin 2009 Partager Posté(e) le 15 juin 2009 bonjour je n'ai pas 2009, mais sous autocad 2010, le chargement de ton fichier me dit aussi une erreur de syntaxe. la cause : remplace (defun C: pte par(defun C:pte il y a un esapce en trop entre c: et pte Mais à mon avis, tu ne dois pas utiliser le bon fichier lsp, car avec Autocad 2006, j'ai exactement le même message d'erreur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 15 juin 2009 Partager Posté(e) le 15 juin 2009 Salut, orio à raison! C'est l'espace entre ":" et "pte" qui provoque l'erreur de syntaxe. Rajoute aussi dans les déclaration des variables "echll" autrement les lignes suivantes risquent de retourner des valeurs incongrues si valider à blanc. (initget 8)(setq echll (getpoint "\nEchelle du profil en long X,Y <1000,100>: "))(if (eq echll ()) (setq echll '(1000 100))) donc: (defun C:pte ( / v1 v2 v3 v4 v5 d_pc echll flag p_o p_f dlt_x d olderr) sera beaucoup mieux 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 More sharing options...
dilack Posté(e) le 15 juin 2009 Auteur Partager Posté(e) le 15 juin 2009 merci pour vos réponse effectivement je n'avais pas vu l'espace Lien vers le commentaire Partager sur d’autres sites More sharing options...
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