Aller au contenu

erreur sur cette routine


Messages recommandés

Posté(e)

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)

)

Posté(e)

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.

 

 

Posté(e)

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

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é