curt Posté(e) le 17 août 2009 Posté(e) le 17 août 2009 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
Steven Posté(e) le 17 août 2009 Posté(e) le 17 août 2009 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.
curt Posté(e) le 19 août 2009 Auteur Posté(e) le 19 août 2009 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
Patrick_35 Posté(e) le 19 août 2009 Posté(e) le 19 août 2009 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 8Correction suivant réponse 10 @+ [Edité le 21/8/2009 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
curt Posté(e) le 20 août 2009 Auteur Posté(e) le 20 août 2009 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
(gile) Posté(e) le 20 août 2009 Posté(e) le 20 août 2009 Salut, ajoute : (vl-load-com) au début du code. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
curt Posté(e) le 20 août 2009 Auteur Posté(e) le 20 août 2009 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]
lecrabe Posté(e) le 20 août 2009 Posté(e) le 20 août 2009 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 incorrecteet ce sur MAP 2006 / 2008 / 2009 ! Le Decapode Autodesk Expert Elite Team
Patrick_35 Posté(e) le 20 août 2009 Posté(e) le 20 août 2009 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 PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
yusukens82 Posté(e) le 21 août 2009 Posté(e) le 21 août 2009 Salut, pour info ; sous Cad2010 j'ai le même problème que lecrabe (testé après réponse 8)
Patrick_35 Posté(e) le 21 août 2009 Posté(e) le 21 août 2009 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 PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant