GuillaumeJ Posté(e) le 17 juillet 2009 Posté(e) le 17 juillet 2009 bonjour à vous, je suis débutant en macro vba et également en autocad. je suis en train de développer pour un collègue une macro qui fait un zoom étendu d'un plan et ensuite l'imprime en pdf... le seul hic c'est que je n'arrive pas à configurer le code avec le pilote dwg to pdf.pc3 j'ai regardé sur le net et sur les différents forum mais je ne trouve pas ma réponse.si quelqu'un veut bien m'aider. en vous remerciant d'avance. Guillaume [Edité le 17/7/2009 par GuillaumeJ]
solyrics Posté(e) le 17 juillet 2009 Posté(e) le 17 juillet 2009 Bonjour, J'ai le même soucis que toi ! Si tu trouves la solution n'hésite pas à la faire partager... :D Je vais continuer de chercher de mon côté ! Cyril
GuillaumeJ Posté(e) le 17 juillet 2009 Auteur Posté(e) le 17 juillet 2009 pas de probleme, je te tiendrais au courant ... ca fais un mois que je galère mais bon... as tu deja fait un bout de code?
rom1_am Posté(e) le 20 juillet 2009 Posté(e) le 20 juillet 2009 Bonjour, Est-ce que tu as essayé avec : ThisDrawing.ActiveLayout.ConfigName = "...." _______________________________R.A.Développeur AutoCAD C#.netwww.danialu.fr
solyrics Posté(e) le 20 juillet 2009 Posté(e) le 20 juillet 2009 Bonjour, Oui j'ai déjà fait un bout de code... Pour l'instant je recherche dessus : thisdrawing.SendCommand("-traceur " & "oui" & Strings.Chr(10) & Strings.Chr(10) & "DWG To PDF.pc3" & Strings.Chr(10) & etc...) Le soucis, c'est que j'ai une fenetre Windows qui s'ouvre (la fenetre enregistrer sous...) ! du coup pour moi, ca me va pas car je veux que tout soit automatique (sans interaction de l'utilisateur). PS : je suis en vb.net
rom1_am Posté(e) le 20 juillet 2009 Posté(e) le 20 juillet 2009 Il me semble qu'avec cette instruction, l'impression se lance automatiquement. ThisDrawing.Plot.PlotToDevice "DWG To PDF.pc3" _______________________________R.A.Développeur AutoCAD C#.netwww.danialu.fr
GuillaumeJ Posté(e) le 20 juillet 2009 Auteur Posté(e) le 20 juillet 2009 merci pour cette fonction : ThisDrawing.Plot.PlotToDevice "DWG To PDF.pc3" mon bout de code utilise deja cette fonction... quand je lance la macro, un message apparait : "tracé et publication terminés" mais je n'ai pas de fichier PDF enregisté quelque part !!! alors si vous avez des idées, je suis preneur.... en vous remerciant d'avance et merci de m'aider Guillaume
solyrics Posté(e) le 20 juillet 2009 Posté(e) le 20 juillet 2009 Dim AutoCAD As New AcadApplication Dim thisdrawing As AcadDocument AutoCAD.Visible = False Dim Print1 As String 'Variable identifiant le nom de l'imprimante Print1 = "DWG To PDF.pc3" thisdrawing = AutoCAD.Documents.Open(fichier_autocad, False, True) ThisDrawing.ActiveLayout.ConfigName = Print1 thisdrawing.ActiveLayout.StyleSheet = "Alfalaval.ctb" thisdrawing.ActiveLayout.PaperUnits = _ Autodesk.AutoCAD.Interop.Common.AcPlotPaperUnits.acMillimeters thisdrawing.ActiveLayout.StandardScale = _ Autodesk.AutoCAD.Interop.Common.AcPlotScale.acScaleToFit ThisDrawing.ActiveLayout.CenterPlot = True thisdrawing.ActiveLayout.PlotType = _ Autodesk.AutoCAD.Interop.Common.AcPlotType.acExtents ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo() thisdrawing.SetVariable("BACKGROUNDPLOT", 0) ' thisdrawing.Plot.PlotToDevice(Print1) thisdrawing.SetVariable("BACKGROUNDPLOT", 2) ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo() thisdrawing.Save() 'je sauvegarde avant de quitter pour ne pas avoir le message "voulez-vous enregistrez avant de quitter ?' AutoCAD.Quit() Ca fonctionne chez moi et m'enregistre dans le répertoire courant du fichier
solyrics Posté(e) le 22 juillet 2009 Posté(e) le 22 juillet 2009 Bonjour, J'ai une autre question : Actuellement, j'utilise ce code pour mon format de sortie de PDF Dim Paper1 As String Paper1 = "ISO_A3_(297.00_x_420.00_MM)"thisdrawing.ActiveLayout.CanonicalMediaName = paper1 Est-il possible de récupérer le format choisie par l'utilisateur pour son dessin ? Car si je ne mets rien, ca me prends le dernier format de sortie !
GuillaumeJ Posté(e) le 22 juillet 2009 Auteur Posté(e) le 22 juillet 2009 Merci de ton code Solyrics, je m'en suis inspiré pour créer le mien...car ton code ne fonctionnait comme tel. je suis sur autocad electrical 2008. ma macro ouvre un fichier, fait un zoom étendu et l'imprime en pdf. pour ta question, je ne peux pas te répondre, je ne suis pas assez caler sur vba autocad merci en tout cas à tout le monde de m'avoir aidé.... Guillaume Dim Layout As AcadLayoutDim fichier As StringDim AutoCAD As New AcadApplicationDim Print1 As String 'Variable identifiant le nom de l 'imprimanteDim Paper1 As String 'Variable identifiant le nom du format de papierDim DWGName As StringDim activeStatus As StringDim Drawing As AcadDocument Sub Zoom_etendu() Paper1 = "DWG To PDF.pc3" 'déclaration de l'imprimantefichier = "c:\testautocad\Grille de révision.dwg"ThisDrawing.Application.Documents.Open fichier 'se met en espace papierThisDrawing.ActiveSpace = acPaperSpaceSet pspace = ThisDrawing.PaperSpace ' fait un zoom etendu dans la fenetre activeThisDrawing.Application.ZoomExtents 'configuration de l'impressionThisDrawing.ActiveLayout.PaperUnits = AcPlotPaperUnits.acMillimetersThisDrawing.ActiveLayout.StandardScale = AcPlotScale.acScaleToFitThisDrawing.ActiveLayout.PlotType = AcPlotType.acExtentsThisDrawing.ActiveLayout.RefreshPlotDeviceInfoThisDrawing.Plot.PlotToDevice Paper1 End Sub
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