Aller au contenu

[résolue] Impression de profils en travers............Je vais craquer


Messages recommandés

Posté(e)

Salut,

 

Depuis pas mal de temps, je me bas avec l'impression automatisée des profils en travers.

 

J'utilise PDFCréator pour pouvoir assembler tous les profils dans un seul fichier PDF pour créer un cahier de profils en travers.

 

Mon soucis est que quelque soit la méthode de saisie des profils à imprimer (un par un, par fenêtre) l'ordre de profils n'est pas respecté. Par moment j'ai un profil qui ne se trouve pas à la bonne place.

 

Je vais avoir: 1 puis 2 puis 4 puis 3 puis 5 ..............................17 puis 19 puis 20.........................35 puis 18 puis 36 etc.

 

Et ce de façon aléatoire et pour une même liste de PT entre 2 essais, le résultat varie.

 

 

Pour savoir si cela ne venait pas de PDFcréator, j'ai fais un test sur une imprimante papier .......... même résultat.

 

 

Bref, je craque. On a 2 postes concernés. Par contre sur celui de ma collègue, pas de problèmes. Mais bon à force c'est elle qui va craquer, mais pas pour les mêmes raisons. ;)

 

 

Quelqu'un a-t-il déjà eu ce problème?

 

 

Avec la V2009 + Covadis V10 j'avais le même problème.

 

 

Merci.

 

 

Autocad V2009

 

Covadis - Autopiste V11.0a

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

j'ai bien eu ce type de pb avec pdfcreator.. par contre pas de pb avec DwgtoPdf (autocad 2007 et sup)

 

ça à l'ai d'etre un pb de buffer les pages arrivant un peu dans l'ordre ou elle ont été finie de traiter et pas dans l'ordre ou on les envoi..

 

si tu est sur covadis, utilise l'assistant d'imprétion avec DwgtoPdf ça passe pas mal...

 

sinon il y avait impa4 qui marche trés bien aprés des adaptations minimes suivant ta configuration

Posté(e)

Bonjour, avant j'avais aussi ce problème, j'utilisais alors le lisp suivant qui impose un délai de 10 secondes entre chaque profils, ainsi il sont dans l'ordre.

 

(defun c:impauto()
(vl-load-com)
(setvar "cmdecho" 0)

(setq   pl (getlayer "Selectionne le calque des cadres à imprimer:"))
(setq SS (ssget "_W" (getpoint "pt haut gauche") (getpoint "pt bas droit") (list(cons 0  "LWPOLYLINE") (cons 8 pl))))

    
(setvar "expert" 5)

(if (and SS (> (sslength SS) 0))
   (progn
      (repeat (setq iPTS (sslength SS))
(setq EN (entget (ssname SS (setq iPTS (1- iPTS))))
      PTS (cons (cdr (assoc 10 EN)) PTS)
      )
)
     (setq iPTS
     (vl-sort-i PTS
       '(lambda (A B) ;;eval as T if A is supposed to be in front of B
	  (cond
	    (
		;(equal (car A) (car B) (expt 0.1 (getvar "LUPREC"))) ;;same X?
	     (> (cadr A) (cadr B)) ;;return T if Y1 < Y2
	     )
	    ((= 1 1) T);;X1 < X2
	    ;((< (car A) (car B)) T);;X1 < X2
	    (T nil)))))
    (foreach iX iPTS
(setq ent (ssname SS iX))
 		(setq ent(entget ent))
 		 (setq j! 0)
 		(setq l_cadre (list ))
 			(setq nb_sommets 0)
	 (repeat (length ent)
			(setq entit (nth j! ent))
			(setq code_entit (car entit))
			(if (= code_entit 10)
				(progn
				  (setq l_cadre (cons (list (car (cdr entit))(cadr (cdr entit))) l_cadre))
				  (setq nb_sommets(+ nb_sommets 1))	
				);fin du progn
			);fin du if
		(setq j! (+ j! 1))
		)
 		 (if (= nb_sommets 4)
	   (progn
		(setq p1 (car l_cadre))
	        (setq p2 (caddr l_cadre))
(command "-traceur" "o" "" "PDFCreator.pc3" "A3" "M" "A" "N" "F" p1 p2 "10:1" "C" "N" "acad.ctb" "O" "f" "n" "n" "o")
	   ))
(setq tt 0)
(setq time (getvar "date"))
   (setq ti (setq time (* 86400.0 (- time (fix time)))))
 	(while (< tt (+ ti 10))
(setq time (getvar "date"))
   (setq tt (setq time (* 86400.0 (- time (fix time)))))
)
 )
)))


(defun getlayer	(titre / lay lst tmp file what_next dcl_id nom)
 (while (setq lay (tblnext "LAYER" (not lay)))
   (setq lst (cons (cdr (assoc 2 lay)) lst))
 )
 (setq	lst  (acad_strlsort lst)
tmp  (vl-filename-mktemp "Tmp.dcl")
file (open tmp "w")
 )
 (write-line
   (strcat
     "getlayer:dialog{label="
     (cond (titre (vl-prin1-to-string titre))
    ("\"Choisir un calque\"")
     )
     ";initial_focus=\"tp\";
     :boxed_column{:row{
     :column{:text{label=\"Sélectionner un objet\";alignment=left;}}
     :column{:button{label=\">>\";key=\"obj\";alignment=right;fixed_width=true;}
     spacer;}}
     :edit_box{key=\"tp\";edit_width=50;allow_accept=true;}
     :popup_list{key=\"lay\";edit_width=50;}
     spacer;}ok_cancel;}"
   )
   file
 )
 (close file)
 (setq dcl_id (load_dialog tmp))
 (setq what_next 2)
 (while (>= what_next 2)
   (if	(not (new_dialog "getlayer" dcl_id))
     (exit)
   )
   (start_list "lay")
   (mapcar 'add_list lst)
   (end_list)
   (or	nom
(setq nom (vlax-ldata-get "getLayer" "n"))
(setq nom (vlax-ldata-put "getLayer" "n" "0"))
   )
   (if	(member nom lst)
     (set_tile	"lay"
	(itoa (- (length lst) (length (member nom lst))))
     )
     (set_tile "lay" "0")
   )
   (set_tile "tp" nom)
   (action_tile "obj" "(done_dialog 3)")
   (action_tile "tp" "(setq nom $value)")
   (action_tile
     "lay"
     (strcat
"(if (or (= $reason 1) (= $reason 4))"
"(progn"
"(setq nom (nth (atoi $value) lst))"
"(set_tile \"tp\" (nth (atoi $value) lst))"
"(mode_tile \"tp\" 2)))"
      )
   )
   (action_tile
     "accept"
     (strcat
"(if (tblsearch \"LAYER\" nom)"
"(progn (done_dialog 1)"
"(vlax-ldata-put \"getLayer\" \"n\" nom))"
"(progn"
"(alert (strcat \"Le calque \" nom \" est introuvable.\"))"
"(setq nom nil) (set_tile \"tp\" (vlax-ldata-get \"getLayer\" \"n\"))"
"(mode_tile \"tp\" 2)))"
      )
   )
   (setq what_next (start_dialog))
   (cond
     ((= what_next 3)
      (if (setq nom (car (entsel)))
 (setq nom (cdr (assoc 8 (entget nom))))
 (setq nom nil)
      )
     )
     ((= what_next 0)
      (setq nom nil)
     )
   )
 )
 (unload_dialog dcl_id)
 (vl-file-delete tmp)
 nom
) 

 

Sinon il faut passer à autocad 2010 et surtout ne rien faire d'autre sur l'ordi pendant le processus d'impression, pour moi c'est bon.

 

Bonne journée.

Posté(e)

Merci, fredboss,

Je vais tester. Mais serait-il possible de descendre la valeur de 10s. Car pour une 50aine de profils, l'impression serait de presque 9mn.

 

Est-ce cette valeur du code qui gère l'intervalle:

PTS (cons (cdr (assoc 10 EN)) PTS)

 

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Peux-tu m'expliquer comment fonctionne cette routine. Je ne vois pas comment on sélectionne l'imprimante, le format, etc.

A moins qu'il faille être en espace papier avec une fenêtre par profil l!!!!!

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

OK, je vois comment cela fonctionne.

Mais voilà ce qu'autocad me retourne lorsque je fais un test sur UN profil.

 

IMPAUTO pt haut gauchept bas droitCommande inconnue "O". Appuyez sur F1 pour

obtenir de l'aide.

Commande inconnue "F". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "N". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "N". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "O". Appuyez sur F1 pour obtenir de l'aide.

; erreur: type d'argument incorrect: lentityp nil

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Vous avez du changer le "N" devant le "acat.ctb" de ce fait les paramètres après changent.

Vous pouver tester la syntaxe au clavier (sans les guillemets)

"-traceur" "o" "" "PDFCreator.pc3" "A3" "M" "A" "N" "F" p1 p2 "10:1" "C" "N" "acad.ctb" "O" "f" "n" "n" "o"

Ainsi vous verrez les paramètres qu'il vous faut.

 

Bon courage.

 

  • 7 mois après...
Posté(e)

Bonjour,

Tout d'abord merci pour cette lisp, mais j'ai plus d'une centaine de profils à imprimer, donc j'ai cherché une autre solution, dites moi ce que vous en pensez:

par le menu "démarrer" de Windows, aller sur les imprimantes, puis propriétés de PdfCreator, ensuite dans l'onglet "Avancé", cocher "Imprimer directement sur l'imprimante" au lieu de "Spooler l'impression..."

Chez moi cette manip' marche.

Par contre j'ai un autre problème, parfois le bas de mes pages (j'imprime mes profils en A4 paysage) est tronqué, c'est à dire que la date et le nom du fichier généré par PDFCreator disparait d'une façon apparemment aléatoire (donc je ne pense pas que ce soit une question de mise en page).

Avec la lisp ci-dessus, je ne rencontre pas ce problème, par contre, problème bien différent, l'ordre de mes profils est inversé, je clic pourtant comme il est indiqué: d'abord Haut gauche puis bas droit, mais je me retrouve avec un document commençant par la fin.

J'espère avoir été assez clair dans mes explications.

 

Cordialement.

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é