Aller au contenu

Imprimer des Vues depuis l\'espace papier


Messages recommandés

Posté(e)

Bonjour à tous,

 

1/ j'ai posté une question qui a été "largement" résolue... merci à tous.

 

2/ une autre question : J'ai dans un espace papier des vues. Je souhaiterais pouvoir automatiser l'impression de ces vues (par VBA par exemple) plutôt que de lancer imprimer, sélection du nom de la vue... etc...

 

Quelqu'un a t'il déjà réaliser une macro en ce sens (ou un lisp) ? Malgré des recherches sur le net, je n'ai rien trouvé permettant celà.

 

Bonne journée à tous.

Curt

Posté(e)

Salut,

 

As-tu regardé al commande Publier?

 

Menu déroulant Fichier > Publier

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Bonjour Steven,

 

merci pour la réponse, mais ça ne correspond pas à ce que je veux faire.

Rappel : J'ai plusieurs onglets Espace Papier qui me permettent d'imprimer des zones d'un grand ensemble de bâtiments. Dans cet ensemble de bâtiments, j'ai des passerelles que j'ai regroupé dans UN SEUL onglet Espace Papier qui contient autant de VUES qu'il y a de passerelles. Cet onglet est à lui seul (avec les vues) un document comportant la page de garde, révision, et les feuilles successives. Voilà pourquoi je souhaite pouvoir imprimer ces vues pour avoir mon document PASSERELLE en une seule opération.

 

La configuration des onglets et des calques n'est pas modifiable (volonté du client).

L'idée que j'avais : puisqu'on sait imprimer les vues manuellement, une par une, est-il possible de faire une macro qui permettrait de lister toutes les vues de l'onglet et de lancer l'impression de cette liste.

 

Dans le pire des cas, sais-tu comment récupérer en VBA le nom des vues d'un onglet ? Je m'occuperais de faire la macro.

 

Merci pour l'aide.

Curt

Posté(e)

Salut

 

Un lisp vite fait

 

Il faut que la présentation soit correctement configurée pour que le lisp marche (traceur, plumes, etc...)

 

(defun c:impf(/ bg doc fen hd lay plt pt1 pt2 sau)
 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object))
lay (vla-get-activelayout doc)
plt (vla-get-plot doc)
pt1 (vlax-make-safearray vlax-vbdouble (cons 0 1))
pt2 (vlax-make-safearray vlax-vbdouble (cons 0 1))
 )
;  (vla-refreshplotdeviceinfo lay)
 (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-configname (list lay (vla-get-configname lay))))
   (alert (strcat "Le traceur " (vla-get-configname lay) " est inconnu."))
   (vlax-for fen (vla-get-block lay)
     (if sau
(if (eq (vla-get-objectname fen) "AcDbViewport")
  (progn
    (vla-getboundingbox fen 'bg 'hd)
    (setq bg  (vlax-safearray->list bg)
	  hd  (vlax-safearray->list hd)
    )
    (vlax-safearray-fill pt1 (list (car bg) (cadr bg)))
    (vlax-safearray-fill pt2 (list (car hd) (cadr hd)))
    (vla-setwindowtoplot lay (vlax-make-variant pt1) (vlax-make-variant pt2))
    (vla-put-plottype lay acwindow)
    (vlax-invoke plt 'plottodevice)
  )
)
(setq sau T)
     )
   )
 )
 (princ)
)

 

Correction suivant réponse 8

Correction suivant réponse 10

 

@+

 

[Edité le 21/8/2009 par Patrick_35]

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Bonjour Patrick_35,

 

merci pour le Lisp.

Au lancement j'ai le message

; erreur: no function definition: VLAX-GET-ACAD-OBJECT 

 

N'étant pas du tout dans Lisp (c'est pour ça que je pensais au VBA), je ne vois pas comment résoudre cette erreur.

 

Merci pour l'aide.

Curt

Posté(e)

Bonjour à tous,

 

j'ai à présent l'erreur

; erreur: Erreur Automation Entrée incorrecte 

 

J'ai mis la ligne ici :

 (defun c:impf(/ bg doc fen hd lay plt pt1 pt2 sau)
(vl-load-com)

 

Encore besoin d'un peu d'aide....

 

Merci

 

[Edité le 20/8/2009 par curt]

Posté(e)

 

Hello

 

En effet dans l'espace Objet, rien ne se passe mais c sans doute normal !?

 

Et dans une présentation (correctement configurée pour tracer en DWF6ePlot)

on obtient l'erreur : ; erreur: Erreur Automation Entrée incorrecte

et ce sur MAP 2006 / 2008 / 2009 !

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

Bonjour

 

C'est surprenant que cela ne fonctionne pas.

Peut-être un problème d'initialisation du traceur.

C'est corrigée dans le lisp.

 

lecrabe : le lisp fonctionne qu'en ep, fait une impression de toutes les fenêtres (viewport) de la présentation active.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Ok

 

J'ai compris l'origine du problème.

Il faut d’abord définir la fenêtre puis dire au traceur que l'on utilise une fenêtre et non le contraire.

Ce qui est surprenant, c'est que cela fonctionne correctement sur d'autres dessins.

Les mystères d'autocad ;)

 

C'est corrigé dans le lisp

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é