Aller au contenu

Problème impression Profil en travers en PDF


Messages recommandés

Posté(e)

Bonjour,

 

Je rencontre un problème à l'impression de mes profils en travers avec la commande "impression automatisé" et PDF Creator.

Je souhaite créer un seul fichier pour tous mes profils et aprés avoir utilisé l'outil "Fusionner" de PDF Creator je constate que :

- mes profils ne sont pas dans l'ordre

- certains hachurages ( déblai-remblai) ont disparu ou ne sont pas en arrière-plan comme souhaité...

 

Rencontrez vous le même problème ? Y'a t'il une manip pouvant m'éviter ces problèmes ?

 

En vous remerciant

Posté(e)

Bonjour

 

Les profils sont imprimés correctement (1 par fichier) ?

C'est lors de la fusion que tu rencontres des problèmes ?

Dans ce cas essayes de fusionner avec PDF SAM

Posté(e)

Bonjour

 

Les profils sont imprimés correctement (1 par fichier) ?

C'est lors de la fusion que tu rencontres des problèmes ?

Dans ce cas essayes de fusionner avec PDF SAM

 

J'évite de créer un fichier par profil ( j'ai une centaine de profil à créer... donc créer une centaine de fichier c'est trés lourd) donc je mets en attente l'impression dans PDF Creator avant de fusionner.

Posté(e)

Bonjour, déjà il faut essayer en fermant toutes les applications en arrière plan puis lors de l'impression, surtout laisser l'ordinateur travailler sans y toucher.

 

La plupart du temps cela suffit avec un PC correct.

 

Sinon, vous trouverez ci dessous un lisp qui permet de forcer l'ordre des profils de haut en bas, il faut bien sur l'adapter en changeant le nom du PC3 à utiliser ligne 47, l'orientation et éventuellement le nombre de paramètres suivant votre version d'autocad, ces paramètres se trouvent grâces à la commande manuelle de tracé "-traceur".

 

Bon courage.

 

(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)
  	(cond
		(
     	(> (cadr A) (cadr B))
     	)
		((= 1 1) T)
		(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 "1:1" "C" "N" "." "O" "" "N" "N" "O")
       ))
 )
)))


(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
)

Posté(e)

ok,

 

de mon côté je créé autant de fichiers que de profils

ensuite je fusionne avec adobe acrobat pro

jamais eu de problèmes, même avec 1000 profils...

Posté(e) (modifié)

Merci beaucoup !

Modifié par didier
suppression de la citation au message de Fred qui nuit à la lecture
Posté(e)

hello grisoutou,

je ne connais aps covadis mis tu peux utiliser la fontion AutoCAD publier qui te permet d'imprimer tes plans (papier, PDF, DWF) sans aucun problème et avec bcp de facilité

Je ne sais aps si tu connais cette fontion mais, personnelmenet, depuis que je la connais, je ne peux plus m'en passer!!

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

  • 2 semaines après...
Posté(e)

Je rencontre les mêmes problèmes et je suis juste sidéré de me dire qu'un logiciel dont le principal argument de vente est d'être intégré à Autocad réussi l'exploit de remettre en question le principe d'impression sous autocad.

Cela fait 6 mois au moins que j'attends que la maintenance me trouve un système fiable pour imprimer un carnet de profils en travers sans avoir à vérifier page par page si l'échelle est respectée, si l'hachurage est bien en arrière plan, si les profils sont dans l'ordre. Je comprends qu'en évitant la création d'onglets de présentation Covadis permet d'avoir des fichiers plus léger mais aujourd'hui non seulement c'est une galère sans nom pour imprimer en pdf mais en plus je n'ose même pas imaginer quand un client ( qui n'a pas covadis ) va m'appeler et me demander pour imprimer depuis le dwg les profils en travers !!!

Posté(e)

le problème vient de pdfcréator qui gère mal ses filles d'impressions... passe avec l'imprimante dwgTOpdf d'autocad et ça va mieux.

 

covadis y est pour rien...

 

Quand au présentations que ce soit pour les TP de covadis les carnet de feraillage ou les carnet élèc, j'ai constater qu'a partir d'une 50taine, il était bien plus facile de le gérer en EO qu'en EP

Posté(e)

le problème vient de pdfcréator qui gère mal ses filles d'impressions... passe avec l'imprimante dwgTOpdf d'autocad et ça va mieux.

 

covadis y est pour rien...

 

Quand au présentations que ce soit pour les TP de covadis les carnet de feraillage ou les carnet élèc, j'ai constater qu'a partir d'une 50taine, il était bien plus facile de le gérer en EO qu'en EP

 

Désolé mais avant d'utiliser covadis j'imprimais mes profils en travers sans problème et j'estime qu'à partir du moment où on impose un système d'impression il faut assumer ce choix. Covadis à pris le parti de nous faire imprimer les carnets depuis l'espace objet, alors qu'ils nous fournissent les outils pour arriver à imprimer. Quand tu les appelle ils te renvoient vers pdf créator alors qu'ils savent pertinemment que cela ne fonctionne pas. Pour dwg to pdf c'est juste un peu long quand tu dois imprimer 180 profils. Et çà ne résouds pas le problème pour l'impression pour quelqu'un qui n'a pas covadis.

Posté(e)

Salut,

Je confirme, cela vient de Covadis, car je rencontre le même problème avec des sorties papier.

J'avais fait la requête un jour à géomédia, mais pour l'instant que dalle...

Pour l'instant, je sélectionne profil par profil et dans l'ordre. Ça marche mieux, mais pas dans 100% des cas, disons que je suis passé de 30% de réussite à 80%. Mais surtout ne pas faire de fenêtres de capture.

 

D'après ce que j'avais compris lors de ma requête, la commande imprime dans l'ordre du numéro de "Maintien" de l'objet cadre.

 

Perso, j'attends toujours cette évolution car c'est un peu lourd comme bug.

 

A plus.

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

Bonjour à toutes et tous,

 

Heureusement, il existe le très fameux lisp "CEP" de Bred,

 

; Crée un onglet EP par cadre de page sélectionné en EO
; par Bred - Un onglet déjà paramétrer doit exister
(defun c:CEP (/ ACDOC B C FEN I LAYS N-P NOM-P ONG-BASE ONG_DEST SEL XMIN YMAX
A-P HAUT LARG P1 P2 NOM ECH LAY LOCK UNIT)
(vl-load-com)
; 4 Millimètres 5 Centimètres 6 Mètres
(setq Unit (cdr (assoc (getvar "INSUNITS") '((4 . 1) (5 . 10) (6 . 1000)))))
(while (not sel)
(setq sel (car (entsel "\n Choix du cadre (Bloc) :")))
(if sel
(if (not (equal (vla-get-ObjectName (setq b (vlax-ename->vla-object sel))) "AcDbBlockReference"))
(setq sel nil)))
)
(setq sel (ssget '((0 . "INSERT")))
AcDoc (vla-get-activedocument (vlax-get-acad-object))
nom-p (getstring t "\n Nom des Onglets à Créer :")
layS (layoutlist))

(if (> (length layS) 1)
(progn
(princ "\n Copie configuration traceur d'onglet Existant. \n Plusieurs Présentations détectées.")
(while (not ong-base)
(princ "\n")
(repeat (setq i (length layS))
(princ (strcat (nth (- (length layS) i) layS) " * "))
(setq i (1- i)))
(setq ong-base (getstring t "\n Présentation d'où la configuration du traceur sera récupérée :"))
(if (not (member ong-base layS))
(setq ong-base nil))))
(setq ong-base (car layS)))

(setq a-p (vla-item (vla-get-layouts AcDoc) ong-base))
(vla-getcustomscale a-p 'n 'm)


(vla-put-ActiveLayout AcDoc a-p)
(vlax-for e (vla-get-paperspace AcDoc)
(if (equal (vla-get-ObjectName e) "AcDbViewport")
(setq lay (vla-get-Layer e)
lock (vla-get-DisplayLocked e)))
)

(setq i 0)
(repeat (sslength sel)
(if (vlax-property-available-p (vlax-ename->vla-object (ssname sel i)) 'effectivename)
(setq nom vla-get-effectivename)
(setq nom vla-get-name))

(if (equal (nom (setq c (vlax-ename->vla-object (ssname sel i))))
(nom B))
(progn
(vla-GetBoundingBox c 'xmin 'ymax)
(setq n-p (vla-add (vla-get-Layouts AcDoc) (setq ong_dest (strcat nom-p " - " (rtos (1+ i) 2 0)))))

(setq ech (vla-get-XEffectiveScaleFactor c))
(vla-copyfrom n-p a-p)
(vla-put-ActiveLayout AcDoc n-p)
(setq fen
(vla-AddPViewport (vla-get-paperspace AcDoc) (vlax-3d-point '(0 0 0))
(setq Larg (* Unit (/ (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) ech)))
(setq Haut (* Unit (/ (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))) ech)))))
(vla-put-Layer fen lay)
(vla-put-DisplayLocked fen lock)
(vla-ZoomExtents (vlax-get-acad-object))
(vla-Display fen :vlax-true)
(vla-put-MSpace AcDoc :vlax-true)
(vla-put-ActivePViewport AcDoc fen)
(vla-ZoomWindow (vlax-get-acad-object) xmin ymax)
(vla-put-MSpace AcDoc :vlax-false)
(if (> (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin)))
(- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))))
(vla-put-PlotRotation (vla-get-activelayout AcDoc) ac90degrees)
(vla-put-PlotRotation (vla-get-activelayout AcDoc) ac0degrees))
(setq p1 (vlax-make-safearray vlax-vbdouble (cons 0 1))
p2 (vlax-make-safearray vlax-vbdouble (cons 0 1)))
(vlax-make-variant
(vlax-safearray-fill p1 (list (- (/ Larg 2)) (- (/ Haut 2)))))
(vlax-make-variant
(vlax-safearray-fill p2 (list (/ Larg 2) (/ Haut 2))))
(vla-put-PlotType (vla-get-activelayout AcDoc) acWindow)
(vla-setwindowtoplot (vla-get-activelayout AcDoc) p1 p2)
(setq i (1+ i))
) ) )
(setvar "TILEMODE" 1)
(princ)
)

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

puis qu'on en est dans les lisp, je te met celui que j'utilise pour les carnets de ferraillage qu'il te faudra peut être un peu bricoler pour l'adapter à l’échelle qu tu dois sortir (voir dans les commentaires)

 

sa fonction est de faire un pdf par cadre (tracé avec la commande rectangle) il faut mettre tous les cadres dans un seul calque qui ne contient que ça.

les pdf sont appelés de 1.pdf à n.pdf et il faut les assembler avec pdfsam pour faire le carnet par défaut dans c:/temp

ils sont tracé dans l'ordre inverse ou ont été fait les cadres (ce qui est pas gênant il suffit des les classer par date inverse pour les passer dans le bon ordre à pdfsan)

 

je retrouve plus le post pour citer l'auteur du code, mais je le remercie encore....

 

(defun c:impa4()
(setq pl(cdr (assoc 8 (entget (car (entsel "\nChoix du cadre imprime ?"))))))
 (setq sel (ssget "x" (list(cons 0  "LWPOLYLINE")(cons 8  pl)(cons 70  1))))
		     


 (setq i 0)
 
(repeat (sslength sel)
(setq ent (ssname sel i))
 		(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))


	     (setq fichier (strcat "c:/temp/" (rtos (+ i 1) 2 0) ".pdf"))
(command "-traceur" "o" "" "DWG TO PDF.pc3" "ISO expand A4 (297.00 x 210.00 mm)" "M" "A" "N" "F" p1 p2 "10" "C" "O" "monochrome.ctb" "o" "F" fichier "N" "O");parametres M=mm, A pAysage P Portrait, N pas de symetrie verticale, F fenetre (p1 p2) pour l'echelle "P" pour Plein format (ajuster) ou un facteur d'echelle,C centrer,N Style de tracé o/n, nom de la table,N épaisseur de lignes o/n, tracé de l'ombrage au format Affiché/Filaire/Masqué/Style visuel/Rendu, N et O fo pas toucher

	     ;(command "polylign" p1 p2 "")

	;(alert fichier)	
	   ))
       (setq i (+ i 1))
 )



 
 )

(defun c:ok()
 (princ "ok")
 (princ )
 
 )

Posté(e)

Bin moi j'en balance dans l'ordre ou pas dans l'ordre,

j'envoie le PDF tel quel.

Je fais bien l'effort de rétablir l'ordre pour la sortie papier ; C'est tout.

 

Pour c'que ça sert... <_< (gonfler l'épaisseur du dossier, oui bon...)

Ca fais belle lurette que j'ai vu un chef de chantier

avec un profil en travers dans les mains. :P

Posté(e)

Bin moi j'en balance dans l'ordre ou pas dans l'ordre,

j'envoie le PDF tel quel.

Je fais bien l'effort de rétablir l'ordre pour la sortie papier ; C'est tout.

 

Pour c'que ça sert... <_ l du dossier oui bon...>

Ca fais belle lurette que j'ai vu un chef de chantier

avec un profil en travers dans les mains. :P

 

Re,

 

Assez d'accord avec tout ça,...

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

pour ce qui est de ceux de voirie, je dis ok.... ça sers finalement peu... enfin il faut la coupe de principe et les points dur si on veux pas que le chef de chantier fasse trop au feeling...

par contre pour le ferraillage et l'elec, je voie mal un bâtiment tenir debout sans son carnet de ferraillage, pareil pour un coffret éléc ça ferai des étincelles.

 

ainsi le gros des carnets qu'on sort, sont sur des postes ou Covadis n'est pas installé. (d’où le lisp)

Posté(e)

Bonjour à toutes et tous,

 

je voie mal un bâtiment tenir debout sans son carnet de ferraillage, pareil pour un coffret éléc ça ferai des étincelles.

 

Bien entendu !

 

L'ordre des carnets de PT est aussi important mais dans la réalité, peu utilisé sur le chantier, ce qui n'est pas le cas d'un carnet de ferraillage ou élec,...

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

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é