Aller au contenu

Impression de feuillets à partir de l\'EO


Messages recommandés

Posté(e)

Bon je pense savoir comme resoudre le probleme du fichier de lili2006, mais c'est tordu comme méthode.

 

Le probleme vient du fait de l'echelle cm et du fait que cela soit du 20e (c'est un exemple)

 

En EO je crée un rectangle au format voulue, dans le fichier test c'est des A3, donc un rectangle de 420x297

 

En EP:

Lorsque que je configure la présentation de base, je crée une fenetre (fmult)

je lui met un exemple dedans avec une echelle de 1/10 car c'est le rappor des cm/mm

 

ensuite dans le panneau de configuration de l'impression je fais impression fenetre (voir image si dessus) mais dans les echelles d'impression je mais 1mm papier = 2 unité dessin.

 

Et la sa marche.

 

et l'on peu constaté que 1/10 fenetre X 1/2 impression = 1/20e

 

@+

MDSV41

 

PS: je fais un test demain avec des presentation au 1/50 et 1/100

Dessinateur Indépendant

  • Réponses 132
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Posté(e)

lili2006

 

Je viens de regarder ton fichier, et ton problème viens de:

 

1° Ton bloc, dans l'éditeur de bloc :exclam: , à pour dimenssion 840x594, alors qu'il devrait avoir 420x297. Et seulement dans l'EO :casstet: (pas dans l'éditeur de bloc) tu modifie son échelle, donc, dans ton cas, tu dessine en cm donc tu diminue ton bloc de 0,1 (mm => cm) et tu le veut au 1/20 donc ensuite tu l'agrandi de 20 soit un facteur globale de 2.

 

2° Ta présentation gabarit "A", sa mise en page est sur "présentation", alors qu'elle devrait être sur "fenêtre" (et tu selectione ta fenêtre) et "centrer tracé".

 

P.S : n'oublie pas de mettre "Unités de mise à l'échelle du contenu inséré" sur millimétre, vue que ton bloc est en millimétre.

 

Ci-joint ton fichier modifié

 

http:// http://cjoint.com/?hexSsKbpTe

 

Avec cette méthode sa marche, mais j'ai pas tout testé...

 

BRED, ton lisp couplé avec mon bloc dynamique avec champs dynamiques s'est vraimment trop de la balle, donc encore:

 

Trés beau boulot BRED!!! comme d'hab...
:D :D :D :D :D :D :D :D

A+

Posté(e)

Salut,

merci à tous.

 

Faudra un jour que je revienne sur ce code pour le rendre moins tordu à l'utilisation...

 

... un jour...

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

BRED :

merci à tous.

 

NON, merci à toi... et à ta persévérance.

 

BRED, avec ta méthode,

Si, mais toujours en EP.

(plusieurs cadres / onglets)

 

peut tu modifier tout tes cartouches d'un coup et/ou créer une chaine d'attribut ( ex: n° de page)?

 

J'ai essayé ta méthode en créant mes blocs (cartouche/cadre) dans l'EP, mais je n'arrive pas à tous les selectionner avec sélection rapide afin de les modifiers tous d'un coups!!

 

Rien que pour ça, je ne changerais pas de méthode (à part peut ètre s'il éxiste des Lisp qui facilite la gestion des blocs dans les onglets de présentations, mais là c'est un autre sujet...)

 

Faudra un jour que je revienne sur ce code pour le rendre moins tordu à l'utilisation...

 

... un jour...

 

Pas de problème BRED, la porte est grande ouverte, j'espère que d'ici là, je me serais mis au Vlisp.

Ce site est intéréssant, on peut avoir des Lisp puissant, mes ce que je recherche maintenant c'est comment les dévellopper moi mème !!!.... Y'a du boulot!!!...

 

 

Posté(e)

Re,

peut tu modifier tout tes cartouches d'un coup et/ou créer une chaine d'attribut ( ex: n° de page)?

ça, je le fais, mais en programmation, sur un cartouche perso (mon prog ne fonctionnes que pour ce cartouche)

 

J'ai essayé ta méthode en créant mes blocs (cartouche/cadre) dans l'EP, mais je n'arrive pas à tous les selectionner avec sélection rapide afin de les modifiers tous d'un coups!!

Je pense que tu veux dire sue tu veux sélectionner un cartouche qui est dans plusieurs onglets...

 

C'est un bon exo, ça en programmation...

;)

 

J'utilise rarement plusieurs onglets.

J'essaye de regrouper mon carnet dans le même onglet : je transfert ainsi des éléments de fenêtres à fenêtres par exemple, je copie des fenêtres et je joues sur les calques pour faire apparaitre certaines chose ou pas (et si j'ai déjà fait la mise en page de la fenêtre copié, une partie du boulot est fait), etc...

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Bonjour à toutes et tous,

 

En effet BIGC-ROMU, cela fonctionne comme cela,...

Les cadres suivent la vrai dimension à l'insertion dans l'EO, mais je vais tous les modifier et les insérer avec facteur d'échelle et à priori, cela devrait fonctionner sur toutes les échelles,...

Cet outil peut vraisemblablement remettre en question ma procédure de publication, affaire à suivre donc,... (Et après on dis qu'on aime pas se remettre en question,...!!! ;)). De plus, on est pas contraint d'associer une vue à une présentation, on colle son cadre là ou ça nous intéresse en fonction des besoins,....Pas mal du tout, je trouve ;)

 

Je m'en occupe dès lundi et vous tiens au courant.

 

Merci d'avoir testé mon fichier et trouvé le pourquoi du comment (et en plus une solution !) BIGC-ROMU,

 

Merci à toi bred pour les mêmes raisons :

 

NON, merci à toi... et à ta persévérance.

 

Je crois aussi que tu vas faire d'autres heureux,...

 

Entre les lisps de Patrick_35 sur tous ce qui est espace de travail et gestion de l'impression et celui-ci,...bah, on sert plus des outils AutoCAD,... ! Plus bien sûr les outils complémentaires de dessin développés par d'autres ( (gile), bonuscad, win34, schechambak et tous les autres,...),....

 

Seriez-vous de meilleurs développeurs que les gars d'Autodesk ???,....ça laisse rêveur,..

 

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Re,

 

Un autre constat : Si la présentation de référence est vérouillée, et bien celles générées depuis celle là ne sont plus vérouillées.

 

C'est peut-être fait exprés, ceci dis ??!

 

Voilà pour les derniers constats,

 

Tout compte fait, j'ai repris mes gabarits et adopté cette méthode car beaucoup plus souple à l'utilisation et surtout, surtout indépendant de vues, donc trés rapide à mettre en place,...

 

Merci encore à tous,

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Salut,

Par contre, quand je selectionne les objets dans le sens A vers H, j'ai les onglets qui évolues dans le sens contraire ? (H vers A).

J'avoue ne pas m'être occupé de ça.

C'est corrigé dans le code précédent.

 

Un autre constat : Si la présentation de référence est vérouillée, et bien celles générées depuis celle là ne sont plus vérouillées.

C'est normal, je ne récupère rien de la fenêtre existante, j'en créés une nouvelle.

 

J'ai testé ton gabarit zt j'ai toujours de problèmes...

Et je pense que toi aussi (as tu fais un aperçu)

 

Je test avec le miens, tous à l'air de fonctionner, quelque soit l'échelle des cadres, leur orientations...

Comprends pas.

 

Mon fichier Test

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Bonjour à toutes et tous,

 

Merci Bred de ta réponse (et des modifs!)

 

Encore un truc bizarre, je selectionne les cadres de A à F, les onglets se rangent depuis la droite vers la gauche en ordre croissant, mais les vues dans l'ordre croissant de la gauche vers la droite !

 

C'est peut-être ta façon de faire remarque, mais penses-tu qu'il serait possible (si c'est "simple et rapide") de mettre l'ordre croissant des vues ainsi que son incrémentation de la gauche vers la droite ? Résultats depuis ton fichier test.

Cela reste un détail bien sûr,...

 

j'en créés une nouvelle.

 

Ok, mais de toute façon, c'est pas un problème, je l'écrivai au cas ou tu voulais t'en soucier dans la routine,A ce jour, j'utilise "VERR" de Patrick_35. Peut-être peut-on coupler les deux routines , (C'est juste une idée "lancée",...)

 

Rappel "VERR" =>

 

 (defun c:verr(/ fen n sel tot)
 (vl-load-com)
 (vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
 (if (setq sel (ssget "x" (list (cons 0 "VIEWPORT"))))
   (progn
     (setq n 0 tot 0)
     (while (ssname sel n)
       (if (and (= (logand (cdr (assoc 90 (entget (ssname sel n)))) 16384) 0) (/= (cdr (assoc 69 (entget (ssname sel n)))) 1))
         (progn
           (setq fen (vlax-ename->vla-object (ssname sel n)))
           (vlax-put-property fen "displaylocked" :vlax-true)
           (setq tot (1+ tot))
         )
       )
       (setq n (1+ n))
     )
     (princ (strcat "\n"  (itoa tot) " fenêtre(s) de verrouillée(s)"))
   )
   (princ "\nPas de fenêtres")
 )
 (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
 (princ)
)

(princ "\nVERR.LSP chargé. Tapez VERR pour l'exécuter")
(princ)

 

 

J'ai testé ton gabarit zt j'ai toujours de problèmes...

 

comme écrit ci-dessus, j'ai revu ma copie,... et tout marche du tonnère, bravo encore à toi !

 

 

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Re,

 

Tu as raison Bred, l'aperçu n'est pas conforme à ce que l'on voit dans l'onglet, ???!!!

 

http://images4.hiboox.com/images/2708/25a5b5aeec8c6f9a6e48931d62750f35.jpg

 

Et si, je choisi la mise en page de ma présentation de référence =>

 

http://images4.hiboox.com/images/2708/f7c0e79aa6dee18fbeee43d9a866fd02.jpg

 

Ce qui donne =>

 

http://images4.hiboox.com/images/2708/578612d65594ca870f94091024b65da2.jpg

 

J'y comprend rien !

 

Je continu de chercher,...

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Salut,

Alors, bien sûr, ce qui doit arriver arrive....

Comme je n'arrête pas de toucher à ce code, à le modifier, à revenir en arrière, y'a bien des trucs à l'intérieur que je devais laissé trainer...

 

C'est normal le bug que tu avais lili,je multipliais une fois quelque chose, puis je le re-multipliais derrière encore une fois....

c'est corrigé, j'ai testé sur ton gabarit, ça fonctionne maintenant (désolé du temps perdu).

 

Pour la sélection, ce n'est pas moi qui choisis l'ordre des blocs sélectionner, désolé, je le sort tel quel...

Par contre, tu peux faire une sélection "fenêtre par fenêtre" dans l'ordre que tu veux, là ça devrais fonctionner.

Pour l'indice des onglets, c'est corrigé.

 

Et pour me faire pardonner du temps perdu, j'ai rajouté dans la création de la fenêtre dans les onglets la récupération du calque de la fenêtre dans l'onglet de base, ainsi que sa propriété vérrouillé ou non...

 

J'espère que ça va fonctionner maintenant !!!!

 

 

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

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Bonjour à toutes et tous,

 

(désolé du temps perdu)

 

De quel temps perdu parles-tu ?

 

Tu voulais dire, "satisfait du temps que je vais vous faire gagner" ? Alors, je comprend mieux !

 

Et, bien sûr, sans parler de temps, c'est surtout maintenant la facilité d'utilisation et la souplesse de cette méthode, là preuve, je suis passé de 5 gabarits de présentation à deux ! Les grands formats et les carnets !!

 

Par contre, tu peux faire une sélection "fenêtre par fenêtre" dans l'ordre que tu veux, là ça devrais fonctionner.

Pour l'indice des onglets, c'est corrigé.

 

Super super !!!

 

j'ai rajouté dans la création de la fenêtre dans les onglets la récupération du calque de la fenêtre dans l'onglet de base, ainsi que sa propriété vérrouillé ou non...

 

C'est pas beau ça !!! :D

 

 

J'espère que ça va fonctionner maintenant !!!!

 

Je teste dans tous les sens, et revient !

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Bonjours à tous,

 

Je me posait une question...Je me demandais s'il serait possible que CEP marche avec un bloc dynamique comportant un paramétre linéaire associé à une action de mise à l'échelle...

C'est à dire, qu'au lieu de modifier l'échelle du bloc par l'intermediaire de l'outils échelle, on la modifie par l'intermediare de poignées ou d'un champs dans la fenêtre propriétés... ;)

 

Je ne sait pas si c'est possible... je ne sait pas si j'abuse...et je ne sait pas si cela intérresserais beaucoup de monde ! :exclam:

 

Bon, il est vrai qu'actuellement cela marche trés bien sans...mais cela permettrais d'économiser des clics de souris... :)

 

Tenez moi au courant...

 

A+

Posté(e)

Bonjour,

 

Vous etes tous de tres grand malade!!! :P

 

Et je dirais Bred le premier qui à passer je ne sais combien de temps pour nous faire un outils du feu de dieu.

 

je signal de Italique = humour

 

Bon pour etre serieux, Bred, si tu passe du côtés de BLOIS dans un rayon de 100 km, fais moi signe que je te paye un resto.

 

Et encore bravo pour ce magnifique travail.

 

@+

MDSV31

Dessinateur Indépendant

Posté(e)

Merci.

C'est noté....

 

Je me posait une question...Je me demandais s'il serait possible que CEP marche avec un bloc dynamique comportant un paramétre linéaire associé à une action de mise à l'échelle...

Je n'utilise pas les blocs dynamiques.

Je pense que ça doit être possible.

Joint un plan ou tu as un bloc copié plusieurs fois dont certains ont subi un dynamise d'échelle pour voir si j'arrive à en sortir le truc.

 

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Re,

 

En insérant ton bloc, tu choisi l'échelle, non ?

 

Autant pour moi, tu as raison, ça revient au même, désolé pour cette question trés peu réfléchie de ma part...

 

Je pense que ça doit être possible.

 

Désolé BRED, mais LILI à raison... Pas la peine que tu gaspille ton temps sur ma demande...

 

Bon pour etre serieux, Bred, si tu passe du côtés de BLOIS dans un rayon de 100 km, fais moi signe que je te paye un resto.

 

Idem pour moi du coté de Poitiers,...

 

A+

 

 

Posté(e)

re yo....

 

j'ai un peu plus de temps, et un gros plan avec moult carnets à imprimer alors j'ai tester le lisp de bred...

 

ben, je voudrai pas passer pour un rabat joie, mais j'adhère pas trop à la méthode.

je m'explique. le code fonctionne bien et ce n'est pas là le soucis.

 

sur ce fichier autocad, j'ai déja une quinzaine de présentation pour les plans d'ensemble (formats de A0 à A1) ajourer à ça 3 carnets de détail d'une 50taine de A4, ça fait avec ta méthode 186 onglets de présentation...

outre le fait que ça alourdi un peu un fichier déjà au bord de l'apoplexie, sélectionner les onglets pour sortir un carnet en utilisant "publier" n'est tout simplement pas évident.(et moins rapide en temps machine)

 

je ne doute pas que pour nombre de personne ton superbe code fera bien l'affaire, mais pour les bétonneux ce n'est pas adapté.

 

ma méthode bien qu'automatisée est un peu plus laborieuse. on sort les feuilles une à une en pdf dans le fichier "temp", puis on les assemble avec pdfsam, et enfin on imprime avec le pdf reader toutes les pages avec aucun ajustement de l'echele, mais au bout du compte c moins contraignant (et de toute façon j'ai besoin du Pdf du carnet pour des question d'archivage et envoie par mail)

 

alors je poste pas dans le sujet "Pour info, le code finalisé (?) à été mis ici." car ce code est bon, mais je persiste a croire que le sujet reste ouvert, il y a encore a creuser sur l'impression des gros carnets de détail, et je ne suis pas persuadé que la piste des onglets de présentation soit adapté aux gros fichiers...

 

le code de lovcraft est sans doute améliorable, (on pourrai imaginer une boite de dialogue pour choisir l'imprimante,l'echelle ou ajusté, le fichier de plumes, le répertoire de destination ext...) mais il me semble plus adapté car justement il ne crée pas de présentation (le titre du sujet etait justement "Impression de feuillets à partir de l'EO")

 

bred, ya rien pour toi, c la piste que tu as choisi d'explorer qui me parait pas la meilleure :)

 

 

Posté(e)

Salut x_all,

bred, ya rien pour toi, c la piste que tu as choisi d'explorer qui me parait pas la meilleure

Ce n'est pas moi qui ai choisi cette piste, c'est en fait BIGC-ROMU qui est revenu sur sa demande Réponse 10 page 1.

 

Pour une impression à partir de EO, j'avais un code en réponse 23, page 1, peut-être celui-ci te conviendras mieux ?

Fais le moi savoir !

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

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é