Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

J'ai ecris ça ne marche pas et j'ai beau regarder je ne vois pas pourquoi

Si quelqu'un peut m'aider

Merci

;;; Imprime toutes les présentations du dessin en PLT;;;

 

 

(defun c:plprint ( / p l nom chemin nomplt)

(setq l (layoutlist)

)

(setq nom (vl-filename-base (getvar "dwgname")

)

)

(setq chemin (getvar "dwgprefix")

)

(setq nomplt (strcat chemin nom)

)

(defun pos

(foreach p l

(cond

((equal (car l) p) "1")

((+1 (pos (cdr l) p)))

) )

)

(foreach p l

(command "_-plot" "N" p "" "ANR 510 SERIES.pc3" "O" (strcat nomplt "-" pos ) "N" "O")) )

Posté(e)

Salut,

 

pour une meilleur lisibilté, met ton code entre les balise "code" :

   

 

Que souhaite tu faire dans cette partie :

(defun pos
 (foreach p l
   (cond((equal (car l) p) "1")
   ((+1 (pos (cdr l) p)))
   ) 
 )
)

Tu veux incrémenter le nom tes présentations ?

PIRO Charles

Developpeur Revit, RV/RA - Formateur Revit

PIRO CIE

Posté(e)

Salut,

 

pour une meilleur lisibilté, met ton code entre les balise "code" :

   

 

Que souhaite tu faire dans cette partie :

(defun pos
 (foreach p l
   (cond((equal (car l) p) "1")
   ((+1 (pos (cdr l) p)))
   ) 
 )
)

Tu veux incrémenter le nom tes présentations ?

bonjour,

En fait je cherche à obtenir la position de la présentation dans le liste

en gros "car" donne 1 "cdr" donne 2 "cadr" donne 3 ect...

Posté(e)

Tu peux tout simplement faire un compteur.

 

Tu l'initialise à 1

 

(setq compteur 1)

 

Et tu l'incrémente après l'impression

 

(setq compteur (+1 compteur))

 

Je trouve ton lisp très compliqué pour pas grand chose mais je n'ai peut être pas bien saisi ce que tu souhaite obtenir. Voici comment je l'aurai écrit :

(defun c:plprint ( / l nom chemin nomplt compteur)
 (setq nom (vl-filename-base (getvar "dwgname"))
 (setq chemin (getvar "dwgprefix"))
 (setq compteur 1)
 (foreach l (layoutlist)
   (setq nomplt (strcat chemin nom "-" (itoa compteur)))
   (command "_-plot" "N" l "" "ANR 510 SERIES.pc3" "O" nomplt "N" "O")
   (setq compteur (1+ compteur))
 )
)

 

Est-ce que cela correspond à ce que tu souhaite faire ?

PIRO Charles

Developpeur Revit, RV/RA - Formateur Revit

PIRO CIE

Posté(e)

Tu peux tout simplement faire un compteur.

 

Tu l'initialise à 1

 

(setq compteur 1)

 

Et tu l'incrémente après l'impression

 

(setq compteur (+1 compteur))

 

Je trouve ton lisp très compliqué pour pas grand chose mais je n'ai peut être pas bien saisi ce que tu souhaite obtenir. Voici comment je l'aurai écrit :

(defun c:plprint ( / l nom chemin nomplt compteur)
 (setq nom (vl-filename-base (getvar "dwgname"))
 (setq chemin (getvar "dwgprefix"))
 (setq compteur 1)
 (foreach l (layoutlist)
   (setq nomplt (strcat chemin nom "-" (itoa compteur)))
   (command "_-plot" "N" l "" "ANR 510 SERIES.pc3" "O" nomplt "N" "O")
   (setq compteur (1+ compteur))
 )
)

 

Est-ce que cela correspond à ce que tu souhaite faire ?

 

 

 

Merci à toi prince d'Euphor

C'est exactement ça

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é